आपने अपने डेटाबेस को कैसे कॉन्फ़िगर किया? क्या आपने 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/[email protected] AS SYSDBA
SQL> ALTER USER scott ACCOUNT UNLOCK IDENTIFIED BY tiger;
sqlplus scott/[email protected]
SQL> show user;
USER is "SCOTT"