जांचें कि डेटाबेस सीडीबी है या गैर-सीडीबी है
SQL> v$डेटाबेस से cdb चुनें;CDB---YES
कंटेनर से कनेक्ट हो रहा है
$ निर्यात ORACLE_SID=pcdb01$ sqlplus / as sysdbaSQL> दिखाएँ con_nameCON_NAME----------------------------CDB$ROOTSQL> दिखाएँ con_idCON_ID------------------------------ 1SQL> pdbs दिखाएँ;CON_ID CON_NAME खुला मोड प्रतिबंधित------- ------------------------------------------------ --2 PDB$SEED रीड ओनली NO3 PRD_PDB_CON रीड राइट NO4 PRD_PDB_TEN रीड राइट नो
पीडीबी में नेविगेट करें
एसक्यूएल> चेंज सेशन सेट कंटेनर=पीडीबी$सीड;सेशन चेंज किया गया।एसक्यूएल> चेंज सेशन सेट कंटेनर=पीआरडी_पीडीबी_कॉन;सेशन चेंज किया गया।एसक्यूएल>
पीडीबी के बारे में जानकारी
SQL> COLUMN PDB_NAME FORMAT A15SQL> COLUMN PDB_NAME FORMAT A15SQL> सेलेक्ट PDB_ID, PDB_NAME, STATUS FROM DBA_PDBS ORDER BY PDB_ID;PDB_ID PDB_NAME STATUS---------- ---------- ----- ---------2 PDB$SEED NORMAL3 PRD_PDB_CON NORMAL4 PRD_PDB_TEN NORMAL
पैरामीटर जांचना/बदलना
SQL> v$system_parameter से * चुनें; SQL> PDB_SPFILE$ से * चुनें; SQL> सिस्टम सेट पैरामीटर_नाम =मान बदलें; SQL> सिस्टम सेट पैरामीटर_नाम =मान CONTAINER =CURRENT बदलें;
पीडीबी का स्टार्टअप और शटडाउन
कुछ विशिष्ट मान:
स्टार्टअप [NOMOUNT | माउंट | प्रतिबंधित | उन्नयन | बल | सिफ़ पढ़िये]
शटडाउन [तत्काल | ABORT]
$ निर्यात ORACLE_SID=pcdb01$ sqlplus / as sysdbaSQL> तत्काल शटडाउन;
प्लग करने योग्य डेटाबेस बंद करें
एसक्यूएल> प्लग करने योग्य डेटाबेस को बदलें PRD_PDB_CON बंद करें [तत्काल];एसक्यूएल> प्लग करने योग्य डेटाबेस को बदलें PRD_PDB_CON को छोड़कर सभी बंद करें [तत्काल]; SQL> प्लग करने योग्य डेटाबेस को बदल दें;;
या:
SQL> SESSION SET CONTAINER =PRD_PDB_CON;SQL> तत्काल शटडाउन करें;
प्लग करने योग्य डेटाबेस प्रारंभ करें
स्टार्टअप फोर्स
स्टार्टअप ओपन पढ़ें लिखें [प्रतिबंध]
स्टार्टअप केवल पढ़ने के लिए खुला [प्रतिबंध]
स्टार्टअप अपग्रेड करें
शटडाउन [तत्काल]
SQL> प्लग करने योग्य डेटाबेस को बदलें PDB01 खुला; SQL> प्लग करने योग्य डेटाबेस को बदलें PRD_PDB_CON को छोड़कर सभी खोलें; SQL> प्लग करने योग्य डेटाबेस को बदलें सभी खुले; SQL> प्लग करने योग्य डेटाबेस को बदलें PDB01 खुला [इंस्टेंस =सभी];
या:
एसक्यूएल> चेंज सेशन सेट कंटेनर =पीआरडी_पीडीबी_कॉन;एसक्यूएल> स्टार्टअप;एसक्यूएल> प्लगेबल डेटाबेस में बदलाव करें ओपन रीड ओनली [प्रतिबंधित] [फोर्स];एसक्यूएल> प्लगेबल डेटाबेस को बदलेंओपन अपग्रेड [प्रतिबंधित];एसक्यूएल> प्लगेबल डेटाबेस को बदलें क्लोज [तत्काल];
पीडीबी स्टार्टअप स्थिति को सुरक्षित रखें (12.1.0.2 आगे)
एसक्यूएल> प्लगेबल डाटाबेस को बदलें पीडीबी2 ओपन;एसक्यूएल> प्लगेबल डाटाबेस को बदलें पीडीबी2 सेव स्टेट;
DBA_PDB_SAVED_STATES दृश्य कंटेनरों की सहेजी गई स्थिति के बारे में जानकारी प्रदर्शित करता है।
SQL> COLUMN con_name FORMAT A20SQL> COLUMN instance_name FORMAT A20SQL> सेलेक्ट con_name, instance_name, State FROM dba_pdb_saved_states;CON_NAME INSTANCE_NAME STATE-------------------- --- -----------------------------PRD_PDB_CON pcdb01 खुला
प्लग करने योग्य डेटाबेस का आकार
SQL> COLUMN NAME FORMAT A20SQL> चुनें DBID, NAME, CON_ID, CON_UID, TOTAL_SIZE FROM V$CONTAINERS BY CON_ID;DBID NAME CON_IDCON_UID TOTAL_SIZE-------------------- --------------------------------------------------- --2732069181 CDB$ROOT 1 1 03552543733 PDB$SEED 2 3552543733 7759462404008367944 PRD_PDB_CON 3 4008367944 12037652482667104724 PRD_PDB_TEN 4 2667104724 1182793728
प्लग करने योग्य डेटाबेस का स्टार्टअप समय
एसक्यूएल> सेट लाइनसाइज 180एसक्यूएल> ए30एसक्यूएल के लिए कॉल नेम> ए33एसक्यूएल के लिए कोल ओपन_टाइम> वी$कंटेनर्स से कॉन_आईडी,नाम,डीबीआईडी,ओपन_मोड,ओपन_टाइम चुनें;कॉन_आईडी नाम डीबीआईडी ओपन_मोड ओपन_टाइम---------- - ------------------------------------------------------- --------------------------------- 1 सीडीबी$रूट 456650806 पढ़ें 17-मार्च-18 11.59.36.176 अपराह्न -03 लिखें :002 PDB$SEED 2688102972 केवल 17-मार्च-18 11.59.36.182 अपराह्न -03:003 PDB_PN1O0101 1079206163 पढ़ें 18-MAR-18 12.00.000.589 पूर्वाह्न -03:004 PDB_BATCHWEB 2340495643 पढ़ें 18-MAR-18 12.00.03.485 लिखें पूर्वाह्न -03:004 पंक्तियाँ चुनी गईं।
प्लग करने योग्य डेटाबेस का अपटाइम
एसक्यूएल> सेट लाइनसाइज 180एसक्यूएल> ए30एसक्यूएल के लिए कॉल नेम> ए 28एसक्यूएल के लिए कोल ओपन_टाइम> नाम चुनें, फ्लोर (सिसडेट-कास्ट (ओपन_टाइम एज़ डेट)) || 'डेज़' || फ्लोर ((सिसडेट-कास्ट (ओपन_टाइम एज़) date))-floor(sysdate-cast(open_time as date))*24)||'hours'||round(((sysdate-cast(open_time as date)-floor(sysdate-cast(open_time as date)) *24)-floor((sysdate-cast(open_time as date)-floor(sysdate-cast(open_time as date))*24))*60)||'मिनट्स' "डेटाबेस अपटाइम" v$कंटेनर्स से;NAME डाटाबेस अपटाइम --------------------------- सीडीबी$रूट 1331दिन 11घंटे 28मिनटपीडीबी $SEED 1331दिन 11घंटे 28मिनटPDB_PN1O0101 1331दिन 11घंटे 28मिनटPDB_BATCHWEB 1331दिन 11घंटे 28मिनट4 पंक्तियाँ चयनित।
सेवाओं का नाम
SQL> COLUMN NAME FORMAT A30SQL> CON_ID द्वारा V$सर्विसेज ऑर्डर से NAME,CON_ID,PDB चुनें;NAME CON_ID PDB-------------------------- --------------------------------------पीसीडीबी01एक्सडीबी 1 सीडीबी $ROOTSYS$BACKGROUND 1 CDB$ROOTSYS$USERS 1 CDB$ROOTpcdb01 1 CDB$ROOTprd_pdb_con 3 PRD_PDB_CONprd_pdb_ten 4 PRD_PDB_TEN6 पंक्तियाँ चुनी गईं।
सभी pdbs तक पहुंच के साथ सामान्य उपयोगकर्ता बनाएं
एसक्यूएल> क्रिएट यूजर सी##यूजर1 पासवर्ड द्वारा पहचाना गया1 कंटेनर=सभी;यूजर क्रिएट किया गया।एसक्यूएल> ग्रांट क्रिएट सेशन टू सी##यूजर1 कंटेनर=ऑल;ग्रांट सफल रहा।
पीडीबीएस तक पहुंच के बिना सामान्य उपयोगकर्ता बनाएं
एसक्यूएल> क्रिएट यूजर सी##यूजर2 पासवर्ड द्वारा पहचाना गया1;यूजर क्रिएट किया गया।एसक्यूएल> ग्रांट क्रिएट सेशन टू सी##यूजर2;ग्रांट सफल रहा।
केवल pdb तक पहुंच के साथ स्थानीय उपयोगकर्ता बनाएं
एसक्यूएल> क्रिएट यूजर यूजर3 पासवर्ड द्वारा पहचाना गया 3 कंटेनर =करंट; यूजर क्रिएट किया गया। एसक्यूएल> ग्रांट क्रिएट सेशन टू यूजर 3 कंटेनर =करंट; ग्रांट सफल हुआ।
सामान्य भूमिका बनाएं
SQL> CONN / AS SYSDBASQL> क्रिएट रोल c##role1;रोल क्रिएट किया गया।SQL> ग्रांट क्रिएट सेशन टू c##role1;ग्रांट सफल हुआ।
सामान्य उपयोगकर्ता को भूमिका प्रदान करें
SQL> ग्रांट c##role1 को c##user1 CONTAINER=ALL;ग्रांट सफल हुआ।
एक स्थानीय उपयोगकर्ता को एक सामान्य उपयोगकर्ता की भूमिका प्रदान करें
SQL> SESSION SET CONTAINER =PRD_PDB_CON;Session change.SQL> GRANT c##role1 to user2 को बदलें; ग्रांट सफल हुआ।
स्थानीय भूमिकाएं
SQL> CONN / AS SYSDBASQL> सत्र सेट कंटेनर बदलें =PRD_PDB_CON; सत्र बदल दिया गया। SQL> भूमिका भूमिका 1 बनाएं; भूमिका बनाई गई। SQL> भूमिका 1 को सत्र बनाएं; अनुदान सफल हुआ।पीडीबी बनाना
SQL> प्लग करने योग्य डेटाबेस बनाएं HMLPDB व्यवस्थापक उपयोगकर्ता व्यवस्थापक PassDw1 भूमिकाओं द्वारा पहचाना जाता है =(DBA);SQL> प्लग करने योग्य डेटाबेस बनाएँ DSVPDB व्यवस्थापक उपयोगकर्ता व्यवस्थापक प्रबंधक1भूमिकाओं द्वारा पहचाना जाता है =(DBA) संग्रहण (MAXSIZE 1G) FILE_NAME_CONVERT=('/u01/app /oracle/oradata/pcdb01/pcdb01_pdbseed_','/u01/app/oracle/oradata/dsvpdb/dsvpdb_');SQL> DSVPDB से प्लग करने योग्य डेटाबेस DSVPDB1 बनाएं file_name_convert=('/DSVPDB/','/DSVPDB1/');पीडीबी को छोड़कर
SQL> प्लग करने योग्य डेटाबेस को बदलें DSVPDB1 बंद करें [तत्काल] [इंस्टेंस =सभी]; SQL> डेटाफाइल सहित प्लग करने योग्य डेटाबेस DSVPDB1 ड्रॉप करें;पीडीबी को अनप्लग करना
$ sqlplus / as sysdbaSQL> प्लग करने योग्य डेटाबेस बदलें PRD_PDB_CON बंद करें;SQL> प्लग करने योग्य डेटाबेस बदलें PRD_PDB_CON अनप्लग इन '/tmp/prd_pdb_con.xml';पीडीबी प्लग करना
$ sqlplus / as sysdbaSQL> '/tmp/prd_pdb_con.xml' FILE_NAME_CONVERT=('/oradata/cdb1/prd_pdb_con', '/oradata/cdb2/prd_pdb_con') का उपयोग करके प्लग करने योग्य डेटाबेस PRD_PDB_CON बनाएं; खुला;सीडीबी के साथ Oracle RAC पर सेवाओं को कॉन्फ़िगर करना
$ srvctl सेवा जोड़ें -db CDB01 -service new_service -pdb PRD_PDB_CON$ srvctl सेवा संशोधित करें -db CDB01 -service new_service -pdb PRD_PDB_CON$ srvctl सेवा निकालें -db CDB01 -सेवा new_serviceBEGINDBMS_SERVICE.CREATE_SERV.CREATE_SERV.CREATE_SERV। => 'new_service.com');END;/BEGINDBMS_SERVICE.DELETE_SERVICE(service_name => 'new_service');END;/रूट कंटेनर के साथ, हमारे पास cdb_tablespaces हैं और cdb_data_files सीडीबी में सभी कंटेनर के टेबलस्पेस और डेटाफाइल्स को दिखाता है।
PDB से कनेक्ट होने पर, cdb_tablespaces और cdb_data_files PDB के लिए dba_tablespaces, dba_data_files जैसी ही जानकारी दिखाते हैं।
एसक्यूएल> चेंज सेशन सेट कंटेनर=सीडीबी$रूट;सेशन चेंज किया गया।एसक्यूएल> टेबलस्पेस_नाम का चयन करें, con_id cdb_tablespaces ऑर्डर से con_id;TABLESPACE_NAME CON_ID------------------- ----------- -------- सिस्टम 1SYSAUX 1UNDOTBS2 1TEMP 1USERS 1UNDOTBS1 1SYSTEM 3SYSAUX 3TBS_GEN_01 3TEMP 3TBS_CON_IDX_01 3TBS_CON_DT_01 3USERS 3SYSTEM 4SYSAUX 4TBS_GEN_01 4USERS 4USERS 4USERS 4USERS 4LESPP से SQLTEM स्पेस का चयन करें। -----------------------------SYSTEMSYSAUXUNDOTBS1TEMPUSERSUNDOTBS26 पंक्तियाँ चुनी गईं।12.2 में स्थानीय पूर्ववत सुविधा की जांच कैसे करें
Oracle डेटाबेस 12c रिलीज़ 1 में एक उदाहरण में सभी कंटेनरों ने समान पूर्ववत तालिका स्थान साझा किया है।
Oracle 12c रिलीज़ 2 में प्रत्येक कंटेनर एक उदाहरण में अपने स्वयं के पूर्ववत टेबलस्पेस का उपयोग कर सकता है।
एसक्यूएल>शटडाउन तत्काल;एसक्यूएल>स्टार्टअप अपग्रेड;एसक्यूएल>डेटाबेस को स्थानीय पूर्ववत करें;एसक्यूएल>शटडाउन तत्काल;एसक्यूएल>स्टार्टअप;एसक्यूएल>कॉल प्रॉपर्टी_नाम फॉर्मेट ए30एसक्यूएल>कॉल प्रॉपर्टी_वैल्यू फॉर्मेट ए30एसक्यूएल> डेटाबेस_प्रॉपर्टीज से प्रॉपर्टी_नाम, प्रॉपर्टी_वैल्यू का चयन करें जहां property_name ='LOCAL_UNDO_ENABLED';PROPERTY_NAME PROPERTY_VALUE---------------------------- LOCAL_UNDO_ENABLED TRUEसंदर्भ
https://docs.oracle.com