用途
CROSSCHECK
コマンドを使用すると、実際の物理的なバックアップおよびコピーを、RMANリポジトリ内の論理レコードと同期させることができます。
関連項目: リカバリ・カタログ内のデータベース・レコードを管理する方法は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。 |
前提条件
RMANがターゲット・データベース・インスタンスに接続され、そのインスタンスが起動されている必要があります。
ディスクのクロスチェックを行うためのメンテナンス・チャネルは不要です。メディア・マネージャを使用する場合、それに対する自動チャネルが構成されていないときは、ALLOCATE CHANNEL FOR MAINTENANCE
を実行してからCROSSCHECK
を実行する必要があります。たとえば、SBTデバイスの自動SBTチャネルを構成せずにSBTチャネルでバックアップを作成した場合は、このチャネルを手動で割り当ててからでなければ、CROSSCHECK
によるバックアップのチェックは実行できません。さらに、各種メディア・マネージャ・オプション(プール、サーバー、ライブラリなど)でバックアップを実行した場合は、それぞれの組合せに対してメンテナンス・チャネルを割り当てる必要があります。
クロスチェックでは、指定されたすべてのバックアップおよびコピーが検証されます。これは、以前のデータベース・インカネーションで作成されたものも対象となります。
使用上の注意
RMANでは、操作対象のすべてのターゲット・データベースの制御ファイル内にバックアップに関するメタデータを常に保持します。RMANをリカバリ・カタログとともに使用する場合は、リカバリ・カタログに登録されたすべてのデータベースのメタデータも保持されます。
バックアップがディスク上に存在する場合、CROSSCHECK
を実行すると、ファイルのヘッダーが有効かどうかを判断できます。バックアップがテープ上に存在する場合は、RMANが、チェック対象のバックアップ・ピースの名前と場所をRMANリポジトリに問い合せます。RMANは、このメタデータをターゲット・データベースのサーバーに送信し、メディア管理ソフトウェアにバックアップの情報を問い合せます。次に、メディア管理ソフトウェアがメディア・カタログをチェックして、バックアップのステータスをサーバーにレポートします。
EXPIREDおよびAVAILABLEステータス
RMANリポジトリに記録されているバックアップ・セットおよびコピーのステータスは、LIST
、V$
ビュー、またはリカバリ・カタログ・ビュー(RMANをカタログとともに使用する場合)で確認できます。表2-4に、各ステータスの意味を示します。
CROSSCHECK
コマンドで処理されるのは、クロスチェックに使用されているチャネルと同じデバイス・タイプで作成されたファイルのみです。CROSSCHECK
コマンドは、リポジトリでAVAILABLE
またはEXPIRED
のマークが付いているオブジェクトのみをチェックします。この処理は、DISK
チャネルの場合はディスク上のファイルを検査し、sbtチャネルの場合はメディア・マネージャに問い合せて行われます。
表2-4 クロスチェックのステータスの意味
ステータス | 説明 |
---|---|
オブジェクトがファイル・システム内(
バックアップが |
|
オブジェクトはRMANで使用可能です。バックアップ・セットを |
Data Guard環境でのクロスチェック
バックアップの関連付けとアクセス可能性の違いについては、「Data Guard環境でのRMANのバックアップ」を参照してください。Data Guard環境では、バックアップまたはコピーを作成するデータベースはファイルに関連付けられます。Data Guard環境のどのデータベースに接続されていても、バックアップに接続可能であれば、CHANGE
、DELETE
、CROSSCHECK
などのメンテナンス・コマンドをバックアップに使用できます。通常、RMANでは、データベース上で作成されたテープ・バックアップはその環境のすべてのデータベースにアクセス可能であるとみなされますが、ディスク・バックアップは作成元のデータベースのみにアクセス可能であるとみなされます。
RMANは、バックアップと関連付けられたデータベースにTARGET
として接続されている場合のみ、バックアップのステータスをAVAILABLE
からEXPIRED
またはDELETED
に更新できます。バックアップがターゲット・データベースに関連付けられていないためにRMANが削除を実行できない場合は、そのバックアップが関連付けられているデータベースで、同じCROSSCHECK
操作をそのファイルに実行するように求めるプロンプトが表示されます。このように、RMANでは、不適切なSBT構成による意図しないステータス変更を防止しています。
たとえば、RMANをスタンバイ・データベースstandby1
にTARGET
として接続し、そのデータベースをテープにバックアップするとします。バックアップを手動でテープから削除し、standby2
でバックアップのクロスチェックを実行すると、standby1
でクロスチェックを実行するように求めるプロンプトが表示されます。バックアップが削除されたことがメディア・マネージャからレポートされた場合は、standby1
のクロスチェックにより、テープ・バックアップのステータスがEXPIRED
に更新されます。
構文
crosscheck::=
(listObjList::=、archivelogRecordSpecifier::=、foreignlogRecordSpecifier::=、maintQualifier::=、recordSpec::=、deviceSpecifier::=)
例2-63 すべてのバックアップとコピーのクロスチェック
この例では、デフォルトの構成済チャネルがDEVICE TYPE sbt
であると仮定して、すべてのバックアップとディスクをクロスチェックします(出力の一部を示します)。RMANではディスク・チャネルが事前に構成されるため、手動で割り当てる必要はありません。
RMAN> CROSSCHECK BACKUP; allocated channel: ORA_SBT_TAPE_1 channel ORA_SBT_TAPE_1: SID=84 device type=SBT_TAPE channel ORA_SBT_TAPE_1: Oracle Secure Backup allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=86 device type=DISK backup piece handle=/disk2/backup/08i9umon_1_1 RECID=7 STAMP=614423319 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/disk2/backup/09i9umso_1_1 RECID=8 STAMP=614423448 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/disk1/cfauto/c-26213402-20070213-00 RECID=9 STAMP=614423452 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=0bi9uo81_1_1 RECID=10 STAMP=614424833 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=c-26213402-20070213-01 RECID=11 STAMP=614424851 crosschecked backup piece: found to be 'AVAILABLE' . . .
例2-64 日付範囲内でのクロスチェック
この例では、指定した6週間のバックアップ・セットの状態をメディア・マネージャに問い合せます。RMANでは、NLS_DATE_FORMAT
パラメータで指定した日付書式を使用します(この例では、'DD-MON-YY
'です)。最初のコマンドは、テープ上のバックアップのみをクロスチェックします。
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt; CROSSCHECK BACKUP COMPLETED BETWEEN '01-JAN-07' AND '14-FEB-07'; RELEASE CHANNEL;
次のコマンドは、ディスクのみをクロスチェックするようにDEVICE TYPE DISK
を指定します。
CROSSCHECK BACKUP DEVICE TYPE DISK COMPLETED BETWEEN '01-JAN-07' AND '14-FEB-07';
SBTがデフォルトのチャネルの場合は、デフォルトのチャネルでCROSSCHECK
を実行して、ディスクとSBTバックアップの両方をクロスチェックできます。
CROSSCHECK BACKUP COMPLETED BETWEEN '01-JAN-07' AND '14-FEB-07';