Total System Global Area 1610609928 bytes Fixed Size 9135368 bytes Variable Size 419430400 bytes Database Buffers 1174405120 bytes Redo Buffers 7639040 bytes Database mounted. SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
System altered.
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
System altered.
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
System altered.
SQL> ALTER DATABASE OPEN;
Database altered.
SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE WE8ISO8859P1;
$ vi mksample.sql Rem Rem $Header: rdbms/demo/schema/mksample.sql.sbs /main/12 2015/03/19 10:23:26 smtaylor Exp $ Rem Rem mksample.sql ...... ...... ......
PROMPT specify password for SYSTEM as parameter 1: DEFINE password_system = &1 PROMPT PROMPT specify password for SYS as parameter 2: DEFINE password_sys = &2 PROMPT PROMPT specify password for HR as parameter 3: DEFINE password_hr = &3 PROMPT PROMPT specify password for OE as parameter 4: DEFINE password_oe = &4 PROMPT PROMPT specify password for PM as parameter 5: DEFINE password_pm = &5 PROMPT PROMPT specify password for IX as parameter 6: DEFINE password_ix = &6 PROMPT PROMPT specify password for SH as parameter 7: DEFINE password_sh = &7 PROMPT PROMPT specify password for BI as parameter 8: DEFINE password_bi = &8 PROMPT PROMPT specify default tablespace as parameter 9: DEFINE default_ts = &9 PROMPT PROMPT specify temporary tablespace as parameter 10: DEFINE temp_ts = &10 PROMPT PROMPT specify log file directory (including trailing delimiter) as parameter 11: DEFINE logfile_dir = &11 PROMPT PROMPT specify connect string as parameter 12: DEFINE connect_string = &12 PROMPT
mksample.sql 파일 수정
스크립트를 수행하면 샘플 유저를 생성하는 과정에서 ORA-65096: invalid common user or role name 에러가 발생합니다 .
에러 발생을 막기 위해 ALTER SESSION SET "_ORACLE_SCRIPT"=true; 적용하겠습니다.
mksample.sql 스크립트중 CONNECT system/&&password_system@&&connect_string 구문 밑에 ALTER SESSION SET "_ORACLE_SCRIPT"=true; 를 추가합니다.
SQL> create user hr identified by hr; create user hr identified by hr * ERROR at line 1: ORA-65096: invalid common user or role name
mksample.sql 실행
SQL> @/opt/oracle/oradata/db-sample-schemas/mksample.sql oracle oracle hr oe pm ix sh bi users temp /opt/oracle/oradata/db-sample-schemas/logs/ ora19c
specify password for SYSTEM as parameter 1:
specify password for SYS as parameter 2:
specify password for HR as parameter 3:
specify password for OE as parameter 4:
specify password for PM as parameter 5:
specify password for IX as parameter 6:
specify password for SH as parameter 7:
specify password for BI as parameter 8:
specify default tablespace as parameter 9:
specify temporary tablespace as parameter 10:
specify log file directory (including trailing delimiter) as parameter 11:
db-sample-schemas/logs]$ ll 합계 172 drwxr-xr-x 2 54321 54321 4096 3월 23 19:53 . drwxrwxrwx 12 oracle-docker oracle-docker 4096 3월 23 20:27 .. -rw-r--r-- 1 54321 54321 6284 3월 23 19:53 bi_v3.log -rw-r--r-- 1 54321 54321 2075 3월 23 19:53 chan_v3.log -rw-r--r-- 1 54321 54321 2318 3월 23 19:53 coun_v3.log -rw-r--r-- 1 54321 54321 3558 3월 23 19:53 cust1v3.log -rw-r--r-- 1 54321 54321 2751 3월 23 19:53 dem1v3.log -rw-r--r-- 1 54321 54321 2622 3월 23 19:53 dmsal_v3.log -rw-r--r-- 1 54321 54321 5508 3월 23 19:53 ext_1v3.log -rw-r--r-- 1 54321 54321 6199 3월 23 19:52 hr_main.log -rw-r--r-- 1 54321 54321 7038 3월 23 19:53 ix_v3.log -rw-r--r-- 1 54321 54321 59687 3월 23 19:53 mkverify_v3.log -rw-r--r-- 1 54321 54321 5985 3월 23 19:52 oe_oc_v3.log -rw-r--r-- 1 54321 54321 599 3월 23 19:53 pm_main.log -rw-r--r-- 1 54321 54321 5119 3월 23 19:53 pm_p_lob.log -rw-r--r-- 1 54321 54321 3616 3월 23 19:53 prod1v3.log -rw-r--r-- 1 54321 54321 2667 3월 23 19:53 prom1v3.log -rw-r--r-- 1 54321 54321 3104 3월 23 19:53 sale1v3.log -rw-r--r-- 1 54321 54321 6049 3월 23 19:53 sh_v3.log -rw-r--r-- 1 54321 54321 4743 3월 23 19:53 time_v3.log
mkverify_v3.log
The Customer Orders(CO) schema 스크립트 수행
mksample 에서는 co 생성 스크립트가 포함되어 있지 않습니다.
별도 스크립트로 수행해야 테스트 샘플 스키마가 생성 되게 됩니다.
수행 파일은 db-sample-schemas/customer_orders/co_main.sql 입니다.
SQL> @co_main Enter value for 1: co Enter value for 2: orclcdb Enter value for 3: users Enter value for 4: temp Dropping user drop user co * ERROR at line 1: ORA-01918: user 'CO' does not exist
Creating user
Grant succeeded.
User altered.
User altered.
Connected. Running DDL Creating tables, constraints and views for Customer Orders Creating tables
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 20-MAR-2022 13:34:19
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))) The command completed successfully [oracle@01a4f713764f ~]$ lsnrctl stop
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 20-MAR-2022 13:34:23
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))) TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener Linux Error: 2: No such file or directory Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=0.0.0.0)(PORT=1521))) TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener Linux Error: 111: Connection refused [oracle@01a4f713764f ~]$ lsnrctl start
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 20-MAR-2022 13:34:36
Copyright (c) 1991, 2019, Oracle. All rights reserved.
TNSLSNR for Linux: Version 19.0.0.0.0 - Production System parameter file is /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora Log messages written to /opt/oracle/diag/tnslsnr/01a4f713764f/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production Start Date 20-MAR-2022 13:34:37 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora Listener Log File /opt/oracle/diag/tnslsnr/01a4f713764f/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521))) Services Summary... Service "ORCLCDB" has 1 instance(s). Instance "ORCLCDB", status UNKNOWN, has 1 handler(s) for this service... Service "ORCLPDB1" has 1 instance(s). Instance "ORCLPDB1", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully
리스너 상태 확인
[oracle@01a4f713764f ~]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 20-MAR-2022 13:35:44
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production Start Date 20-MAR-2022 13:34:37 Uptime 0 days 0 hr. 1 min. 7 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora Listener Log File /opt/oracle/diag/tnslsnr/01a4f713764f/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=01a4f713764f)(PORT=5500))(Security=(my_wallet_directory=/opt/oracle/admin/ORCLCDB/xdb_wallet))(Presentation=HTTP)(Session=RAW)) Services Summary... Service "ORCLCDB" has 2 instance(s). Instance "ORCLCDB", status UNKNOWN, has 1 handler(s) for this service... Instance "ORCLCDB", status READY, has 1 handler(s) for this service... Service "ORCLCDBXDB" has 1 instance(s). Instance "ORCLCDB", status READY, has 1 handler(s) for this service... Service "ORCLPDB1" has 2 instance(s). Instance "ORCLCDB", status READY, has 1 handler(s) for this service... Instance "ORCLPDB1", status UNKNOWN, has 1 handler(s) for this service... Service "da8f3910a1110e42e053020012ac8b77" has 1 instance(s). Instance "ORCLCDB", status READY, has 1 handler(s) for this service... The command completed successfully [oracle@01a4f713764f ~]$
sqlplus 접속 확인
[oracle@01a4f713764f ~]$ sqlplus sys/oracle@ora19c as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sun Mar 20 13:37:44 2022 Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0
TNSLSNR for Linux: Version 19.0.0.0.0 - Production System parameter file is /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora Log messages written to /opt/oracle/diag/tnslsnr/4235c03b5d12/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production Start Date 23-FEB-2022 04:49:38 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora Listener Log File /opt/oracle/diag/tnslsnr/4235c03b5d12/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521))) The listener supports no services The command completed successfully [WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards. CAUSE: a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. b.The password entered is a keyword that Oracle does not recommend to be used as password ACTION: Specify a strong password. If required refer Oracle documentation for guidelines. [WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards. CAUSE: a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. b.The password entered is a keyword that Oracle does not recommend to be used as password ACTION: Specify a strong password. If required refer Oracle documentation for guidelines. [WARNING] [DBT-06208] The 'PDBADMIN' password entered does not conform to the Oracle recommended standards. CAUSE: a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. b.The password entered is a keyword that Oracle does not recommend to be used as password ACTION: Specify a strong password. If required refer Oracle documentation for guidelines. Prepare for db operation 중략....................... Completing Database Creation 51% complete 54% complete Creating Pluggable Databases 58% complete 77% complete Executing Post Configuration Actions 100% complete Database creation complete. For details check the logfiles at: /opt/oracle/cfgtoollogs/dbca/ORCLCDB. Database Information: Global Database Name:ORCLCDB System Identifier(SID):ORCLCDB Look at the log file "/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log" for further details.
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Feb 23 05:05:33 2022 Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0
SQL> System altered.
SQL> System altered.
SQL> Pluggable database altered.
SQL> PL/SQL procedure successfully completed.
SQL> SQL> Session altered.
SQL> User created.
SQL> Grant succeeded.
SQL> Grant succeeded.
SQL> Grant succeeded.
SQL> User altered.
SQL> SQL> Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 The Oracle base remains unchanged with value /opt/oracle The Oracle base remains unchanged with value /opt/oracle ######################### DATABASE IS READY TO USE! ######################### The following output is now a tail of the alert.log: ORCLPDB1(3):ALTER DATABASE DEFAULT TABLESPACE "USERS" ORCLPDB1(3):Completed: ALTER DATABASE DEFAULT TABLESPACE "USERS" 2022-02-23T05:05:33.298695+00:00 ALTER SYSTEM SET control_files='/opt/oracle/oradata/ORCLCDB/control01.ctl' SCOPE=SPFILE; 2022-02-23T05:05:33.303320+00:00 ALTER SYSTEM SET local_listener='' SCOPE=BOTH; ALTER PLUGGABLE DATABASE ORCLPDB1 SAVE STATE Completed: ALTER PLUGGABLE DATABASE ORCLPDB1 SAVE STATE
XDB initialized.
Oracle 접속 및 테스트
$ docker exec -it oracle sqlplus sys/oracle@//localhost:1521/ORCLCDB as sysdba
$ docker exec -it oracle sqlplus sys/oracle@//localhost:1521/ORCLCDB as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Feb 23 08:04:55 2022 Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0
SQL> select * from dual;
D - X
SQL> create table TEST(id number, name varchar(100));
Table created.
SQL> insert into TEST values(1,'test');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from TEST;
ID ---------- NAME -------------------------------------------------------------------------------- 1 test