কম্পিউটার

সংস্করণ 19c ডেটাবেস সহ ওরাকল ইবিএস ক্লোনিং

এই পোস্টটি Red Hat® এন্টারপ্রাইজ লিনাক্স®-এ রিকভারি ম্যানেজার (RMAN) হট ব্যাকআপ ব্যবহার করে একটি সংস্করণ 19c ডেটাবেসে অন-প্রিমিস Oracle®E-Business Suite® (EBS) R12.2-এর সাথে ধাপে ধাপে ক্লোনিংয়ের প্রক্রিয়া নিয়ে আলোচনা করে। সার্ভার এই পদক্ষেপগুলি বিভিন্ন অপারেটিং সিস্টেমের ক্ষেত্রেও প্রযোজ্য৷

EBS ক্লোনিং

EBS ক্লোনিং করতে, আপনাকে নিম্নলিখিত উচ্চ-স্তরের পদক্ষেপগুলি সম্পূর্ণ করতে হবে:

  1. সোর্স ডাটাবেস এবং অ্যাপ্লিকেশন নোডগুলিতে একটি প্রাক-ক্লোন ইউটিলিটি চালান৷
  2. আরএমএন হট ব্যাকআপ ব্যবহার করে আর্কাইভ সহ সম্পূর্ণ কন্টেইনার ডেটাবেস (সিডিবি) ডাটাবেস ব্যাক আপ করুন এবং লক্ষ্য নোডে অনুলিপি করুন৷
  3. টার্গেট ডাটাবেস এবং অ্যাপ্লিকেশন নোড পরিষ্কার করুন।
  4. উৎস অ্যাপ্লিকেশন বাইনারি এবং ডাটাবেস বাইনারিগুলি লক্ষ্য নোডে অনুলিপি করুন৷
  5. টার্গেট ডাটাবেস নোডে $Oracle_Home কনফিগার করুন।
  6. ডাটাবেস পুনরুদ্ধার করুন এবং পুনরুদ্ধার করুন।
  7. টার্গেট ডাটাবেস নোডে পুনরুদ্ধার-পরবর্তী পদক্ষেপগুলি সম্পাদন করুন।
  8. লক্ষ্য অ্যাপ্লিকেশন নোডে অ্যাপ্লিকেশনটি কনফিগার করুন।
  9. অ্যাপ্লিকেশন নোডে ক্লোন-পরবর্তী পদক্ষেপগুলি সম্পাদন করুন৷
  10. টার্গেট অ্যাপ্লিকেশন পরিষেবাগুলি শুরু করুন৷

এখানে বিস্তারিত ধাপগুলি রয়েছে:

1. প্রি-ক্লোন ইউটিলিটি চালান

ড্রাইভার এবং কনফিগারেশন ফাইল তৈরি করতে সোর্স ডাটাবেস নোড এবং অ্যাপ্লিকেশন নোডে প্রাক-ক্লোন ইউটিলিটি চালান। এই ইউটিলিটি টার্গেট নোডে ডাটাবেস এবং অ্যাপ্লিকেশন বাইনারি কপি করার আগে টার্গেট নোডগুলিতে ডেটাবেস এবং অ্যাপ্লিকেশন বাইনারিগুলি কনফিগার করে৷

ক $ORACLE_HOME এ ডাটাবেস নোডে প্লাগেবল ডাটাবেস (PDB) এনভায়রনমেন্ট ফাইল সোর্স করতে নিম্নলিখিত কমান্ডগুলি চালান:

cd $ORACLE_HOME
. <PDB_NAME>_hostname.env
cd $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
perl adpreclone.pl dbTier
 

খ. অ্যাপ্লিকেশন নোডে নিম্নলিখিত কমান্ডগুলি চালান:

<প্রাক . EBSApps run (Source RUN FS) cd $ADMIN_SCRIPTS_HOME perl adpreclone.pl appsTier

2. CDB ব্যাক আপ করুন

RMAN হট ব্যাকআপ ব্যবহার করে আর্কাইভ সহ সম্পূর্ণ CDB ডাটাবেস ব্যাক আপ করুন এবং এটি লক্ষ্য নোডে অনুলিপি করুন:

ক $ORACLE_HOME:

-এ CDB এনভায়রনমেন্ট ফাইল সোর্স করতে নিম্নলিখিত কমান্ডগুলি চালান৷
cd $ORACLE_HOME
. <CDB_NAME>_hostname.env
connect target /
 

খ. এই ধাপটি সম্পূর্ণ করতে নিম্নলিখিত কমান্ডগুলি চালান:

