Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> डेटाबेस

लिगेसी नॉन-कंटेनर Oracle डेटाबेस को मल्टीटेनेंट CDB में बदलना

टेस्ट केस सेटअप

यह टेस्ट परिदृश्य एक नॉन-CDB डेटाबेस इंस्टेंस, noncdb12c, से शुरू होता है, जो मशीन ABC123.xyz.com पर चल रहा है। कार्य उसी मशीन पर एक CDB डेटाबेस, cdb12c, बनाना है। आपको यह सुनिश्चित करना होगा कि परिवर्तित CDB डेटाबेस को रखने के लिए पर्याप्त डिस्क स्थान है।

रूपांतरण टेस्ट

नॉन-CDB डेटाबेस को CDB डेटाबेस में बदलने के लिए इस अनुभाग के चरणों का उपयोग करें।

चरण 1: क्लीन शटडाउन करें

  • पर्यावरण को noncdb12c पर सेट करें।
  • निम्नलिखित कमांड निष्पादित करें:
    sqlplus / as sysdba
  • SQL प्रॉम्प्ट पर निम्नलिखित कोड चलाएं:
    shutdown immediate

चरण 2: डेटाबेस को रीड-ओनली के रूप में खोलें

  • पर्यावरण को noncdb12c पर सेट करें।
  • निम्नलिखित कमांड निष्पादित करें:
    sqlplus / as sysdba
  • SQL प्रॉम्प्ट पर निम्नलिखित कोड चलाएं:
    startup mount exclusive
    alter database open read only;

चरण 3: PDB मैनिफेस्ट फ़ाइल जनरेट करें

  • पर्यावरण को noncdb12c पर सेट करें।
  • निम्नलिखित कमांड निष्पादित करें:
    sqlplus / as sysdba
  • SQL प्रॉम्प्ट पर निम्नलिखित कोड चलाएं:
    exec dbms_pdb.describe (pdb_descr_file=>'/tmp/noncdb12c_manifest_file.xml');

चरण 4: नॉन-CDB को शटडाउन करें

  • पर्यावरण को noncdb12c पर सेट करें।
  • निम्नलिखित कमांड निष्पादित करें:
    sqlplus / as sysdba
  • SQL प्रॉम्प्ट पर निम्नलिखित कोड चलाएं:
    shutdown immediate

चरण 5: CDB शुरू करें

  • पर्यावरण को cdb12c पर सेट करें।
  • निम्नलिखित कमांड निष्पादित करें:
    sqlplus / as sysdba
  • SQL प्रॉम्प्ट पर निम्नलिखित कोड चलाएं:
    startup
    SET SERVEROUTPUT ON;
    DECLARE
    Compatible CONSTANT VARCHAR2(3) :=
    CASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY
    (pdb_descr_file => '/tmp/noncdb12c_manifest_file.xml')
    WHEN TRUE THEN 'YES' ELSE 'NO' END;
    BEGIN
    DBMS_OUTPUT.PUT_LINE(compatible);
    END;
    /
    

चरण 6: त्रुटियों की जांच करें

  • पर्यावरण को cdb12c पर सेट करें।
  • निम्नलिखित कमांड निष्पादित करें:
    sqlplus / as sysdba
  • SQL प्रॉम्प्ट पर निम्नलिखित कोड चलाएं:
    startup
    SELECT name, cause, type, message, status
    FROM PDB_PLUG_IN_VIOLATIONS
    WHERE name='NONCDB12C';

नोट: यदि कोई त्रुटि है, तो आगे बढ़ने से पहले उन्हें ठीक करें।

चरण 7: CDB से कनेक्ट करें और PDB में प्लग इन करें

  • पर्यावरण को cdb12c पर सेट करें।
  • निम्नलिखित कमांड निष्पादित करें:
    sqlplus / as sysdba
  • नॉन-CDB मैनिफेस्ट फ़ाइल का उपयोग करके CDB से कनेक्ट करें और PDDB12C डेटाबेस में प्लग इन करें:
    CREATE PLUGGABLE DATABASE pdb12c
    USING '/tmp/noncdb12c_manifest_file.xml'
    COPY
    FILE_NAME_CONVERT = ('', 'Datafile_Location_for_pdb');

नोट: निम्नलिखित विकल्प समर्थित हैं, और आप अपने वातावरण के आधार पर एक चुन सकते हैं:

  • COPY: noncdb के डेटाफाइल्स बरकरार रहते हैं, और noncdb को नए स्थान पर PDB बनाने के लिए कॉपी किया जाता है और मूल डेटाफाइल्स को मूल स्थान पर बरकरार रखा जाता है। इसका मतलब है कि PDB के निर्माण के बाद एक noncdb डेटाबेस अभी भी चालू है।
  • MOVE: noncdb के डेटाफाइल्स को PDB बनाने के लिए नए स्थान पर ले जाया जाता है। इस मामले में, PDB बनने के बाद noncdb डेटाबेस उपलब्ध नहीं होता।
  • NOCOPY: noncdb के डेटाफाइल्स का उपयोग PDB2 बनाने के लिए किया जाता है, और यह noncdb के समान स्थान का उपयोग करता है। इस मामले में, PDB बनने के बाद noncdb डेटाबेस उपलब्ध नहीं होता।

