आपने अपने डेटाबेस को कैसे कॉन्फ़िगर किया? क्या आपने Pluggable database . के विकल्प की जांच की? ? यदि हाँ, तो कृपया सुनिश्चित करें कि आपने PDB में लॉगिन किया है और नहीं CDB ।
कृपया पढ़ें Oracle 12c पोस्ट इंस्टालेशन अनिवार्य कदम ।
डिफ़ॉल्ट रूप से, pre-installed उपयोगकर्ता पसंद करते हैं SCOTT , HR आदि container database में रहता है और Pluggable database में नहीं ।
tnsnames.ora
PDB विवरण जोड़ने के लिए अपनी tnsnames.ora फ़ाइल संपादित करें। उदाहरण के लिए,
PDBORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdborcl)
)
)
सभी पीडीबी खोलें
लॉगऑन के तुरंत बाद सभी/विशिष्ट पीडीबी खोलने के लिए, स्टार्टअप के बाद . बनाएं सीडीबी में सिस्टम स्तरीय ट्रिगर।
चूंकि, सीडीबी प्रारंभ के माध्यम से पीडीबी खुले नहीं हैं। आइए देखें:
SHUTDOWN IMMEDIATE;
STARTUP;
SQL> SELECT name, open_mode FROM v$pdbs;
NAME OPEN_MODE
------------------------------ ----------
PDB$SEED READ ONLY
PDBP6 MOUNTED
तो, सभी पीडीबी स्वचालित रूप से खोलने के लिए, यह करें:
करें, “SQLPLUS / AS SYSDBA ”, और फिर निष्पादित करें:
CREATE OR REPLACE TRIGGER open_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';
END open_pdbs;
/
यह सीडीबी में आफ्टर स्टार्टअप सिस्टम लेवल ट्रिगर बनाता है।
SQLPLUS / AS SYSDBA
सबसे आम गलतफहमी "SQLPLUS / AS SYSDBA" के उपयोग के बारे में है।
चूंकि हमने एकल सीडीबी . बनाने के विकल्प की जांच की है , "SQLPLUS / AS SYSDBA" कमांड हमेशा CDB में लॉग इन करेगा। आमतौर पर डेवलपर्स SYSDBA के रूप में लॉग इन करने के बाद सीधे "SCOTT" खाते को अनलॉक करते थे। लेकिन ये रही तरकीब :
“SCOTT” और अन्य नमूना स्कीमा PDB में हैं और CDB में नहीं हैं . तो, आपको PDB में sysdba के रूप में लॉगिन करना होगा।
sqlplus SYS/example@sqldat.com AS SYSDBA
SQL> ALTER USER scott ACCOUNT UNLOCK IDENTIFIED BY tiger;
sqlplus scott/example@sqldat.com
SQL> show user;
USER is "SCOTT"