run {
 allocate channel d1 type disk;
 allocate channel d2 type disk;
 allocate channel d3 type disk;
 allocate channel d4 type disk;

 BACKUP as compressed backupset FULL FILESPERSET 10 FORMAT '<Backup location>/<SID>_bk_%s_%p_%t.bak' DATABASE;
 BACKUP as compressed backupset filesperset 10 FORMAT '<Backup location>/<SID>_arch_%s_%p_%t.bak' ARCHIVELOG ALL skip inaccessible;
 BACKUP FORMAT '<Backup location>/<SID>_cntrl_%s_%p_%t.bak' CURRENT CONTROLFILE;
 
 RELEASE CHANNEL d1;
 RELEASE CHANNEL d2;
 RELEASE CHANNEL d3;
 RELEASE CHANNEL d4;
}
 

ব্যাকআপ সম্পূর্ণ করার পর, হয় টার্গেট লোকেশনে যান অথবা নেটওয়ার্ক ফাইল সিস্টেম (NFS) সময় বাঁচাতে ব্যাকআপ মাউন্ট পয়েন্ট টার্গেট নোডে শেয়ার করুন।

3. পরিষ্কার করুন

লক্ষ্য ডাটাবেস এবং অ্যাপ্লিকেশন নোড পরিষ্কার করুন।

ডাটাবেস নোডে নিম্নলিখিত পদক্ষেপগুলি চালান:

ক আপনি পরিষ্কার করার আগে নিম্নলিখিত গুরুত্বপূর্ণ কনফিগারেশন ফাইল এবং ডিরেক্টরিগুলির একটি ব্যাকআপ নিন:

  • $CONTEXT_FILE
  • পরিবেশ ফাইল
  • dbs
  • $TNS_ADMIN ডিরেক্টরিগুলি৷

খ. লক্ষ্য OH সরান এবং ডাটাবেস ড্রপ করুন।

গ. oraInventory-এর বিষয়বস্তু সরান .

উল্লেখ্য যে UTL ডিরেক্টরির প্রতীকী লিঙ্ক থাকা উচিত নয়। যদি সাংকেতিক লিঙ্ক বিদ্যমান থাকে, সেগুলি সরান এবং একটি শারীরিক ডিরেক্টরি গঠন তৈরি করুন।

অ্যাপ্লিকেশন নোডে নিম্নলিখিত পদক্ষেপগুলি চালান:

RUN এর ব্যাকআপ নিন এবং $CONTEXT_FILE প্যাচ করুন এবং $TNS_ADMIN RUN FS-এর ডিরেক্টরি .খ লক্ষ্য নোডের একটি নোট নিন RUN FS অ্যাপ্লিকেশন node.c পরিষ্কার করার আগে FS1 পরিষ্কার করুন , FS2 , FS_NE , এবং oraInventory ডিরেক্টরি।

4. বাইনারি কপি করুন

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

ক ডাটাবেস নোডে, টার্গেটডেটাবেস সার্ভারে 19.0.0(19c) বাইনারি সংস্করণ কপি করুন এবং স্থানান্তর করুন।

খ. অ্যাপ্লিকেশন নোডে, শুধুমাত্র EBSapps স্থানান্তর করুন RUN FS-এর ডিরেক্টরি উৎস থেকে লক্ষ্য নোড পর্যন্ত লক্ষ্যের অধীনে RUN FS .

5. $Oracle_Home

কনফিগার করুন

টার্গেট ডাটাবেস নোডে $Oracle_Home কনফিগার করুন।

adcfgclone.pl চালানোর আগে $Oracle_Home কনফিগার করতে, oraInventory পরিষ্কার করুন ডিরেক্টরি আপনি যদি একটি নতুন সার্ভারে প্রথমবারের জন্য ক্লোনিং করছেন, তাহলে শুধুমাত্র নিম্নলিখিত পদক্ষেপগুলি চালান এবং সমস্ত ইনপুটের জন্য মান প্রদান করুন। নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

ক প্রসঙ্গ ফাইল তৈরি করুন:

cd $ORACLE_HOME/appsutil/clone/bin
perl adclonectx.pl contextfile=<Source database context file> template=$ORACLE_HOME/appsutil/template/adxdbctx.tmp [pairsfile=<Pairs file Path>]

perl adcfgclone.pl dbTechStack <Full Path of CONTEXT_FILE>
 এর সম্পূর্ণ পথ 

খ. listener.ora তৈরি করুন এবং tnsnames.ora :

cd $ORACLE_HOME/appsutil
./txkSetCfgCDB.env -dboraclehome=<ORACLE_HOME>

cd $ORACLE_HOME/appsutil/bin
perl txkGenCDBTnsAdmin.pl -dboraclehome=$ORACLE_HOME -cdbname=<target CDB NAME> \
-cdbsid=<SID> -dbport=<Target DB port> -outdir=$ORACLE_HOME/appsutil/log \
-israc=<yes/no> [-virtualhostname=<virtual hostname>]
 

