データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

バージョン19cデータベースを使用したOracleEBSのクローン作成

この投稿では、RedHat®EnterpriseLinux®でRecovery Manager(RMAN)ホットバックアップを使用して、バージョン19cデータベースでオンプレミスのOracle®E-BusinessSuite®(EBS)R12.2を使用して段階的にクローンを作成するプロセスについて説明します。サーバー。これらの手順は、さまざまなオペレーティングシステムにも適用されます。

EBSクローン作成

EBSのクローン作成を実行するには、次の高レベルの手順を完了する必要があります。

  1. ソースデータベースとアプリケーションノードでプリクローンユーティリティを実行します。
  2. RMANホットバックアップを使用して、アーカイブを含む完全なコンテナデータベース(CDB)データベースをバックアップし、ターゲットノードにコピーします。
  3. ターゲットデータベースとアプリケーションノードをクリーンアップします。
  4. ソースアプリケーションバイナリとデータベースバイナリをターゲットノードにコピーします。
  5. ターゲットデータベースノードで$Oracle_Homeを構成します。
  6. データベースを復元して回復します。
  7. ターゲットデータベースノードで復元後の手順を実行します。
  8. ターゲットアプリケーションノードでアプリケーションを構成します。
  9. アプリケーションノードでクローン後の手順を実行します。
  10. ターゲットアプリケーションサービスを開始します。

手順の詳細は次のとおりです。

1。プレクローンユーティリティを実行する

ソースデータベースノードとアプリケーションノードでプリクローンユーティリティを実行して、ドライバと構成ファイルを作成します。このユーティリティは、データベースとアプリケーションのバイナリをターゲットノードにコピーする前に、ターゲットノードでデータベースとアプリケーションのバイナリを構成します。

a。次のコマンドを実行して、$ ORACLE_HOMEのデータベースノードにあるプラガブルデータベース(PDB)環境ファイルを取得します。

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

b。アプリケーションノードで次のコマンドを実行します。

. EBSApps run (Source RUN FS)
cd $ADMIN_SCRIPTS_HOME
perl adpreclone.pl appsTier

2。 CDBをバックアップする

RMANホットバックアップを使用して、アーカイブを含む完全なCDBデータベースをバックアップし、ターゲットノードにコピーします。

a。次のコマンドを実行して、$ORACLE_HOMEにあるCDB環境ファイルを入手します。

cd $ORACLE_HOME
. <CDB_NAME>_hostname.env
connect target /

b。次のコマンドを実行して、この手順を完了します。

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。クリーンアップ

ターゲットデータベースとアプリケーションノードをクリーンアップします。

データベースノードで次の手順を実行します。

a。クリーンアップする前に、次の重要な構成ファイルとディレクトリのバックアップを取ります。

  • $ CONTEXT_FILE
  • 環境ファイル
  • dbs
  • $TNS_ADMINディレクトリ。

b。ターゲットOHを削除し、データベースを削除します。

c。 oraInventoryのコンテンツを削除します 。

UTLに注意してください ディレクトリにはシンボリックリンクがあってはなりません。シンボリックリンクが存在する場合は、それらを削除して、物理ディレクトリ構造を作成します。

アプリケーションノードで次の手順を実行します。

a。 RUNのバックアップを取る およびPATCH$ CONTEXT_FILE および$TNS_ADMIN RUN FSのディレクトリ .b。ターゲットノードをメモしますRUNFS アプリケーションノードをクリーンアップする前c。 FS1をクリーンアップします 、 FS2 FS_NE 、および oraInventory ディレクトリ。

4。バイナリをコピーする

次の手順を実行して、ソースアプリケーションバイナリとデータベースバイナリをターゲットノードにコピーします。

a。データベースノードで、バージョン19.0.0(19c)バイナリをコピーしてターゲットデータベースサーバーに転送します。

b。アプリケーションノードで、EBSappsのみを転送します RUN FSのディレクトリ ソースからターゲットの下のターゲットノードへRUNFS

5。 $ Oracle_Home

を構成します

ターゲットデータベースノードで$Oracle_Homeを構成します。

adcfgclone.plを実行する前に $ Oracle_Homeを構成するには、 oraInventoryをクリーンアップします。 ディレクトリ。新しいサーバーで初めてクローンを作成する場合は、次の手順のみを実行し、すべての入力に値を指定します。次の手順を実行します。