आप FILE_NAME_CONVERT पैरामीटर का उपयोग COPY या MOVE विकल्प का उपयोग करते समय डेटाफाइल्स के नए स्थान को निर्दिष्ट करने के लिए कर सकते हैं।

चरण 8: रूपांतरण स्क्रिप्ट चलाएं

  • पर्यावरण को cdb12c पर सेट करें।
  • निम्नलिखित कमांड निष्पादित करें:
    sqlplus / as sysdba
  • SQL प्रॉम्प्ट पर निम्नलिखित कोड चलाएं:
    alter session set container=pdb12c
    @$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql

चरण 9: PDB शुरू करें और मोड सत्यापित करें

  • पर्यावरण को cdb12c पर सेट करें।
  • निम्नलिखित कमांड निष्पादित करें:
    sqlplus / as sysdba
  • SQL प्रॉम्प्ट पर निम्नलिखित कोड चलाएं:
    alter pluggable database open;
    SELECT name, open_mode FROM v$pdbs;

निष्कर्ष

जब आप एक नॉन-CDB डेटाबेस को CDB प्लगेबल डेटाबेस में बदलते हैं, तो आप डेटाबेस के आकार के आधार पर कई विकल्पों में से चुन सकते हैं।

यदि डेटाबेस बहुत बड़ा है, तो आप NOCOPY विकल्प का उपयोग कर सकते हैं। यह आवश्यक अतिरिक्त स्थान की मात्रा को कम करता है और रूपांतरण ऑपरेशन को करने में लगने वाले समय को कम करता है। NOCOPY विकल्प जोखिम भरा है, हालांकि, क्योंकि आप मूल डेटाबेस फ़ाइलों को बरकरार नहीं रखते। इस प्रकार, यदि आपको डेटाबेस को पिछली स्थिति में पुनर्स्थापित करने की आवश्यकता है, तो आपको रूपांतरण गतिविधि से पहले लिए गए बैकअप का उपयोग करके डेटाबेस को पुनर्स्थापित करना होगा।

यदि डेटाबेस का आकार छोटा है, तो आपको COPY विकल्प का उपयोग करना चाहिए ताकि, यदि कोई समस्या हो, तो पुराने नॉन-CDB पर फॉलबैक सीधा हो क्योंकि मूल फाइलें हमेशा बरकरार रहती हैं।

  1. Oracle के ऑलवेज फ्री ऑटोनॉमस डेटाबेस के साथ शुरुआत कैसे करें Oracle के ऑलवेज फ्री ऑटोनॉमस डेटाबेस के साथ शुरुआत कैसे करें

    यह पोस्ट ऑटोनॉमस डेटाबेस का परिचय देती है और Oracle⪚ Cloud Infrastructure पर ऑलवेज फ्री ऑटोनॉमस डेटाबेस विकल्प को बनाने और उपयोग करने का वर्णन करती है। ऑटोनॉमस डेटाबेस क्या है? एक ऑटोनॉमस डेटाबेस Oracle का एक आधुनिक क्लाउड डेटाबेस है, जो EXADATA इंफ्रास्ट्रक्चर पर पूरी तरह से स्वचालित डेटाबेस और डेट

  1. SYSAUX टेबलस्पेस प्रबंधन: Oracle 10g के लिए सर्वोत्तम अभ्यास SYSAUX टेबलस्पेस प्रबंधन: Oracle 10g के लिए सर्वोत्तम अभ्यास

    Oracle® 10g ने एक नया अनिवार्य टेबलस्पेस SYSAUX पेश किया जिसमें PERMANENT, READ WRITE, EXTENT MANAGEMENT LOCAL, और SEGMENT SPACE MANAGEMENT AUTO जैसे अनिवार्य गुण हैं। यह पोस्ट इस टेबलस्पेस को प्रबंधित करने का पता लगाती है जैसे-जैसे यह बढ़ता है। परिचय आप SYSAUX टेबलस्पेस का उपयोग निम्न कार्य करने के

  1. MongoDB 2.8 प्लगेबल स्टोरेज इंजन का अनावरण करता है लचीले, पूर्ण-विशेषता वाले प्रदर्शन के लिए MongoDB 2.8 प्लगेबल स्टोरेज इंजन का अनावरण करता है लचीले, पूर्ण-विशेषता वाले प्रदर्शन के लिए

    पिछले महीने MongoDB वर्ल्ड में MongoDB के संस्थापक और CTO एलियट होरोविट्ज़ ने 2.8 रिलीज के लिए निर्धारित प्लगेबल स्टोरेज इंजन के लिए समर्थन की घोषणा की। यह रोमांचक सामान है क्योंकि इसका मतलब है कि mongo उपयोगकर्ता अब एक स्टोरेज इंजन चुनने में सक्षम होंगे जो उनके वर्कलोड के लिए सबसे उपयुक्त है और योज