গ. যদি এটি একটি বারবার ক্লোন করা উদাহরণ হয়, তাহলে CONTEXT_FILE ব্যবহার করুন৷ লক্ষ্য ডাটাবেস বাইনারি কনফিগার করতে ব্যাকআপ:

cd <RDBMS ORACLE_HOME>/appsutil/clone/bin
perl adcfgclone.pl dbTechStack <Full Path of CONTEXT_FILE backup location>
 

d যদি এটি একটি বারবার ক্লোন করা উদাহরণ হয়, dbs প্রত্যাবর্তন করুন৷ এবং TNS ফাইল যাতে কনফিগারেশনের পরে সমস্ত কনফিগারেশন ফাইল এবং init প্যারামিটার অক্ষত থাকে।

e শ্রোতা শুরু করুন।

6. ডাটাবেস পুনরুদ্ধার করুন এবং পুনরুদ্ধার করুন।

আপনি $Oracle_Home কনফিগার করার পরে, আপনি আগে যে ব্যাকআপটি নিয়েছিলেন তা ব্যবহার করে লক্ষ্য ডেটাবেস পুনরুদ্ধার শুরু করুন:

ক পুনরুদ্ধার করার আগে, লক্ষ্য নোডে নিম্নলিখিত পরামিতিগুলি সঠিক কিনা তা পরীক্ষা করুন৷

  • db_file_name_convert
  • log_file_name_convert

খ. একটি nomount এ লক্ষ্য ডাটাবেস শুরু করুন ডাটাবেস পুনরুদ্ধার করতে নিম্নলিখিত RMAN কমান্ডটি স্টেট করুন এবং চালান:

Rman auxiliary /
run
{
   allocate auxiliary channel d1 device type disk;
   allocate auxiliary channel d2 device type disk;
   allocate auxiliary channel d3 device type disk;
   duplicate database to '<CDB NAME>' backup location '<RMAN backup     location>' nofilenamecheck;
   release channel d1;
   release channel d2;
   release channel d3;
}
 

7. পুনরুদ্ধার পরবর্তী পদক্ষেপগুলি লক্ষ্য করুন

লক্ষ্য ডাটাবেস নোডে পোস্ট-রিস্টোর পদক্ষেপগুলি সম্পাদন করুন৷

CDB ডাটাবেস পুনরুদ্ধার শেষ হওয়ার পরে এবং আপনি CDB ইন্সট্যান্স খুললে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

ক CDB env ফাইলটি উৎস করুন এবং PDB নাম পরিবর্তন করুন কারণ আপনি এটিকে একটি উত্স PDBname হিসাবে পুনরুদ্ধার করেছেন। লক্ষ্য PDB নাম পরিবর্তন করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন:

sqlplus / as sysdba
 SQL> alter pluggable database "<Source PDB Name>" close;
 SQL> alter pluggable database "<Source PDB Name>" unplug into '<ORACLE_HOME>/dbs/<Source PDB Name>_PDBDesc.xml';
 SQL> drop pluggable database "<Source PDB Name>";
 SQL> create pluggable database "<Target PDB Name>" using '<ORACLE_HOME>/dbs/<PDB Name>_PDBDesc.xml' NOCOPY SERVICE_NAME_CONVERT=('ebs_<Source PDB Name>','ebs_<Target PDB Name>','<Source PDB Name>_ebs_patch','<Target PDB Name>_ebs_patch');
 SQL> alter pluggable database "<Target PDB Name>" open read write;
 SQL> alter pluggable database all save state instances=all;
 SQL> sho pdbs

CON_ID CON_NAME                       OPEN MODE  RESTRICTED
------ ------------------------------ ---------- ----------
     2 PDB$SEED                       READ ONLY  NO
     4 <PDB Name>                     READ WRITE NO
 

খ. PDB env ফাইলটি উৎস করুন এবং লক্ষ্যUTL_FILE_DIR সেট করতে নিম্নলিখিত কমান্ডটি সম্পাদন করুন ওরাকল ডাটাবেসের মান:

perl $ORACLE_HOME/appsutil/bin/txkCfgUtlfileDir.pl -contextfile=$CONTEXT_FILE -oraclehome=$ORACLE_HOME -outdir=$ORACLE_HOME/appsutil/log -mode=getUtlFileDir
 

গ. _utlfiledir.txt সম্পাদনা করতে নিম্নলিখিত কমান্ডটি চালান Oracle_Home/dbs এর অধীনে ফাইল এবং সেই অনুযায়ী ইউটিএল পাথ পরিবর্তন করুন:

perl $ORACLE_HOME/appsutil/bin/txkCfgUtlfileDir.pl -contextfile=$CONTEXT_FILE -oraclehome=$ORACLE_HOME -outdir=$ORACLE_HOME/appsutil/log -mode=setUtlFileDir
 

