همانطور که می دانید، با اجرای دستور “sqlplus “/as sysdba در محیط container database، به صورت پیش فرض به root container متصل خواهیم شد:
[oracle@OL7 ~]$ sqlplus “/as sysdba”
SQL*Plus: Release 18.0.0.0.0 – Production on Sun Sep 13 15:52:16 2020
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 – Production
Version 18.5.0.0.0
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
———- —————————— ———- ———-
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
4 PDB2 READ WRITE NO
SQL> show con_id
CON_ID
——————————
1
همانطور که مشاهده می کنید، بدون اطلاع از پسورد کاربر دارای مجوز sysdba، می توان به root container متصل شد این مسئله برای pdb ها صادق نیست و برای اتصال به این نوع از containerها باید از کاربر مطلع بود:
[oracle@OL7 ~]$ sqlplus sys/a@192.168.140.10:1521/PDB1 as sysdba
SQL*Plus: Release 18.0.0.0.0 – Production on Sun Sep 13 15:52:41 2020
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 – Production
Version 18.5.0.0.0
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
———- —————————— ———- ———-
3 PDB1 READ WRITE NO
البته بدیهی است که این شیوه اتصال، نیازمند اجرای سرویس listener است و در صورت توقف این سرویس، امکان اتصال هم از بین خواهد رفت:
[oracle@OL7 ~]$ lsnrctl stop
LSNRCTL for Linux: Version 18.0.0.0.0 – Production on 13-SEP-2020 15:53:33
Copyright (c) 1991, 2018, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=OL7)(PORT=1521)))
The command completed successfully
[oracle@OL7 ~]$ sqlplus sys/a@192.168.140.10:1521/PDB1 as sysdba
SQL*Plus: Release 18.0.0.0.0 – Production on Sun Sep 13 15:53:35 2020
Version 18.5.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
ERROR:
ORA-12541: TNS:no listener
در اوراکل نسخه 19.7RU، متغیری به نام ORACLE_PDB_SID ارائه شد که مشکل ذکر شده را برطرف خواهد کرد به این صورت که با تنظیم مقدار این پارامتر به اسم یکی از PDBها، دستور “sqlplus “/as sysdba ما را به ان PDB متصل خواهد کرد:
[oracle@ol7 ~]$ export ORACLE_PDB_SID=pdb
[oracle@ol7 ~]$ sqlplus “/as sysdba”
SQL*Plus: Release 19.0.0.0.0 – Production on Sun Sep 13 07:17:14 2020
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production
Version 19.8.0.0.0
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
———- —————————— ———- ———-
3 PDB READ WRITE NO
SQL> show con_id
CON_ID
——————————
3