কম্পিউটার টিউটোরিয়াল

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

মূলভাবে TriCore দ্বারা প্রকাশিত: আগস্ট ২৯, ২০১৭

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

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

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

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

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

Oracle সংস্করণ: 12.1.0.2

নিচের ছবিটি টেস্ট সিনেরিওটি দেখায়:

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

রূপান্তর টেস্ট

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

পদক্ষেপ ১: একটি পরিষ্কার শাটডাউন সঞ্চালন করুন

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

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

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

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

     shutdown immediate 

পদক্ষেপ ২: ডেটাবেসকে রিড-অনলি হিসেবে খুলুন

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

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

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

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

     startup mount exclusive alter database open read only; 

পদক্ষেপ ৩: একটি PDB ম্যানিফেস্ট ফাইল জেনারেট করুন

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

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

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

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

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

পদক্ষেপ ৪: নন-CDB শাটডাউন করুন

পদক্ষেপ ৩ সম্পন্ন হওয়ার পর নন-CDB ফাইল শাটডাউন করতে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন।

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

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

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

     shutdown immediate 

পদক্ষেপ ৫: CDB শুরু করুন

যদি 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; / 

পদক্ষেপ ৬: ত্রুটি চেক করুন

CDB ডেটাবেস স্টার্টআপ সম্পন্ন হওয়ার পর, PDB_PLUG_IN_VIOLATIONS ভিউতে ত্রুটি চেক করতে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

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

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

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

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

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

পদক্ষেপ ৭: CDB-এ কানেক্ট করুন এবং PDB-এ প্লাগ-ইন করুন

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

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

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

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

     CREATE PLUGGABLE DATABASE pdb12c USING '/tmp/noncdb12c_manifest_file.xml' COPY FILE_NAME_CONVERT = ('<Datafile_Location_for_noncdb>', '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 অপশন ব্যবহার করার সময়।

পদক্ষেপ ৮: রূপান্তর স্ক্রিপ্ট চালান

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

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

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

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

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

পদক্ষেপ ৯: PDB শুরু করুন এবং মোড যাচাই করুন

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

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

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

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

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

উপসংহার

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

যদি ডেটাবেস খুব বড় হয়, তবে আপনি NOCOPY অপশন ব্যবহার করতে পারেন। এটি অতিরিক্ত স্পেসের পরিমাণ কমিয়ে দেয় এবং রূপান্তর অপারেশন সম্পন্ন করার 데 걸리는 সময় কমিয়ে দেয়। যাইহোক, NOCOPY অপশন রিস্কি, কারণ আপনি মূল ডেটাবেস ফাইলগুলিকে 그대로 রাখবেন না। এইভাবে, আপনি যদি ডেটাবেসকে পূর্বের অবস্থায় ফেরাতে চান, তবে রূপান্তর কার্যকলাপের আগে নেওয়া ব্যাকআপ ব্যবহার করে ডেটাবেসটি পুনরুদ্ধার করতে হবে।

যদি ডেটাবেসের আকার ছোট হয়, তবে আপনাকে COPY অপশন ব্যবহার করা উচিত যাতে, কোনো সমস্যা হলে, পুরানো non-CDB-এ ফিরে যাওয়া সহজ হয় কারণ মূল ফাইলগুলি সবসময় 그대로 থাকে।

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

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


  1. Oracle EBS 12.2 কে Oracle Database 19c-এ সহজে স্থানান্তর: ধাপে ধাপে গাইড

  2. Oracle-এর Always Free Autonomous Database দিয়ে শুরু করুন: পূর্ণ গাইড

  3. SYSAUX টেবলস্পেস পরিচালনা: Oracle 10g-এ সেরা অনুশীলন

  4. MongoDB 2.8 প্লাগেবল স্টোরেজ ইঞ্জিন প্রকাশ: ফ্লেক্সিবল, ফুল-ফিচার পারফরম্যান্স