오늘은 macOS 환경에서 Docker를 이용해 Oracle 19c를 설치하고, 샘플 스키마(Sample Schema) 중 하나인 SH(Sales History) 스키마를 생성하는 과정을 자세히 알아보겠습니다.
먼저, Docker를 사용해 Oracle 19c 컨테이너를 실행합니다.
Docker 이미지 다운로드:
Oracle Database 이미지를 Docker Hub에서 가져옵니다. (Oracle의 공식 이미지를 사용하려면 계정이 필요할 수 있습니다.)
docker pull container-registry.oracle.com/database/enterprise:19.3.0.0
컨테이너 실행:
Docker 컨테이너를 생성하고 실행합니다.
docker run -d --name oracle-19c -p 1521:1521 -p 5500:5500 --env ORACLE_PWD=YourPassword container-registry.oracle.com/database/enterprise:19.3.0.0
컨테이너 상태 확인:
컨테이너가 정상적으로 실행 중인지 확인합니다.
docker ps
Oracle에서 제공하는 샘플 스키마 파일을 사용합니다. 여기서는 Sales History(SH) 스키마를 설치해 보겠습니다.
샘플 스키마 다운로드:
Oracle 공식 GitHub에서 샘플 스키마 파일을 다운로드합니다.
git clone https://github.com/oracle/db-sample-schemas.git
다운로드된 디렉토리는 예를 들어 /Users/minsungkim/Downloads/db-sample-schemas-19c에 저장됩니다.
샘플 스키마 파일 컨테이너로 복사:
docker cp 명령어를 사용해 로컬 파일을 Docker 컨테이너 내부로 복사합니다.
docker cp /Users/minsungkim/Downloads/db-sample-schemas-19c/sales_history oracle-19c:/opt/oracle/product/19c/dbhome_1/demo/schema
컨테이너 내부의 Oracle DB에 접속해 샘플 스키마 설치를 진행합니다.
SQL*Plus 접속:
컨테이너에 접속 후 SQL*Plus를 실행합니다.
docker exec -it oracle-19c sqlplus / as sysdba
세션 설정:
스키마 설치 스크립트를 실행하려면 _ORACLE_SCRIPT를 활성화해야 합니다.
ALTER SESSION SET "_ORACLE_SCRIPT" = true;
이제 샘플 스키마의 설치 스크립트를 실행합니다.
설치 스크립트 실행:
아래 명령어를 차례로 입력합니다.
@?/demo/schema/sales_history/sh_install.sql
@?/demo/schema/sales_history/sh_create.sql
설치 확인:
SH 스키마가 성공적으로 생성되었는지 확인하려면 다음 명령어를 사용해 테이블 목록을 확인합니다.
SELECT table_name FROM all_tables WHERE owner = 'SH';