কম্পিউটার

একটি নন-কন্টেইনার ডাটাবেসকে একটি মাল্টিটেন্যান্ট প্লাগেবল ডাটাবেসে রূপান্তর করুন

মূলত TriCore দ্বারা প্রকাশিত:আগস্ট 29, 2017

Oracle® সংস্করণ 12c একটি একক কন্টেইনার ডাটাবেস (CDB) সহ হোস্ট মাল্টিপলপ্লাগেবল ডেটাবেস (PDB) এর জন্য মাল্টিটেন্যান্ট ডাটাবেস বিকল্পগুলি অফার করে। কখনও কখনও, আপনাকে একটি নন-CDB ডাটাবেসকে একটি CDB প্লাগেবল ডাটাবেসে রূপান্তর করতে হবে। এই ব্লগটি এমন পদ্ধতিগুলি বর্ণনা করে যা আপনি একটি নন-CDB ডাটাবেসকে একটি CDBdatabase এ রূপান্তর করতে ব্যবহার করতে পারেন৷

টেস্ট কেস সেটআপ

এই পরীক্ষার দৃশ্যটি একটি নন-CDB ডাটাবেস উদাহরণ দিয়ে শুরু হয়, noncdb12c ,যা মেশিনে চলছে ABC123.xyz.com . কাজটি হল একটি CDBdatabase, cdb12c তৈরি করা , একই মেশিনে। রূপান্তরিত CDB ডাটাবেস ধরে রাখার জন্য আপনার কাছে যথেষ্ট ডিস্ক স্পেস আছে তা নিশ্চিত করতে হবে।

হোস্ট সার্ভার :ABC123.xyz.com

নন-সিডিবি ডাটাবেস :noncdb12c

ওরাকল সংস্করণ :12.1.0.2

নিম্নলিখিত চিত্রটি পরীক্ষার দৃশ্য দেখায়:

একটি নন-কন্টেইনার ডাটাবেসকে একটি মাল্টিটেন্যান্ট প্লাগেবল ডাটাবেসে রূপান্তর করুন

রূপান্তর পরীক্ষা

নন-সিডিবি ডাটাবেসকে সিডিবি ডাটাবেসে রূপান্তর করতে এই বিভাগের ধাপগুলি ব্যবহার করুন।

ধাপ 1:একটি পরিষ্কার শাটডাউন সম্পাদন করুন

অ-CDB ডাটাবেস পরিষ্কারভাবে বন্ধ করতে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

  • পরিবেশকে noncdb12c এ সেট করুন .

  • নিম্নলিখিত কমান্ডটি চালান:

      sqlplus / as sysdba
    
  • এসকিউএল প্রম্পটে নিম্নলিখিত কোডটি চালান:

      shutdown immediate
    

ধাপ 2:শুধুমাত্র পঠন হিসাবে ডাটাবেস খুলুন

আপনি পরিষ্কারভাবে ডাটাবেস বন্ধ করার পরে, মাউন্ট এক্সক্লুসিভ মোডে ডাটাবেস চালু করার জন্য নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন এবং শুধুমাত্র-পঠন মোডে ডাটাবেস খুলুন:

  • পরিবেশকে noncdb12c এ সেট করুন .

  • নিম্নলিখিত কমান্ডটি চালান:

      sqlplus / as sysdba
    
  • এসকিউএল প্রম্পটে নিম্নলিখিত কোডটি চালান:

      startup mount exclusive
    
      alter database open read only;
    

ধাপ 3:একটি PDB ম্যানিফেস্ট ফাইল তৈরি করুন

নন-সিডিবি থেকে একটি PDB ম্যানিফেস্ট ফাইল তৈরি করতে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

  • পরিবেশকে noncdb12c এ সেট করুন .

  • নিম্নলিখিত কমান্ডটি চালান:

      sqlplus / as sysdba
    
  • এসকিউএল প্রম্পটে নিম্নলিখিত কোডটি চালান:

      exec dbms_pdb.describe (pdb_descr_file=>'/tmp/noncdb12c_manifest_file.xml');
    

