このチュートリアルでは、スタンバイをOracleのプライマリデータベースと同期する手順を学習します。
次の場合に、プライマリとのスタンバイDB同期を実行できます。
- プライマリDBとスタンバイDBの間に大きなギャップがある場合
- プライマリでアーカイブログが欠落している場合
- プライマリでアーカイブログが破損している場合
スタンバイをOracleのプライマリデータベースと同期する手順
手順1:スタンバイDBの場合–以下のコマンドを使用してスタンバイデータベースのリカバリをキャンセルします。
Sql>alter database recover managed standby database cancel;
ステップ2:プライマリDBで–スタンバイが同期していないポイントを特定します
sql>column current _scn for 999999999 sql>select current_scn from v$database;
手順3:プライマリDBで–スタンバイDBが同期しなくなった後、プライマリDBにデータファイルが追加されたかどうかを確認します。はいの場合、スタンバイでそのデータファイルを個別に復元する必要があります。データファイルが追加されていない場合は、以下の手順でスタンバイ同期アクティビティを続行します。
sql>select file#, name, creation_change# from v$datafile_header where creation_change# >= Step 2's scn;
ステップ4:プライマリDBで–RMANを使用してSCNベースの増分バックアップを取ります。ここでは、手順2で取得したSCN番号を使用しています。このバックアップはディスクに保存する必要があります。また、バックアップを高速化するために、バックアップの作成中にチャネルを割り当てることを忘れないでください。
また、ファイルのバックアップを管理しています。
RMAN> run{ allocate channel ch 15 device type disk ; backup as compressed backupset incremental from scn ( scn from step 2) database format '/u002/rman/inc_backup_%U' release channel ch 15; RMAN>backup current controlfile for standby format '/u001/tmp/standby_ctrl.bkp';
ステップ5:バックアップファイルをプライマリDBからスタンバイDBに転送する
プライマリーについて–
OS> scp -p /u002/rman/inc_back* [email protected]:/u002/rman_stdby/ OS> scp -p /u002/rman/standby_ctrl.bkp [email protected]:/u002/rman_stdby/
ステップ6:スタンバイ中– rmanに接続し、コピーしたバックアップをカタログ化します
RMAN> catalog start with '/u002/rman_stdby/';
ステップ7:スタンバイDBの場合–バックアップから制御ファイルを復元します
RMAN>restore standby control file to '/tmp/control.ctl';
手順8:スタンバイDBの場合–復元されたスタンバイ制御ファイルを元の場所にコピーします。以下のコマンドを使用して、制御ファイルの元の場所を取得します。
sql>show parameter control_files #OR sql>select name from v$controlfile;
そして、元の場所の制御ファイルを/tmp/control.ctl
に置き換えます。ステップ9:スタンバイ時–スタンバイデータベースをシャットダウンします
sql>shutdown immediate sql>startup mount
ステップ10:スタンバイ–ここで、rmanを使用してステップ3のデータファイルを復元します。このステップは、ステップ3で出力を取得している場合にのみ実行します。
RMAN>restore data file datafile_number(from step3); RMAN>recover database noredo;
ステップ11:スタンバイ中–以下のコマンドでリカバリを開始します。
sql>recover managed standby database disconnect from session;
手順12:スタンバイデータベースがプライマリDBと同期しているかどうかを確認します。両側のアーカイブログリストをチェックして、現在のログシーケンスを確認します
これで、Oracleの実環境でスタンバイをプライマリデータベースと同期する手順を学習しました。