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

Oracle 19c DBCA ব্যবহার করে রিমোট PDB-কে CDB-তে দক্ষতার সাথে ক্লোন করুন

এই ব্লগে Oracle 19c-এ ডেটাবেস কনফিগারেশন অ্যাসিস্ট্যান্ট (DBCA) ব্যবহার করে কীভাবে একটি রিমোট প্লাগেবল ডেটাবেস (PDB)-কে একটি কন্টেইনার ডেটাবেস (CDB)-তে ক্লোন করা যায়, সে ব্যাখ্যা করা হয়েছে। এটি সোর্স ডেটাবেসের ব্যাকআপ নেওয়ার প্রয়োজন ছাড়াই করা যায় এবং খুব কম সময় লাগে।

সোর্স DB বিবরণ

CDB: LCONCDB PDB: LCON

নিচে সোর্স-এ প্রতিটি কন্টেইনারের (CDB এবং PDB) মোট DBF ফাইল সংখ্যা দেওয়া আছে, যা টার্গেটে ক্লোন হওয়ার পর যাচাই করতে হবে। উপরের সোর্স DB থেকে টার্গেট হোস্টে CDB এবং PDB তৈরি করা হবে।

টার্গেট DB বিবরণ

CDB: KCONCDB PDB: KCON

পূর্ব-পদক্ষেপসমূহ:

  1. টার্গেট হোস্টে Oracle Database 19c ইনস্টল করুন, অথবা সোর্স থেকে RDBMS 19c tar তৈরি করে টার্গেট নোডে আনপ্যাক করুন। rsync কমান্ড ব্যবহার করে সোর্স থেকে টার্গেটে RDBMS সমান করা যেতে পারে।
  2. perl adclonectx.pl চালানোর জন্য XML ফাইল তৈরি করুন এবং বিবরণ দিন। 19c RDBMS ইনস্টল/তৈরি করার পর টার্গেট DB নোডের জন্য কনটেক্সট ফাইল তৈরি করতে হবে। টার্গেট DB নোডে কনটেক্সট ফাইল তৈরির কমান্ড নিচে দেওয়া হল:
[oraki@nglusnj bin]$ perl adclonectx.pl \
contextfile=/u02/oracle/KCON/product/19.3/appsutil/NYAPP_nglusnj.xml
Copyright (c) 2011, 2015 Oracle Corporation Redwood Shores, California, USA
Oracle E-Business Suite Rapid Clone Version 12.2 adclonectx Version 120.30.12020000.22

APPS পাসওয়ার্ড লিখুন:

Log file located at /u02/oracle/KCON/product/19.3/appsutil/clone/bin/CloneContext_0227034250.log
Provide the values required for creation of the new Database Context file.
Target System Hostname (virtual or normal) [nglusnj] : nglusnj

প্রোগ্রাম দ্বারা আপনার ইনপুট যাচাই করা সুপারিশ করা হয়। তবে নিচের পরিস্থিতিতে যাচাই না করার জন্য বেছে নিতে পারেন:

 - রিমোট সিস্টেমের জন্য সোর্স সিস্টেমে কনটেক্সট ক্লোন করছেন।
 - যে মেশিনে পোর্টগুলো заняত এবং আপনি এই মুহূর্তে সার্ভিস বন্ধ করতে চান না।
 - কনটেক্সট ক্লোন করছেন কিন্তু ডেটাবেস जिससे কানেক্ট করতে হবে সেটি উপলব্ধ নয়।