ধাপ 4:নন-সিডিবি বন্ধ করুন

নন-CDB ফাইল বন্ধ করার জন্য ধাপ 3 সম্পূর্ণ হওয়ার পরে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন৷

  • পরিবেশকে noncdb12c এ সেট করুন .

  • নিম্নলিখিত কমান্ডটি চালান:

      sqlplus / as sysdba
    
  • এসকিউএল প্রম্পটে নিম্নলিখিত কোডটি চালান:

      shutdown immediate
    

ধাপ 5:CDB শুরু করুন

যদি CDB ইতিমধ্যে চালু না হয়, তাহলে এটি শুরু করতে এবং সামঞ্জস্যতা পরীক্ষা করতে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

  • পরিবেশকে cdb12c-এ সেট করুন .

  • নিম্নলিখিত কমান্ডটি চালান:

      sqlplus / as sysdba
    
  • এসকিউএল প্রম্পটে নিম্নলিখিত কোডটি চালান:

      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:ত্রুটিগুলি পরীক্ষা করুন

CDB ডাটাবেস স্টার্টআপ সম্পূর্ণ হওয়ার পরে, PDB_PLUG_IN_VIOLATIONS-এ ত্রুটিগুলি পরীক্ষা করার জন্য নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন দেখুন:

  • পরিবেশকে cdb12c-এ সেট করুন .

  • নিম্নলিখিত কমান্ডটি চালান:

      sqlplus / as sysdba
    
  • এসকিউএল প্রম্পটে নিম্নলিখিত কোডটি চালান:

      startup
      SELECT name, cause, type, message, status FROM PDB_PLUG_IN_VIOLATIONS
      WHERE name='NONCDB12C';
    

দ্রষ্টব্য :কোনো ত্রুটি থাকলে, এগিয়ে যাওয়ার আগে সেগুলি ঠিক করুন৷

ধাপ 7:CDB এর সাথে সংযোগ করুন এবং PDB-এ প্লাগ করুন

CDB-এর সাথে সংযোগ করতে এবং নন-CDB ম্যানিফেস্ট ফাইল ব্যবহার করে PDDB12Cdatabase-এ প্লাগ-ইন করতে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

  • পরিবেশকে cdb12c-এ সেট করুন .

  • নিম্নলিখিত কমান্ডটি চালান:

      sqlplus / as sysdba
    
  • এসকিউএল প্রম্পটে নিম্নলিখিত কোডটি চালান:

      CREATE PLUGGABLE DATABASE pdb12c USING '/tmp/noncdb12c_manifest_file.xml'
       COPY
       FILE_NAME_CONVERT = ('<Datafile_Location_for_noncdb>', 'Datafile_Location_for_pdb');
    

দ্রষ্টব্য :নিম্নলিখিত বিকল্পগুলি সমর্থিত, এবং আপনি আপনার পরিবেশের উপর ভিত্তি করে একটি বেছে নিতে পারেন:

  • কপি :noncdb এর ডেটাফাইল অক্ষত থাকে, এবং noncdb নতুন অবস্থানে একটি PDB তৈরি করতে এবং আসল ডেটাফাইলগুলিকে আসল অবস্থানে অক্ষত রাখতে অনুলিপি করা হয়। এর মানে হল যে একটি ননসিডিবি ডেটাবেস পিডিবি তৈরির পরেও চালু আছে৷
  • সরান৷ :noncdb এর ডেটাফাইল একটি PDB তৈরি করতে একটি নতুন স্থানে সরানো হয়। এই ক্ষেত্রে, noncdb PDB তৈরি হওয়ার পর ডাটাবেস পাওয়া যায় না।
  • NOCOPY :noncdb এর ডেটাফাইল একটি PDB2 তৈরি করতে ব্যবহৃত হয় এবং এটি noncdb এর মতো একই অবস্থান ব্যবহার করে . এই ক্ষেত্রে, noncdb PDB তৈরি হওয়ার পর ডাটাবেস পাওয়া যায় না।