a。コンテキストファイルを作成します:

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>

b。 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>]

c。これが繰り返し複製されたインスタンスである場合は、 CONTEXT_FILEを使用します ターゲットデータベースバイナリを構成するためのバックアップ:

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

d。これが繰り返し複製されたインスタンスである場合は、 dbsを元に戻します およびTNS すべての構成ファイルと初期化パラメーターが構成後にそのまま残るようにファイルを作成します。

e。リスナーを起動します。

6。データベースを復元して回復します。

$ Oracle_Homeを構成した後、以前に作成したバックアップを使用して、ターゲットデータベースの復元を開始します。

a。復元する前に、ターゲットノードで次のパラメータが正しいことを確認してください。

  • db_file_name_convert
  • log_file_name_convert

b。 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インスタンスを開いたら、次の手順を実行します。

a。 CDB envファイルをソースし、ソースPDBnameとして復元したため、PDB名を変更します。次のコマンドを使用して、ターゲット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

b。 PDB envファイルをソースし、次のコマンドを実行してターゲットを設定します UTL_FILE_DIR Oracleデータベースの値:

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

c。次のコマンドを実行して、_utlfiledir.txtを編集します Oracle_Home / dbsの下のファイル それに応じてUTLパスを変更します:

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。ターゲットアプリケーションを構成する

ターゲットアプリケーションノードでアプリケーションを構成します:

a。 adcfgclone.plを開始する前に 、 PATCH FSをクリーンアップします 、 FS_NE 、および oraInventory ディレクトリ。

b。次のコマンドを実行して、アプリケーションを構成します。

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

c。ここにすべての入力を入力します。

d。これが繰り返し複製インスタンスである場合は、CONTEXT_FILEのバックアップを使用することもできます。次のコマンドを実行します:

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

9。アプリケーションのクローン作成後の手順

アプリケーションノードでクローン作成後の手順を実行します。

a。アプリケーションを構成した後、FNDCPASSを使用して、apps、sysadmin、およびカスタムスキーマパスワード(存在する場合)を変更します。 コマンド。

b。アプリのパスワードを変更した後、Autoconfigを実行します データベースノードとアプリケーションノードで。

c。複製されたインスタンスに対して、他のカスタム手順がある場合はそれを実行します。

10。ターゲットアプリケーションサービスを開始します

これで、ターゲットクローンインスタンスのすべてのアプリケーションサービスを開始し、クローンインスタンスのすべての健全性チェックを実行できます。

結論

上記の手順を使用して、マルチテナントアーキテクチャを備えたバージョン19cデータベースを備えた非本番サーバーにPRODインスタンスのクローンを作成または更新できます。

コメントや質問をするには、[フィードバック]タブを使用します。私たちと会話を始めることもできます。


  1. Oracle19cでDBCAコマンドを使用してデータベースのクローンを作成する

    このブログでは、Oracle19cの新機能であるDatabaseConfiguration Assistant(DBCA)を使用して、ソースデータベースのバックアップを作成せずにリモートプラガブルデータベース(PDB)をコンテナデータベース(CDB)に複製する方法を紹介します。 ソースからターゲットへのクローン作成にかかる時間は最小限です。 ソースDBの詳細 CDB:LCONCDBPDB:LCON 以下は総数です。ソース内の各コンテナ(CDBおよびPDB)の下にあるDBFファイルのうち、クローンがターゲット内にある後に検証する必要があります。上記のソースDBから、ターゲットホスト内にCDB

  2. データベース管理者向けの新しいOracle19c機能

    Oracle®Databaseバージョン19cでは、多数の新機能と改善された機能が導入されました。 はじめに Oracle 19cは、Oracle Database 12cリリース2製品ファミリの最後であり、長期的なサポートがあります。 Linux®、Windows®、Solaris®、HP /UX®、AIX®プラットフォーム、およびOracleCloudで使用できます。 Oracle 19cは、すべての運用および分析ワークロードに対して最高のパフォーマンス、スケーラビリティ、信頼性、およびセキュリティ機能をお客様に提供します。 機能 データベース管理者(DBA)のタスクを簡単にする新機能