d _utlfiledir.txt-এ প্রতিটি পথের জন্য নিম্নলিখিত স্ক্রিপ্টটি চালান :

perl $ORACLE_HOME/appsutil/bin/txkCfgUtlfileDir.pl -contextfile=$CONTEXT_FILE -oraclehome=$ORACLE_HOME -outdir=$ORACLE_HOME/appsutil/log -mode=createDirObject

perl $ORACLE_HOME/appsutil/bin/txkCfgUtlfileDir.pl -contextfile=$CONTEXT_FILE -oraclehome=$ORACLE_HOME -outdir=$ORACLE_HOME/appsutil/log -mode=syncUtlFileDir -skipautoconfig=yes

cd $ORACLE_HOME/appsutil/install/$CONTEXT_NAME
sqlplus / as sysdba @adupdlib.sql <libext>

clean FND_NODE table

sqlplus apps/<Source Apps password>

EXEC FND_CONC_CLONE.SETUP_CLEAN;

Commit;
 

e adautocfg.sh চালানোর জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন :

cd <$ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME>
sh adautocfg.sh
 

8. লক্ষ্য অ্যাপ্লিকেশন কনফিগার করুন

লক্ষ্য অ্যাপ্লিকেশন নোডে অ্যাপ্লিকেশন কনফিগার করুন:

adcfgclone.pl শুরু করার আগে , PATCH FS পরিষ্কার করুন , FS_NE , এবং oraInventory ডিরেক্টরি।

খ. অ্যাপ্লিকেশনটি কনফিগার করতে নিম্নলিখিত কমান্ডগুলি চালান:

cd <COMMON_TOP>/clone/bin
export TIMEDPROCESS_TIMEOUT=-1
export T2P_JAVA_OPTIONS="-Djava.io.tmpdir=<Temp directory location>"
perl ./adcfgclone.pl appsTier dualfs
 

গ. এখানে সমস্ত ইনপুট প্রদান করুন।

d যদি এটি একটি পুনরাবৃত্ত ক্লোনিং উদাহরণ হয়, আপনি একটি CONTEXT_FILE এর ব্যাকআপও ব্যবহার করতে পারেন৷ নিম্নলিখিত কমান্ড চালান:

perl ./adcfgclone.pl appsTier <location of CONTEXT_FILE backup> dualfs
 

9. অ্যাপ্লিকেশান পোস্ট-ক্লোন পদক্ষেপ

অ্যাপ্লিকেশন নোডে ক্লোন-পরবর্তী পদক্ষেপগুলি সম্পাদন করুন:

ক আপনি অ্যাপ্লিকেশনটি কনফিগার করার পরে, FNDCPASS ব্যবহার করে অ্যাপ, sysadmin এবং কাস্টম স্কিমা পাসওয়ার্ড, যদি থাকে তবে পরিবর্তন করুন আদেশ৷

খ. অ্যাপের পাসওয়ার্ড পরিবর্তন করার পর, Autoconfig চালান ডাটাবেস নোড এবং অ্যাপ্লিকেশন নোডে।

গ. ক্লোন করা উদাহরণের জন্য অন্য কাস্টম পদক্ষেপগুলি সম্পাদন করুন, যদি থাকে।

10. লক্ষ্য অ্যাপ্লিকেশন পরিষেবাগুলি শুরু করুন

আপনি এখন টার্গেট ক্লোন ইনস্ট্যান্সের সমস্ত অ্যাপ্লিকেশন পরিষেবা শুরু করতে পারেন এবং ক্লোন ইনস্ট্যান্সের জন্য সমস্ত স্বাস্থ্য পরীক্ষা করতে পারেন৷

উপসংহার

পূর্ববর্তী পদক্ষেপগুলি ব্যবহার করে, আপনি একটি মাল্টিটেন্যান্ট আর্কিটেকচার সহ সংস্করণ 19c ডাটাবেস সহ নন-প্রোড সার্ভারে PROD ইন্সট্যান্স ক্লোন বা রিফ্রেশ করতে পারেন।

কোনো মন্তব্য করতে বা প্রশ্ন জিজ্ঞাসা করতে প্রতিক্রিয়া ট্যাব ব্যবহার করুন। আপনি আমাদের সাথে একটি কথোপকথনও শুরু করতে পারেন৷


  1. IDCS এর সাথে EBS SSO ইন্টিগ্রেশন

  2. ওরাকল গ্রিড 12c থেকে 19c পর্যন্ত আপগ্রেড করুন

  3. Oracle 19c এ DBCA কমান্ড ব্যবহার করে একটি ডাটাবেস ক্লোন করা হচ্ছে

  4. ডাটাবেস প্রশাসকদের জন্য নতুন Oracle 19c বৈশিষ্ট্য