Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle 12c मल्टीटेनेंट का मूल प्रशासन

जांचें कि डेटाबेस सीडीबी है या गैर-सीडीबी है

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle डेटाबेस में NLS पैरामीटर्स के मानों की जाँच कैसे करें

  2. उदाहरण के साथ Oracle में अद्वितीय कुंजी

  3. Oracle SQL में एक सबक्वेरी के साथ डेटा अपडेट करने के 5 तरीके

  4. Oracle डेटाबेस के साथ Oracle JDeveloper 12c का उपयोग करना, भाग 1

  5. सी # में एकल ओरेकल कमांड में एकाधिक प्रश्नों को निष्पादित करें