3.9 RESYNC CATALOG
目的
RESYNC CATALOG
コマンドを使用すると、リカバリ・カタログ・スキーマとターゲット・データベース制御ファイルとのメタデータの完全再同期化を実行できます。また、FROM CONTROLFILECOPY
句を使用して、現行の制御ファイルを制御ファイルのコピー内のRMANメタデータと再同期化することもできます。
通常、次の場合にRESYNC CATALOG
を実行します。
-
再同期化を自動的に実行するRMANコマンドを実行したときに、リカバリ・カタログが使用不可能な場合。
-
ターゲット・データベースが
ARCHIVELOG
モードで実行されている場合。これは、オンラインREDOログ・スイッチが発生するときや、REDOログをアーカイブするときにリカバリ・カタログが自動的に更新されないためです。 -
ターゲット・データベースの物理構造に、表領域の追加または削除などの変更を行った場合。ログのアーカイブの場合と同様に、物理スキーマを変更した場合も、リカバリ・カタログは自動的には更新されません。
-
RMANが、スタンバイ・データベースに
TARGET
として接続されている場合。このデータベースで実行されたRMAN操作に関するメタデータを使用してリカバリ・カタログを更新する場合。 -
RMANが、スタンバイ・データベースに
TARGET
として接続されている場合。プライマリ・データベースでの物理的な変更に関するメタデータを使用してリカバリ・カタログを更新する場合(例3-45を参照)。
前提条件
RMANがマウント済またはオープン状態のデータベースにTARGET
として接続され、またリカバリ・カタログ・データベースにCATALOG
として接続されている必要があります。複数のデータベースでRESYNC CATALOG
を実行する場合、各ターゲット・データベースにネットワーク接続が必要です。
使用上のノート
完全同期化と部分同期化のどちらでも実行できます。完全再同期化を実行するときに、ターゲット・データベースにマウントされた現行の制御ファイルがある場合(ただし、新しく作成された制御ファイルおよび以前に使用された制御ファイルより古い制御ファイルを除く)、RMANは物理スキーマについて変更があったすべてのレコード(データファイル、表領域、REDOスレッドおよびオンラインREDOログ)を更新します。データベースがオープン状態の場合、RMANはロールバック・セグメントについてのデータも取得します。部分再同期化では、RMANは物理スキーマおよびロールバック・セグメントに関するメタデータの再同期化は行いません。
RMANコマンドの実行時にターゲット制御ファイルがマウントされており、カタログ・データベースが使用可能である場合、RMANは必要に応じてコマンドの実行時にリカバリ・カタログを自動的に再同期化します。RMANは、データベースに構造変更(データベース・ファイルの追加または削除、新しいインカネーションの作成など)を行った後またはRMANの永続的な構成を変更した後に完全再同期化を実行します。
Oracle Database 11g以上では、Data Guard環境で単一のリカバリ・カタログ・スキーマがすべてのデータベースのデータベース・ファイル名を追跡できます。また、このカタログ・スキーマは、すべてのデータベースのオンラインREDOログ、スタンバイREDOログ、一時ファイル、アーカイブREDOログ・ファイル、バックアップ・セットおよびイメージ・コピーが作成される場所も追跡します。RMANは、TARGET
としてスタンバイ・データベースに接続されているときに、プライマリ・データベースのスタンバイ制御ファイルに物理スキーマの変更に関する情報が格納されていると、暗黙的に完全再同期化を実行します。
関連項目:
カタログ再同期化の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
セマンティクス
構文要素 | 説明 |
---|---|
|
ターゲット・データベースの現行の制御ファイル(デフォルト)内のRMANメタデータで、リカバリ・カタログを更新します。 RMANによって、制御ファイルの読取り一貫性ビューを取得するために、スナップショット制御ファイルが作成され、次に、スナップショットからの新しい情報でリカバリ・カタログが更新されます。
|
FROM CONTROLFILECOPY ' filename ' |
制御ファイルのコピーからのRMANメタデータで、現行の制御ファイルおよびリカバリ・カタログを更新します(例3-44を参照)。 主に、 ノート: 制御ファイルのコピーは、現行のデータベース・インカネーション内に存在しているか、または以前のインカネーション(最新の |
FROM DB_UNIQUE_NAME {ALL | db_unique_name } |
リカバリ・カタログを、指定した1つ以上のデータベースの制御ファイルのメタデータで再同期化します(例3-46を参照)。
リカバリ・カタログ内のデータベースは、 ノート: 指定されたデータベースに対して 例として、最近、RMANを ノート: この機能が正しく動作するには、パスワード・ファイルがすべてのリモート・データベースで同じである必要があります。パスワード・ファイルを構成内のすべてのリモート・データベースに手動でコピーする必要があります。 |
例
例3-43 ARCHIVELOGモードでのリカバリ・カタログの再同期化
この例では、アーカイブされていないREDOログ・ファイルをすべてアーカイブしてから、ターゲット・データベースの完全再同期化を実行します。
RMAN> CONNECT TARGET "sbu@prod AS SYSBACKUP"
RMAN> CONNECT CATALOG rco@catdb
recovery catalog database Password: password
connected to recovery catalog database
RMAN> ALTER SYSTEM ARCHIVE LOG CURRENT;
RMAN> RESYNC CATALOG;
例3-44 制御ファイル・コピーからのリカバリ・カタログの再同期化
バックアップ情報を制御ファイル・コピーから取得するとします。
RMANクライアントを起動し、ターゲット・データベースとリカバリ・カタログに接続するとします。次のコマンドでは、ターゲット・データベースを停止してマウントし、バックアップ制御ファイルからのメタデータを使用して現行の制御ファイルのRMANリポジトリを更新した後、データベースをオープンします。
STARTUP FORCE MOUNT RESYNC CATALOG FROM CONTROLFILECOPY '/disk1/cfile.dbf'; ALTER DATABASE OPEN;
例3-45 構造を変更後のリカバリ・カタログの再同期化
次の条件を満たしているとします。
-
Data Guard環境にプライマリ・データベース
prod
およびスタンバイ・データベースstandby3
が含まれる。 -
プライマリおよびスタンバイ・データベースの両方をカタログに登録している。
-
データベースおよびアーカイブ・ログをバックアップしている。
-
次のように、SQL*Plusを起動し、データベース
prod
に接続して、データファイルを表領域users
に追加します。
SQL> ALTER TABLESPACE users ADD DATAFILE '?/oradata/prod/users03.dbf' 2 SIZE 1M AUTOEXTEND ON 3 NEXT 10K MAXSIZE 10M;
目標は、この変更に関するメタデータを使用してリカバリ・カタログを更新することです。変更内容がstandby3
に伝播された後、RMANクライアントを起動してTARGET
としてstandby3
に接続し、リカバリ・カタログに接続します。
次のステップは、CONFIGURE
コマンドのCONNECT IDENTIFIER
句を使用して、Data Guard環境のスタンバイ・データベースの接続識別子を定義します。
CONFIGURE DB_UNIQUE_NAME standby3 CONNECT IDENTIFIER 'inst2';
ここで、RESYNC CATALOG ... ALL
コマンドを使用して、Data Guard環境内のすべてのデータベースの変更とリカバリ・カタログを再同期します。特定のスタンバイ・サイトの情報にカタログを再同期することもできますが、ALL
オプションを使用し、Data Guard環境で発生したすべてのデータベース変更を反映し、リカバリ・カタログ・スキーマを最新の状態に保つことをお薦めします。
RMAN> RESYNC CATALOG FROM DB_UNIQUE_NAME ALL;
リカバリ・カタログは、データベースprod
のusers
表領域に追加されたデータファイルに関するメタデータを使用して更新されます。
例3-46 リカバリ・カタログとスタンバイ・データベースの再同期化
Data Guard環境に、プライマリ・データベースprod
およびスタンバイ・データベースdgprod3
が存在するとします。目標は、dgprod3
のRMAN構成を作成することです。
RMANをTARGET
としてデータベースprod
に接続してから、リカバリ・カタログに接続します。次のように、CONFIGURE
を使用して、リカバリ・カタログでdgprod3
のRMANの永続構成を更新します。
CONFIGURE DEFAULT DEVICE TYPE TO sbt FOR DB_UNIQUE_NAME dgprod3; CONFIGURE DB_UNIQUE_NAME dgprod3 CONNECT IDENTIFIER 'inst3';
dgprod3
ではまだバックアップ操作やその他のRMAN操作を実行していないため、dgprod3
の制御ファイルおよびdgprod3
のリカバリ・カタログ・メタデータは同期化されていません。次のように、同じRMANセッションで、dgprod3
の制御ファイルをリカバリ・カタログと同期させます。
RESYNC CATALOG FROM DB_UNIQUE_NAME dgprod3;
RMANは、dgprod3
でデフォルトのデバイス・タイプをSBTに更新し、dgprod3
制御ファイルの名前を使用してリカバリ・カタログを更新します。