$ ORACLE_SID=ORCLCDB sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sat Mar 19 14:36:24 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>
念のため、CDBに接続出来ていることを確認しましょう。
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL>
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
SQL>
PDB1に切り替えます。
SQL> alter session set container=pdb1;
Session altered.
SQL>
PDB1に切り替わったことを確認します。
SQL> show con_name
CON_NAME
------------------------------
PDB1
SQL>
SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
ローカルユーザーを作成する
今度はPDBADMINユーザーでPDB1へログインします。
$ sqlplus pdbadmin/oracle@pdb1
SQL*Plus: Release 19.0.0.0.0 - Production on Sat Mar 19 15:09:27 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Last Successful login time: Sat Mar 19 2022 13:56:08 +00:00
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL>
くどいようですが、念のためPDB1に接続していることを確認します。
SQL> show con_name
CON_NAME
------------------------------
PDB1
SQL>
SQL> GRANT RESOURCE TO user01
2 /
Grant succeeded.
SQL> GRANT CREATE SESSION TO user01
2 /
Grant succeeded.
SQL> GRANT UNLIMITED TABLESPACE TO user01
2 /
Grant succeeded.
SQL>
ロール、権限が付与されているか確認します。
SQL> SELECT GRANTEE, GRANTED_ROLE, ADMIN_OPTION
2 FROM SYS.DBA_ROLE_PRIVS
3 WHERE GRANTEE = 'USER01'
4 /
GRANTEE GRANTED_ROLE ADM
------- ------------ ---
USER01 RESOURCE NO
SQL> SELECT GRANTEE, PRIVILEGE, ADMIN_OPTION
2 FROM SYS.DBA_SYS_PRIVS
3 WHERE GRANTEE = 'USER01'
4 /
GRANTE PRIVILEGE ADM
------ ---------------------------------------- ---
USER01 UNLIMITED TABLESPACE NO
USER01 CREATE SESSION NO
SQL>
意図したとおりに設定できていることが確認できました。
動作確認を行う
user01ユーザーが使用可能か確認するために、一度切断します。
SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
user01ユーザーでログインしてみます。
$ sqlplus user01/password@PDB1
SQL*Plus: Release 19.0.0.0.0 - Production on Sat Mar 19 15:28:15 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Last Successful login time: Sat Mar 19 2022 15:27:20 +00:00
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL>