The Geek Diary
この記事では、ASMのプライマリ・データベースにRMANを使用して、通常のファイル・システム上に物理スタンバイ・データベースを作成するための詳細な手順について説明します。
概要
スタンバイデータベースは、次の2つの方法で作成できます:
- RMANを使用した通常のリストアおよびリカバリ。
- RMANを使用したスタンバイ用の重複データベースの作成。
1
- ASMプライマリ-データベース(データファイル、スタンバイ用のControlfileおよびArchivelogs)のバックアップを実行します
- スタンバイ-サーバーでバックアップ-ピースを使用可能にします。
- スタンバイ時にパラメータファイルとパスワードファイルを作成します。
- 両方のサーバーでOracle net servicesを構成します。
- スタンバイ-データベースでリストアとリカバリを実行します。
- アーカイブをスタンバイに転送するようにプライマリデータベースを設定します。
- データベースをRecover managedモードにしてRedo適用を開始します。
方法2
RMAN重複機能を使用してスタンバイ-データベースを作成します。 同じことを達成するための手順は、次の記事で概説されています。
方法1–RMAN
を使用した通常のリストアおよびリカバリ1. ASMプライマリ・データベース(データファイル、スタンバイ用のControlfile&アーカイブログ)のバックアップを実行します。)
$ rman target / RMAN> backup database format '/backup/database_%U.bkp';RMAN> backup archivelog all format '/backup/archivelog_%U.bkp';RMAN> backup current controlfile for standby format '/backup/stdb_cntl_%U.bkp';
2. スタンバイサーバーでバックアップピースを使用可能にする:
-FTPまたはSCPスタンバイサーバーへのバックアップピース。 FTPを実行している間は、バイナリモードでのみ行うようにしてください。 または
–NFS mount次に、プライマリデータベースにマウントしたのと同じ名前でNFSをスタンバイサーバーにマウントします。 または
–バックアップがテープ上にある場合は、スタンバイサーバー上のバックアップを復元できるように、スタンバイサーバー上で適切な変更を加え
3. スタンバイ時にパラメータファイル&パスワードファイルを作成します。 プライマリデータベースパラメータファイルをコピーし、必要な変更を行います:
db_unique_name='stnd_db'instance_name='stnd_db'standby_archive_dest=''db_file_name_convert='+DATA/prim_db/datafile/', '/u01/oradata/stnd_db/', '+DATA/prim_db/tempfile/', '/u01/oradata/stnd_db/' log_file_name_convert='+DATA/prim_db/onlinelog/', '/u01/oradata/stnd_db/'
プライマリと同じパスワードを使用して、スタンバイ-データベース用のパスワード-ファイルを作成します
$ export ORACLE_SID=stand_db $ orapwd file=orapwstand_db password=oracle
4. 両方のサーバーでのOracle net servicesの構成
In standby server - configure listener.In Primary server - configure tnsnames for standby. - check connectivity using tnsping.
5. スタンバイデータベースで復元と復元を実行します。 Startup standbyインスタンスをマウントし、ステップ1で実行した’standby controlfile’のバックアップからstandby controlfileを復元します。
$ export ORACLE_SID=stnd_db$ rman target /RMAN> restore standby controlfile from '/backup/stdb_cntl_3oqff2fb_.bkp';
– 次のようにオプション’standby controlfile’を使用する必要があります
RMAN> RESTORE STANDBY CONTROLFILE from ...
else convertパラメータDB_FILE_NAME_CONVERTは使用されません。
–スタンバイ制御ファイルが復元された後、AUXインスタンスをマウントし、DB_FILE_NAME_CONVERTパラメータが使用されていることを確認し、正しいデータファイルパス/名 例えば:
RMAN> REPORT SCHEMA ; ( or sql> select name from v$datafile ; )
データベースのマウント
RMAN> Alter database mount;
バックアップ部分がまったく同じディレクトリ構造にある場合、またはディレクトリ構造がスタンバイサーバーにNFSマウントされている場合は、データベースを直接復元し、バックアップ部分が別の場所にある場合は、手動でカタログ化する必要があります。 例えば:
RMAN> catalog backuppiece '/backup/database_2x21kd12.bkp';
カタログオプションの詳細については、以下の投稿を参照してください。
データベースの復元
次の構文を使用してデータベースを復元します(set newnameを使用)
RMAN> run { set newname for datafile 1 to '': Set newname for datafile 2 to ''; . . restore database; Switch datafile all; }
データベースのリカバリ
次のコマンドを使用して、archivelogバックアップで使用可能な最後のシーケンスを確認します。これは、そのarchivelogまでデータベースを回復するのに役立ちます。
RMAN > list backup of archivelog all;
バックアップの最後のarchivelogの最後のシーケンスが50であると仮定しましょう。 ここではarchivelogシーケンス50までデータベースを回復しているので、UNTIL SEQUENCE句のシーケンス番号は次のようになります50 (+1)
RMAN> Recover database until sequence 51;
6. アーカイブをスタンバイに転送するようにプライマリデータベースを構成します。 プライマリデータベースで次のパラメータを設定します:
log_archive_dest_2='SERVICE=stnd_db'
ログスイッチを実行し、アーカイブがスタンバイ宛先に転送されていることを確認します。
7. Redo applyを開始するには、データベースをRecover managedモードにします。 スタンバイ-データベースで、管理回復プロセスを開始します:
SQL> Recover managed standby database disconnect from session;