오라클 데이터베이스 19c 샘플 스키마 생성

오라클 데이터베이스 19c 를 Silent 설치를 할 경우에 대부분 데이터베이스를 생성하고 끝나게 된다. 하지만 오라클은 샘플 스키마를 제공하고 있는데, HR 관련 된 내용의 샘플 스키마를 제공 한다. 이것을 설치해보자.

SQLcl 활용

SQL Plus 에 기능을 더한 SQLcl 를 활용할 것이다. SQLcl 은 $ORACLE_HOME/sqldeveloper/sqldeveloper/bin 디렉토리가 있다. 여기에 sql 스크립트가 존재하는데 이것이 SQLcl 이다.

]$ cd $ORACLE_HOME
]$ cd sqldeveloper/sqldeveloper/bin
]$ chmod +x sql
]$ ./sql 

SQLcl: Release 19.1 Production on Fri Apr 30 23:23:46 2021

Copyright (c) 1982, 2021, Oracle.  All rights reserved.

Username? (''?) sys as sysdba
Password? (**********?) ************
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> set sqlformat ansiconsole;
SQL>

“set sqlformat ansiconsole” 를 할 경우에 결과를 보다 보기 좋게 해준다.

PDB 로 세션 변경

오라클 데이터베이스 19c 의 경우에 CDB, PDB 개념이 존재한다. 실제 사용자 데이터베이스는 PDB 에 생성된다. 세션을 PDB 로 변경해준다.

SQL> select name, open_mode, restricted from v$pdbs;
NAME       OPEN_MODE    RESTRICTED   
PDB$SEED   READ ONLY    NO           
PDB1       READ WRITE   NO

SQL> alter session set container = pdb1;

Session altered.

SQL> select dbid, con_id, name from v$pdbs;
        DBID   CON_ID NAME   
  2824454508        3 PDB1

SQL> show pdbs;
  CON_ID CON_NAME   OPEN MODE    RESTRICTED   
       3 PDB1       READ WRITE   NO

HR 스키마 설치

HR 스키마는 오라클 데이터베이스에 있다. 경로는 다음과 같다.

]$ ls $ORACLE_HOME/demo/schema/human_resources
hr_analz.sql  hr_code.sql  hr_comnt.sql  hr_cre.sql  hr_drop_new.sql  hr_drop.sql  hr_idx.sql  hr_main_new.sql  hr_main.sql  hr_popul.sql

hr_main.sql 를 실행하면 설치가 진행되는데, 사용자들로부터 다음과 같은 값을 입력 받는다.

  • HR 스키마 사용자의 패스워드
  • HR 스키마에 기본 테이블스페이스
  • HR 를 위한 임시 테이블스페이스
  • 로그 경로

기본 테이블스페이스, 임시 테이블스페이스를 만들어도 되지만 pdb1 에 있는 것을 가져다 써도 된다. 테이블스페이스 이름을 알아야 한다.

SQL> select tablespace_name from user_tablespaces;
TABLESPACE_NAME   
SYSTEM            
SYSAUX            
UNDOTBS1          
TEMP              
USERS

USERS 는 기본 테이블스페이스, TEMP 를 임시 테이블스페이스로 사용하면 될 듯 하다. 이제 설치를 해보자.

SQL> @/u01/app/oracle/product/19.3.0/dbhome_1/demo/schema/human_resources/hr_main.sql

specify password for HR as parameter 1:
Enter value for 1: HrPassword1

specify default tablespeace for HR as parameter 2:
Enter value for 2: USERS

specify temporary tablespace for HR as parameter 3:
Enter value for 3: TEMP

specify log path as parameter 4:
Enter value for 4: /u01/app/oracle/product/19.3.0/dbhome_1/demo/schema/log

log 경로는 demo/schema 디렉토리에 log 디렉토리를 활용했다.

hr 계정 패스워드 설정 및 UNLOCK

계정을 생성하면 기본적으로 계정은 LOCKED 상태가 되어서 사용할 수 없다. UNLOCK 을 해줘야 한다.

SQL> ALTER USER hr ACCOUNT UNLOCK;
SQL> ALTER USER hr IDENTIFIED BY HrPassword1;

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다