日本語PDF

2.14 CROSSCHECK

目的

CROSSCHECKコマンドを使用すると、実際の物理的なバックアップおよびコピーを、RMANリポジトリ内の論理レコードと同期させることができます。

関連項目:

リカバリ・カタログ内のデータベース・レコードを管理する方法を学習するには、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

前提条件

RMANがターゲット・データベース・インスタンスに接続され、そのインスタンスが起動されている必要があります。

ディスクのクロスチェックを行うためのメンテナンス・チャネルは不要です。メディア・マネージャを使用する場合、それに対する自動チャネルが構成されていないときは、ALLOCATE CHANNEL FOR MAINTENANCEを実行してからCROSSCHECKを実行する必要があります。たとえば、SBTデバイスの自動SBTチャネルを構成せずにSBTチャネルでバックアップを作成した場合は、このチャネルを手動で割り当ててからでなければ、CROSSCHECKによるバックアップのチェックは実行できません。さらに、各種メディア・マネージャ・オプション(プール、サーバー、ライブラリなど)でバックアップを実行した場合は、それぞれの組合せに対してメンテナンス・チャネルを割り当てる必要があります。

CROSSCHECKでは、指定されたすべてのバックアップおよびコピーが検証されます。これは、以前のデータベース・インカネーションで作成されたものも対象となります。

プリプラグイン・バックアップの場合、CDBは読取り/書込みモードでオープンしている必要があります。また、SYSDBA権限またはSYSBACKUP権限を持つ共通ユーザーとして接続する必要があります。

使用上のノート

RMANでは、操作対象のすべてのターゲット・データベースの制御ファイル内にバックアップに関するメタデータを常に保持します。RMANをリカバリ・カタログとともに使用する場合は、リカバリ・カタログに登録されたすべてのデータベースのメタデータも保持されます。

バックアップがディスク上に存在する場合は、CROSSCHECKによって、そのファイルのヘッダーが有効かどうかが判別されます。バックアップがテープ上に存在する場合は、RMANが、チェック対象のバックアップ・ピースの名前と場所をRMANリポジトリに問い合せます。RMANは、このメタデータをターゲット・データベースのサーバーに送信し、メディア管理ソフトウェアにバックアップの情報を問い合せます。次に、メディア管理ソフトウェアがメディア・カタログをチェックして、バックアップのステータスをサーバーにレポートします。

EXPIREDおよびAVAILABLEステータス

RMANリポジトリに記録されているバックアップ・セットおよびコピーのステータスは、LISTV$ビュー、またはリカバリ・カタログ・ビュー(RMANをカタログとともに使用する場合)で確認できます。表2-4に、各ステータスの意味を示します。

CROSSCHECKコマンドで処理されるのは、クロスチェックに使用されているチャネルと同じデバイス・タイプで作成されたファイルのみです。CROSSCHECKコマンドは、リポジトリでAVAILABLEまたはEXPIREDのマークが付いているオブジェクトのみをチェックします。この処理は、DISKチャネルの場合はディスク上のファイルを検査し、sbtチャネルの場合はメディア・マネージャに問い合せて行われます。

表2-4 CROSSCHECKのステータスの意味

ステータス 説明

EXPIRED

オブジェクトがファイル・システム内(DISKの場合)またはメディア・マネージャ(sbtの場合)で見つかりません。バックアップ・セットは、そのセット内のすべてのバックアップ・ピースがEXPIREDの場合に、EXPIREDになります。

CROSSCHECKコマンドは、見つからなかったファイルのリポジトリ・レコードを削除せずに、そのファイルのリポジトリ・レコードをEXPIREDに更新します。DELETE EXPIREDを実行すると、期限切れのファイルのリポジトリ・レコードと、ステータスがEXPIREDの既存の物理ファイルを削除できます。

