用途
CHANGE
コマンドを使用すると、次のタスクを実行できます。
RMANリポジトリに記録されているバックアップおよびコピーの可用性ステータスを更新します。
自動診断リポジトリに記録されている障害について、その優先順位を変更したり障害をクローズします。
リカバリ・カタログに記録されている、ターゲット・データベースのDB_UNIQUE_NAME
を更新します。
Data Guard環境にあるデータベースのバックアップを同じ環境内の別のデータベースに関連付けます。
関連項目: バックアップまたはコピーの可用性ステータスの変更については、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。 |
使用上の注意
バックアップの関連付けとアクセス可能性の違いについては、「Data Guard環境でのRMANのバックアップ」を参照してください。Data Guard環境では、バックアップまたはコピーを作成するデータベースはファイルに関連付けられます。Data Guard環境のどのデータベースに接続されていても、バックアップに接続可能であれば、CHANGE
、DELETE
、CROSSCHECK
などのメンテナンス・コマンドをバックアップに使用できます。通常、RMANでは、データベース上で作成されたテープ・バックアップはその環境のすべてのデータベースにアクセス可能であるとみなされますが、ディスク・バックアップは作成元のデータベースのみにアクセス可能であるとみなされます。
たとえば、RMANをスタンバイ・データベースstandby1
にTARGET
として接続し、そのデータベースをテープとディスクにバックアップするとします。テープ・ドライブが使用できなくなった場合は、Data Guard環境のプライマリ・データベースまたはスタンバイ・データベースにRMANをTARGET
として接続して、テープ・バックアップのステータスをUNAVAILABLE
に変更できます。テープ・ドライブが修復された後は、RMANをTARGET
としてデータベースに接続して、テープ・バックアップのステータスをAVAILABLE
に戻すことができます。ただし、オペレーティング・システムのユーティリティによって、ディスク・バックアップが誤って削除された場合、RMANはstandby1
にTARGET
として接続されているときにのみ、ディスク・バックアップのステータスを変更できます。
構文
change::=
(maintSpec::=、forDbUniqueNameOption::=、keepOption::=、deviceSpecifier::=)
maintSpec::=
(listObjList::=、archivelogRecordSpecifier::=、maintQualifier::=、recordSpec::=、deviceSpecifier::=)
セマンティクス
change
この句を使用すると、RMANリポジトリのレコードのステータスを変更できます。ステータスを変更するRMANリポジトリ・レコードの主キーを取得するには、LIST
コマンドを実行するか、リカバリ・カタログ・ビューに問合せを行います。
構文要素 | 説明 |
---|---|
maintSpec |
CHANGE を実行するファイルを指定します。
関連項目: この句のオプションについては、 |
forDbUniqueNameOption |
Data Guard環境において、指定したDB_UNIQUE_NAME にのみ関連付けられたオブジェクトのメタデータを変更します。
関連項目: この句のオプションについては、 |
AVAILABLE |
リポジトリ内でバックアップまたはコピーのステータスをAVAILABLE に変更します。RMANによってファイルが検索され、存在しているかどうかが確認されます。
この機能は、使用不可のファイルが再度使用できるようになった場合に有効です。また、このオプションを使用して、以前のインカネーションのバックアップおよびコピーのリポジトリ・ステータスを変更することもできます。 これは、手動または自動のメンテナンス・チャネルを必要とする唯一の Data Guard環境のファイルに対して 注意: バックアップのステータスは、 注意: |
keepOption |
バックアップまたはコピーのステータスを、構成済の保存方針に基づいて変更します。たとえば、CHANGE ... NOKEEP を指定すると、バックアップのKEEP 属性が削除され、そのバックアップはバックアップ保存方針の対象になります。
関連項目: |
resetDbUniqueNameOption |
maintSpec のファイルをData Guard環境の別のデータベースに関連付けます。
関連項目: |
UNAVAILABLE |
リポジトリ内でバックアップまたはコピーのステータスをUNAVAILABLE に変更します(例2-35を参照)。ステータスは、LIST 出力またはリカバリ・カタログ・ビューで確認できます。
このオプションは、ファイルが見つからない場合や、別のサイトに移された場合に有効です。RMANでは、 高速リカバリ領域のファイルでは、 注意: Data Guard環境のファイルに対して |
UNCATALOG |
リカバリ・カタログからデータファイルのコピー、バックアップ・ピースまたはアーカイブREDOログの参照を削除し、ターゲット制御ファイル内のレコードをステータスDELETED に更新します(例2-36を参照)。CHANGE ... UNCATALOG コマンドでは、物理バックアップおよびコピーは処理されません。ファイルがDELETE コマンド以外の手段で削除されたときは、このコマンドを使用してRMANに通知します。
Data Guard環境のファイルに対して 注意: バックアップ制御ファイルから再同期化するか、またはリカバリ・カタログをアップグレードすると、以前 |
DEVICE TYPE deviceSpecifier |
指定したデバイス・タイプにのみCHANGE を実行します(「deviceSpecifier」 を参照)。このオプションが有効になるのは、構成済の自動チャネルがあり、チャネルを手動で割り当てていない場合のみです。たとえば、CHANGE UNCATALOG ... DEVICE TYPE DISK を実行すると、RMANではディスク上のファイルのみがカタログから削除されます。 |
changeFailure |
データ・リカバリ・アドバイザによって記録された障害の変更内容を指定します。 |
DB_UNIQUE_NAME FROM db_unique_name TO db_unique_name |
リカバリ・カタログ内のメタデータを更新して、Data Guard環境でデータベースに新しいDB_UNIQUE_NAME を反映します。最初の値には、リカバリ・カタログに現在記録されている、データベースの古いDB_UNIQUE_NAME を指定します。2番目の値には、新しいDB_UNIQUE_NAME を指定します。
RMANは、リカバリ・カタログおよびマウント済のターゲット・データベースに接続している必要があります。ターゲット・データベースでは、 通常、このコマンドを使用するのは、データベースの スタンバイ・データベースの
古い名前のみが表示される場合は、 古い名前と新しい名前の両方が表示される場合は、
このように、 |
この句を使用すると、Data Guard環境の1つのデータベースで作成されたバックアップを、同じ環境の別のデータベースに関連付けることができます。次の表では、RESET DB_UNIQUE_NAME
で各種オプションを指定したときのRMANの動作について説明します。
表2-2 RESET DB_UNIQUE_NAMEのオプション
TO db_unique_name | FOR DB_UNIQUE_NAME | RMANの動作 |
---|---|---|
実行しない |
実行しない |
RMANは、 通常、Oracle Database 11 |
実行する |
実行しない |
RMANは、 |
実行しない |
実行する |
RMANは、その操作を |
実行する |
実行する |
RMANは、その操作を |
構文要素 | 説明 |
---|---|
RESET DB_UNIQUE_NAME |
maintSpec のファイルをターゲット・データベースと関連付けます(例2-39を参照)。各種オプションを指定したときのRMANの動作については、表2-2を参照してください。
データベース間でファイルの関連付けを変更すると、RMANは、リカバリ・カタログから重複した名前を削除します。たとえば、データファイル・コピー このコマンドの実行結果は元に戻せないため、 |
TO db_unique_name |
maintSpec のファイルをData Guard環境の指定されたデータベースに関連付けます。 |
この句を使用すると、障害のステータスを変更できます。障害のリストを表示するには、LIST
FAILURE
コマンドを使用します。
例2-35 UNAVAILABLEステータスへのバックアップの更新
ディスクに領域の問題があるため、バックアップ・セット4を一時的に別の場所に移動したとします。キー4を持つバックアップは、まだ使用可能としてリストされます。
RMAN> LIST BACKUP SUMMARY; List of Backups =============== Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag ------- -- -- - ----------- --------------- ------- ------- ---------- --- 1 B A A DISK 24-FEB-07 1 1 NO TAG20070427T115348 3 B A A DISK 24-MAR-07 1 1 NO TAG20070427T115452 4 B F A DISK 24-APR-07 1 1 NO TAG20070427T115456
このバックアップは、より多くのディスク領域が使用可能になったときに元の場所に戻す予定のため、カタログから削除しません。したがって、次の手順でバックアップを使用不可能にします(例には出力例も含まれます)。
RMAN> CHANGE BACKUPSET 4 UNAVAILABLE; changed backup piece unavailable backup piece handle=/disk2/backup/c-3257893776-20070424-00 RECID=4 STAMP=588858897 Changed 1 objects to UNAVAILABLE status
例2-36 カタログ内のアーカイブREDOログ・ファイルの削除と追加
この例では、すべてのアーカイブREDOログ・ファイルを新しいディレクトリに移動し、カタログから削除した後で、新しい場所でカタログ化します。
RMAN> HOST '/bin/mv $ORACLE_HOME/dbs/*.arc /disk2/archlog/'; RMAN> CHANGE ARCHIVELOG ALL UNCATALOG; RMAN> CATALOG START WITH '/disk2/archlog' NOPROMPT;
例2-37 アーカイブ・バックアップへのデータベース・バックアップの変更
データベース・バックアップを、オフサイトに保存する予定のアーカイブ・バックアップに変更することが目標であるとします。このバックアップには一貫性があり、リカバリは必要ないため、バックアップとともにアーカイブREDOログ・ファイルを保存する必要はありません。この例では、CHANGE ... KEEP FOREVER
コマンドを使用して、バックアップが不要とみなされることがないように指定します。
RMAN> CONNECT TARGET /
RMAN> CONNECT CATALOG rman@catdb
recovery catalog database Password: password
RMAN> CHANGE BACKUP TAG 'consistent_db_bkup' KEEP FOREVER;
例2-38 障害のステータスの変更
次の例では、LIST
FAILURE
コマンドによって、データファイルに破損ブロックがあることが示されます。障害の番号は5で、優先順位はHIGH
です。このデータファイルに含まれているデータは重要ではないため、この障害の優先順位をLOWに変更することにします。
RMAN> LIST FAILURE; List of Database Failures Failure ID Priority Status Time Detected Summary ---------- -------- --------- ------------- ------- 5 HIGH OPEN 11-DEC-06 datafile 8 contains corrupt blocks RMAN> CHANGE FAILURE 5 PRIORITY LOW; List of Database Failures Failure ID Priority Status Time Detected Summary ---------- -------- --------- ------------- ------- 5 HIGH OPEN 11-DEC-06 datafile 8 contains corrupt blocks Do you really want to change the above failures (enter YES or NO)? YES changed 1 failures to LOW priority
例2-39 Data Guard環境での新しいデータベースへのバックアップの関連付け
standby1
、standby2
およびstandby3
は、プライマリ・データベースprod
に関連付けられているスタンバイ・データベースであるとします。この例では、RMANはターゲット・データベースprod
およびリカバリ・カタログに接続されているとします。
環境からstandby1
を削除する予定のため、standby1
バックアップをプライマリ・データベースに関連付ける必要があります。環境からstandby3
も削除する予定のため、standby3
バックアップをstandby2
に関連付ける必要があります。次のコマンドを実行します。
CHANGE BACKUP FOR DB_UNIQUE_NAME standby1 RESET DB_UNIQUE_NAME; CHANGE BACKUP FOR DB_UNIQUE_NAME standby3 RESET DB_UNIQUE_NAME TO standby2;
例2-40 リカバリ・カタログのDB_UNIQUE_NAMEの更新
スタンバイ・データベースのDB_UNIQUE_NAME
初期化パラメータがdgrdbms4
に設定されており、これをsfrdbms4
に変更するとします。スタンバイ・インスタンスを停止し、DB_UNIQUE_NAME
初期化パラメータをsfrdbms4
に変更して、スタンバイ・インスタンスを再起動します。
その後、リカバリ・カタログを更新して、スタンバイ・データベースの変更された一意の名前を反映させるには、次のようにRMANをプライマリ・データベースとリカバリ・カタログに接続し、CHANGE
コマンドを実行します。
RMAN> CONNECT TARGET /
RMAN> CONNECT CATALOG rman@catdb
recovery catalog database Password: password
RMAN> CHANGE DB_UNIQUE_NAME FROM dgrdbms4 TO sfrdbms4;