আপনি FILE_NAME_CONVERT ব্যবহার করতে পারেন কপি ব্যবহার করার সময় ডেটাফাইলের নতুন অবস্থান নির্দিষ্ট করার পরামিতি অথবা সরান বিকল্প।

ধাপ 8:রূপান্তর স্ক্রিপ্ট চালান

ধাপ 7 সফলভাবে সম্পন্ন হওয়ার পরে, PDB কন্টেইনারে যেতে এবং রূপান্তর স্ক্রিপ্ট চালাতে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন,$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql :

  • পরিবেশকে cdb12c-এ সেট করুন .

  • নিম্নলিখিত কমান্ডটি চালান:

      sqlplus / as sysdba
    
  • এসকিউএল প্রম্পটে নিম্নলিখিত কোডটি চালান:

      alter session set container=pdb12c
      @$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql
    

ধাপ 9:PDB শুরু করুন এবং মোড যাচাই করুন

PDB শুরু করতে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন এবং মোডটি খোলা তা যাচাই করুন :

  • পরিবেশকে cdb12c-এ সেট করুন .

  • নিম্নলিখিত কমান্ডটি চালান:

      sqlplus / as sysdba
    
  • এসকিউএল প্রম্পটে নিম্নলিখিত কোডটি চালান:

      alter pluggable database open;
      SELECT name, open_mode FROM v$pdbs;
    

উপসংহার

যখন আপনি একটি নন-CDB ডাটাবেসকে একটি CDB প্লাগযোগ্য ডাটাবেসে রূপান্তর করেন, তখন আপনি ডাটাবেসের আকারের উপর নির্ভর করে বিভিন্ন বিকল্প থেকে বেছে নিতে পারেন।

ডাটাবেসটি খুব বড় হলে, আপনি NOCOPY ব্যবহার করতে পারেন বিকল্প এটি প্রয়োজনীয় অতিরিক্ত স্থানের পরিমাণ কমিয়ে দেয় এবং রূপান্তর ক্রিয়াকলাপ সম্পাদন করতে যে সময় লাগে তা হ্রাস করে। NOCOPY৷ বিকল্পটি ঝুঁকিপূর্ণ, কারণ আপনি মূল ডাটাবেস ফাইলগুলি অক্ষত রাখেন না। এইভাবে, যদি আপনাকে পূর্ববর্তী অবস্থায় ডেটাবেস পুনরুদ্ধার করতে হয়, তাহলে আপনাকে অবশ্যই রূপান্তর কার্যকলাপের আগে নেওয়া ব্যাকআপগুলি ব্যবহার করে ডাটাবেস পুনরুদ্ধার করতে হবে৷

ডাটাবেসের আকার ছোট হলে, আপনার কপি ব্যবহার করা উচিত বিকল্প যাতে, কোনো সমস্যা থাকলে, পুরানো নন-সিডিবিতে ফলব্যাক করা সহজ কারণ আসল ফাইলগুলি সর্বদা অক্ষত থাকে৷

কোনো মন্তব্য করতে বা প্রশ্ন জিজ্ঞাসা করতে প্রতিক্রিয়া ট্যাবটি ব্যবহার করুন৷

Rackspace অ্যাপ্লিকেশন পরিষেবা সম্পর্কে আরও জানুন।


  1. Oracle EBS 12.2 ডাটাবেসকে Oracle Database 19c এ আপগ্রেড করুন

  2. সর্বদা বিনামূল্যে স্বায়ত্তশাসিত ডেটাবেসের ভূমিকা

  3. SYSAUX টেবিলস্পেস পরিচালনা করুন

  4. MongoDB-তে পরীক্ষামূলক প্লাগেবল স্টোরেজ ইঞ্জিন