バックアップがEXPIREDの場合は、後でクロスチェックを再実行して、期限切れになっていたバックアップが使用可能かどうかを確認できます。このような慎重な処理は、RMANをメディア・マネージャとともに使用している場合に効果があります。たとえば、一部のバックアップ・ピースまたはコピーが、PARMSチャネル設定ミスのため、誤ってEXPIREDでマークされている場合は、ファイルが実際にメディア・マネージャに存在していることを確認した後、CROSSCHECK BACKUPを再実行して、これらのファイルをAVAILABLEステータスにリストアします。

AVAILABLE

オブジェクトはRMANで使用可能です。バックアップ・セットをAVAILABLEにするには、そのセット内のすべてのバックアップ・ピースのステータスがAVAILABLEになる必要があります。

Data Guard環境でのクロスチェック

バックアップの関連付けとアクセス可能性の違いについては、「Data Guard環境でのRMANのバックアップ」を参照してください。Data Guard環境では、バックアップまたはコピーを作成するデータベースはファイルに関連付けられます。Data Guard環境のどのデータベースに接続されていても、バックアップに接続可能であれば、CHANGEDELETECROSSCHECKなどのメンテナンス・コマンドをバックアップに使用できます。通常、RMANでは、データベース上で作成されたテープ・バックアップはその環境のすべてのデータベースにアクセス可能であるとみなされますが、ディスク・バックアップは作成元のデータベースのみにアクセス可能であるとみなされます。

RMANは、バックアップと関連付けられたデータベースにTARGETとして接続されている場合のみ、バックアップのステータスをAVAILABLEからEXPIREDまたはDELETEDに更新できます。バックアップがターゲット・データベースに関連付けられていないためにRMANが削除を実行できない場合は、そのバックアップが関連付けられているデータベースで、同じCROSSCHECK操作をそのファイルに実行するように求めるプロンプトが表示されます。このように、RMANでは、不適切なSBT構成による意図しないステータス変更を防止しています。

たとえば、RMANをスタンバイ・データベースstandby1TARGETとして接続し、そのデータベースをテープにバックアップするとします。バックアップを手動でテープから削除し、standby2でバックアップのクロスチェックを実行すると、standby1でクロスチェックを実行するように求めるプロンプトが表示されます。バックアップが削除されたことがメディア・マネージャからレポートされた場合は、standby1のクロスチェックにより、テープ・バックアップのステータスがEXPIREDに更新されます。

セマンティクス

構文要素 説明

PREPLUGIN

プリプラグイン・バックアップをクロスチェックします。プリプラグイン・バックアップの対象は、非CDB、または現在のCDBにPDBとして接続される前のPDBにすることができます。

maintSpec

バックアップをクロスチェックします。maintSpecオプションについては、 maintSpecのパラメータの説明を参照してください。

例2-75 すべてのバックアップとコピーのクロスチェック

この例では、デフォルトの構成済チャネルが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-20130213-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-20130213-01 RECID=11 STAMP=614424851
crosschecked backup piece: found to be 'AVAILABLE'
.
.
.

例2-76 日付範囲内でのクロスチェック

この例では、指定した6週間のバックアップ・セットの状態をメディア・マネージャに問い合せます。RMANでは、NLS_DATE_FORMATパラメータで指定した日付書式を使用します(この例では、'DD-MON-YY'です)。最初のコマンドは、テープ上のバックアップのみをクロスチェックします。

ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt;
CROSSCHECK BACKUP 
  COMPLETED BETWEEN '01-JAN-13' AND '14-FEB-13';
RELEASE CHANNEL;

次のコマンドは、ディスクのみをクロスチェックするようにDEVICE TYPE DISKを指定します。

CROSSCHECK BACKUP DEVICE TYPE DISK 
  COMPLETED BETWEEN '01-JAN-13' AND '14-FEB-13';

SBTがデフォルトのチャネルの場合は、デフォルトのチャネルでCROSSCHECKを実行して、ディスクとSBTバックアップの両方をクロスチェックできます。

CROSSCHECK BACKUP COMPLETED BETWEEN '01-JAN-13' AND '14-FEB-13';