Do you want the inputs to be validated (y/n) [n] ? : n
Target System Base Directory : /u02/oracle/KCON
Target Instance is RAC (y/n) [n] :
Target System CDB Name : KCONCDB
Target System PDB Name : KCON
Oracle OS User [oraki] :
Oracle OS Group [dba] :
Role separation is supported y/n [n] ? : n
Number of DATA_TOP's on the Target System [2] :
Target System DATA_TOP Directory 1 [/u02/oracle/KCON/NYAPPCDB] : /u02/oracle/KCON/KCONCDB
Target System DATA_TOP Directory 2 [/u02/oracle/KCON/data] :
Specify value for OSBACKUPDBA group [dba] :
Specify value for OSDGDBA group [dba] :
Specify value for OSKMDBA group [dba] :
Specify value for OSRACDBA group [dba] :
Target System RDBMS ORACLE_HOME Directory [/u02/oracle/KCON/19.0.0] : /u02/oracle/KCON/product/19.3
Do you want to preserve the Display [nglusnj:0.0] (y/n) : y
Target System Port Pool [0-99] : 20 Report file located at /u02/oracle/KCON/product/19.3/appsutil/temp/portpool.lst
New context path and file name [/u02/oracle/KCON/product/19.3/appsutil/KCON_nglusnj.xml] : /u02/oracle/KCON/product/19.3/appsutil/KCON_nglusnj.xml file already exists.
Do you want to overwrite it (y/n) [n] ? : y
Replacing /u02/oracle/KCON/product/19.3/appsutil/KCON_nglusnj.xml file. The new database context file has been created : /u02/oracle/KCON/product/19.3/appsutil/KCON_nglusnj.xml
contextfile=/u02/oracle/KCON/product/19.3/appsutil/KCON_nglusnj.xml
Check Clone Context logfile /u02/oracle/KCON/product/19.3/appsutil/clone/bin/CloneContext_0227034250.log for details.
[oraki@nglusnj bin]$ perl
  1. টার্গেট DB নোডে কনটেক্সট ফাইল তৈরি হয়ে গেলে, 19c RDBMS কনফিগার করুন এবং উপরে তৈরি করা কনটেক্সট ফাইল পাস করে টার্গেট DB নোডে adcfgclone চালান। নিচে উদাহরণ দেওয়া হল:
[oraki@nglusnj bin]$ perl adcfgclone.pl dbTechStack /u02/oracle/KCON/product/19.3/appsutil/KCON_nglusnj.xml
Copyright (c) 2002, 2015 Oracle Corporation Redwood Shores, California, USA
Oracle E-Business Suite Rapid Clone Version 12.2 adcfgclone Version 120.63.12020000.65

APPS পাসওয়ার্ড লিখুন:

Running Rapid Clone with command:
Running:
perl /u02/oracle/KCON/product/19.3/appsutil/clone/bin/adclone.pl java=/u02/oracle/KCON/product/19.3/appsutil/clone/bin/../jre mode=apply stage=/u02/oracle/KCON/product/19.3/appsutil/clone component=dbTechStack method=CUSTOM dbctxtg=/u02/oracle/KCON/product/19.3/appsutil/KCON_nglusnj.xml showProgress contextValidated=false
Beginning rdbms home Apply - Sat Feb 27 04:25:16 2021
/u02/oracle/KCON/product/19.3/appsutil/clone/bin/../jre/bin/java -Xmx600M -Doracle.jdbc.autoCommitSpecCompliant=false -DCONTEXT_VALIDATED=false -Doracle.installer.oui_loc=/u02/oracle/KCON/product/19.3/oui -classpath /u02/oracle/KCON/product/19.3/appsutil/clone/jlib/xmlparserv2.jar:/u02/oracle/KCON/product/19.3/appsutil/clone/jlib/ojdbc8.jar:/u02/oracle/KCON/product/19.3/appsutil/clone/jlib/java:/u02/oracle/KCON/product/19.3/appsutil/clone/jlib/oui/OraInstaller.jar:/u02/oracle/KCON/product/19.3/appsutil/clone/jlib/oui/ewt3.jar:/u02/oracle/KCON/product/19.3/appsutil/clone/jlib/oui/share.jar:/u02/oracle/KCON/product/19.3/appsutil/clone/jlib/oui/srvm.jar:/u02/oracle/KCON/product/19.3/appsutil/clone/jlib/ojmisc.jar oracle.apps.ad.clone.ApplyDBTechStack -e /u02/oracle/KCON/product/19.3/appsutil/KCON_nglusnj.xml -stage /u02/oracle/KCON/product/19.3/appsutil/clone -showProgress APPS Password : Log file located at /u02/oracle/KCON/product/19.3/appsutil/log/KCON_nglusnj/ApplyDBTechStack_02270425.log
 | 0% completed
