web-dev-qa-db-ja.com

RMAN複製を使用して、既存のデータベースを「置換」できますか?

未使用のデータベースBがありますが、貴重ではありません。データベースAのコピーを作成したいのですが、RMANが補助データベースをセットアップするために必要な手動の手順をすべて実行したくありません。 RMANの複製を使用してデータベースAを介してデータベースBをコピーし、そのすべてを置き換えながらインスタンスを再利用できますか?この方法でデータベースコピーを同期できることはわかっています。これがその手順のより抜本的なバージョンにすぎないことを願っています。

ありがとう!

2
orbfish

RMANでA(ターゲット)からB(補助)に複製をセットアップするために必要な変更は、かなり簡単です。

1)補助データベースのdb_file_name_convertおよびlog_file_name_convertパラメーター。ファイルパスがまったく同じ場合、単純な名前の置換で十分です。

db_file_name_convert='PROD','TEST'
log_file_name_convert='PROD','TEST'

パスの変更がさらに複雑な場合は、完全パスの置換を指定できます。

db_file_name_convert='/u01/oradata/PROD/system_PROD_01.dbf','/export/home/Oracle/oradata/TEST/system_01.dbf','/u01/oradata/PROD/sysaux_PROD_01.dbf','/export/home/Oracle/oradata/TEST/sysaux_01.dbf'
log_file_name_convert='/u02/oradata/PROD/redo_PROD_01.log','/export/home/Oracle/oradata/TEST/redo_01.log','/u02/oradata/PROD/redo_PROD_02.log','/export/home/Oracle/oradata/TEST/redo_02.log'

2)インスタンスのOracleパスワードファイルをセットアップし、リモートログイン用に構成してください。

3)ターゲットインスタンスと補助インスタンスが両方のインスタンスサーバーのTNSNAMES.ORAで構成されていることを確認します(異なる場合)。

4)シャットダウンB(補助)、すべての制御ファイル、REDOログ、およびデータファイルを削除します。

5)NOMOUNTモードのスタートアップB。

11Gを実行している場合

6)次のようにrmanに接続します。

rman target sys/change_on_install@A auxiliary sys/change_on_install@B

duplicate target database to "B" from active database;

Oracleは、Aデータベースのバックアップモード、圧縮、転送、およびアンパックを処理して、Bデータベースを置き換えます。これが完了すると、データベースが完成します。

10Gを実行している場合

6)ターゲットインスタンスでフラッシュリカバリ領域を構成します。

ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 10G SCOPE=BOTH;
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '/u01/oraflash' SCOPE=BOTH;

7)rmanを使用してデータベースをバックアップします。 A(ターゲット)がアーカイブログモードの場合、これはホットで実行できます。そうでなければ、寒い。以下の圧縮はオプションです。いつも使っています。バックアップセットは、元のインスタンスサイズの約10〜20%になります。

rman target sys/change_on_install@A

backup database as compressed backupset;

8)リカバリエリアとして上記で選択した場所を使用して、データベースをサーバー補助にコピーします(これは、2つのサーバー間でストレージをクラスター化/共有している場合に適しています)。もちろん、日付はrmanバックアップを実行した日付です。ファイルが同じ場所に配置されることを確認してください。余裕がない場合はオプションがありますが、Unix/Linuxでの最も簡単な方法はシンボリックリンク、またはWindows(NTFSのみ)でのジャンクションです。

/u01/oraflash/PROD/backupset/2012_06_29

9)rmanを使用して、ターゲットデータベースを複製します。

rman target sys/change_on_instance@A auxiliary sys/change_on_install@B

duplicate target database to "B";

そして、あなたは起きています。

「少ない」労力で本当に新しいクローンを作成したい場合は、非常にシェルデータベース(パラメーターが1つしかないinit.oraファイル)をセットアップし、rman duplicateでSPFILEパラメーターを使用してパラメーターファイルをコピーします。新しいインスタンスに、途中ですべての名前ベースのパラメーターを変換します。テストマシンに複数のインスタンスがあり、メモリ調整が微調整を必要とする場合を除いて、これは適切な場合があります。

1
REW