Log file located at /u02/oracle/KCON/product/19.3/appsutil/log/KCON_nglusnj/ApplyDBTechStack_02270425.log
0% completed
Completed Apply...
  1. সোর্স CDB PDB-এর সাথে আর্কাইভ লগ মোডে থাকতে হবে। নিশ্চিত করুন যে সোর্স DB আর্কাইভ লগ মোডে আছে।
  1. টার্গেট নোডে DBCA কমান্ড চালান VNC-এ CDB এবং PDB ক্লোন করার জন্য।

সিনট্যাক্স:

./dbca -silent -createDuplicateDB -gdbName {CLONE_DB_NAME} -primaryDBConnectionString <hostname:port/service> -sid {CLONE_DB_SID} -databaseConfigType SINGLE -initParams db_unique_name={CLONE_DB_NAME} -sysPassword {PRIMARY_DB_SYS_PWD} -datafileDestination {CLONE_DATAFILE_LOC}
[oraki@nglusnj ~]$ dbca -silent -createDuplicateDB -gdbName KCONCDB -sid KCONCDB -primaryDBConnectionString nglusnj:1551/LCONCDB -databaseConfigType SI -initParams db_unique_name=KCONCDB -sysPassword LCON5yspwd! -datafileDestination /u02/oracle/KCON/product/oradata/KCONCDB
  • -gdbName = টার্গেট গ্লোবাল ডেটাবেস নাম
  • -sid = টার্গেট SID নাম
  • -primaryDBConnectionString = সোর্স কানেকশন স্ট্রিং
  • -databaseConfigType = SI মানে সিঙ্গেল ইনস্ট্যান্স
  • -initParams db_unique_name = টার্গেট DB ইউনিক নাম
  • -sysPassword = sys ইউজার পাসওয়ার্ড
  • -datafileDestination = টার্গেটে DBF ফাইল লোকেশন

এখন CDB এবং PDB উভয়েই তৈরি হয়ে গেছে।

PDB রিনেম করুন

PDB-এর নাম সোর্স DB-এর নামের মতোই থাকা কারণে রিনেম করতে হবে। নিচের ধাপগুলো অনুসরণ করুন:

SQL> alter session set container=LCON;
Session altered.
SQL> shutdown immediate;
Pluggable Database closed.
SQL> startup open restrict;
Pluggable Database opened.
SQL> alter pluggable database LCON rename global_name to KCON;
Pluggable database altered.
SQL> shutdown immediate; 
Pluggable Database closed. 
SQL> alter database open;
Database altered.

এতে ক্লোনিং সম্পূর্ণ হল। এখন সোর্স থেকে DBF ফাইল যাচাই ও মিলিয়ে নিন। DBF ফাইল কাউন্ট একই হওয়া উচিত।

উপসংহার

Oracle 19c-এ DBCA ব্যবহার করে সাইলেন্ট মোডে PDB ক্লোন করা ডেটাবেস ক্লোন করার সবচেয়ে সহজ এবং দ্রুত উপায়। সোর্স ডেটাবেসের ব্যাকআপ নিয়ে টার্গেট হোস্টে কপি করার প্রয়োজন নেই, যা সময় বাঁচায়।

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

  1. Oracle 18c Refreshable Clones মাস্টার করুন: একটি বIgineার গাইড

  2. Oracle Grid RAC আপগ্রেড: Linux-এ 12c থেকে 19c-এ ধাপে ধাপে গাইড

  3. দ্রুত একটি Oracle DBaaS ডাটাবেস ক্লাউডে ডিপ্লয় করুন

  4. Oracle 19c: ডাটাবেস অ্যাডমিনিস্ট্রেটরদের জন্য উন্নত ফিচারসমূহ