日本語PDF

2.15 DELETE

目的

DELETEコマンドを使用すると、次の操作を実行できます。

  • 物理バックアップおよびコピーを削除します。

  • 疎データベースの不要なバックアップを削除します。

  • ターゲット制御ファイル内のリポジトリ・レコードを更新して、ファイルが削除されていることを示します。たとえば、V$BACKUP_PIECE.STATUSのバックアップ・ピースのレコードに、値Dが表示されます。

  • 削除されたファイルのリポジトリ・レコードをリカバリ・カタログから削除します(カタログを使用している場合)。たとえば、RC_BACKUP_PIECEには、削除されたバックアップ・ピースの行が含まれなくなります。

関連項目:

BACKUP ... DELETE INPUTコマンドについて学習するには、BACKUPを参照してください。

前提条件

RMANがターゲット・データベースに接続していて、そのデータベースがマウントまたはオープン状態である必要があります。

RMANは、構成されているすべてのチャネルを使用して削除を実行します。自動チャネルが構成されていないデバイス上のファイルに対してDELETEを使用する場合は、ALLOCATE CHANNEL FOR MAINTENANCEを使用する必要があります。たとえば、SBTチャネルでバックアップを作成したが、構成されているのがディスク・チャネルのみであれば、DELETE用にSBTチャネルを手動で割り当てる必要があります。ディスク専用のファイルに対してDELETEを使用する場合は、自動または手動で割り当てられたメンテナンス・チャネルが必要です。

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

使用上のノート

CROSSCHECKを実行してバックアップおよびコピーのリポジトリでのステータスを更新してから、DELETEを実行して目的のファイルを削除することをお薦めします。RMANを対話方式で実行している場合にDELETEを実行すると、ファイルのリストが表示され、そのリスト内のファイルを削除する前に確認のプロンプトが表示されます。確認すると、RMANでは削除されるたびに各項目が表示されます。コマンド・ファイルからコマンドを読み取る場合は、RMANによって確認のプロンプトは表示されません。

RMANリポジトリに記録されているバックアップおよびコピーのステータスは、LISTV$ビュー、またはリカバリ・カタログ・ビュー(カタログを使用している場合)で確認できます。バックアップのリポジトリ・レコードに、バックアップの物理的な状態が反映されていないことがあります。たとえば、ディスク・バックアップを、Linuxのrmコマンドで削除する場合です。バックアップ・レコードはrmでは更新できないため、RMANリポジトリには、ファイルが存在していなくても使用可能と表示されます。

ステータス値が異なるファイルに対するDELETEコマンドの動作

表2-5に、FORCEオプションが指定されていない場合のDELETEの動作を示します。

表2-5 FORCEオプションが指定されていない場合のDELETEコマンドの動作

リポジトリでの状態 物理的な状態 DELETEコマンドの動作

AVAILABLE

メディア上に見つからない

オブジェクトは削除されず、ジョブの終了時に一致しないオブジェクトのリストがレポートされます。RMANでは、リポジトリの状態は更新されません。

EXPIRED

メディア上で見つかる

オブジェクトは削除されず、ジョブの終了時に一致しないオブジェクトのリストがレポートされます。RMANでは、リポジトリの状態は更新されません。

UNAVAILABLE

すべて

リポジトリ・レコードが削除され、存在する場合はオブジェクトが削除されます。I/Oエラーはすべて無視されます。

Data Guard環境でのバックアップの削除

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

削除が正常に行われると、RMANはそのファイルのメタデータを削除します。ファイルが別のデータベースに関連付けられている場合も同様です。削除が正常に行われず、そのファイルがData Guard環境の別のデータベースに関連付けられている場合は、ファイルに関連付けられたデータベースにTARGETとして接続した状態で、同じDELETEコマンドを実行するように求めるプロンプトが表示されます。ファイルのメタデータを削除するには、DELETE ... FORCEを使用する必要があります。

セマンティクス

構文要素 説明

FORCE

指定したファイルを(メディア上に存在するかどうかに関係なく)削除し、リポジトリ・レコードを削除します(例2-80を参照)。

削除されたオブジェクトに関するI/Oエラーは無視されます。また、RMANでは、CONFIGURE ARCHIVELOG DELETION POLICYの設定も無視されます。RMANでは、ジョブが終了すると、削除されたオブジェクトの数が表示されます。

NOPROMPT

先にファイル・リストを表示したり確認を求めるプロンプトを表示せずに、指定したファイルを削除します。DELETE NOPROMPTコマンドでは、削除される各項目が表示されます。

PREPLUGIN

プリプラグイン・バックアップを削除し、そのリポジトリ・レコードを削除します。

EXPIRED

リポジトリ内のステータスがEXPIREDになっているファイルのみを削除します(例2-77を参照)。CROSSCHECKコマンドの実行時にファイルが存在しないか、アクセスできなければ、RMANではバックアップとコピーが期限切れとしてマークされます。期限切れのファイルを判断するには、LIST EXPIREDコマンドを実行します。

DELETE EXPIREDコマンドを実行したときに、なんらかの理由でEXPIREDのマークが付いたバックアップが存在している場合、RMANはその物理ファイルを削除しません。

maintSpec

バックアップおよびコピーを削除します。

maintQualifier句で削除ルールを設定できます。たとえば、テープにバックアップされるアーカイブREDOログ・ファイルを削除できます(例2-79を参照)。

削除されたPDBのバックアップを削除する場合、PDBをそのGUIDで指定します。DELETEコマンドでGUID句を使用して、削除されたPDBのバックアップを削除します。dba_pdb_historyビューには、削除されたPDBのGUIDが含まれます。

ノート: DELETE ARCHIVELOG ALLでは、アーカイブ・ログの削除方針のみが考慮され、構成済の保存方針は考慮されません。

ノート: CDBでは、アーカイブREDOログを削除するため、SYSDBAまたはSYSBACKUP権限を持つユーザーとしてrootに接続する必要があります。PDBへの接続時には、アーカイブREDOログを削除することはできません。

関連項目: maintSpecおよびmaintQualifierを参照してください

forDbUniqueNameOption

Data Guard環境の指定したDB_UNIQUE_NAMEのみに関連付けられたmaintSpecのバックアップおよびコピーを削除します。

ノート: DELETE OBSOLETEコマンドでFOR DB_UNIQUE_NAMEオプションを使用することはできません。

RMANは、指定したDB_UNIQUE_NAMEに関連付けられたテープ・バックアップを正常に削除すると、これらのファイルのメタデータをリカバリ・カタログから削除します。これらのファイルがData Guard環境の別のデータベースに関連付けられているためにRMANが削除を実行できない場合は、それらのファイルが関連付けられているデータベースで、同じDELETE操作をファイルに実行するように求めるプロンプトが表示されます。

ノート: FORCEを使用して、デフォルトの動作をオーバーライドしたり、RMANが別のデータベースに関連付けられたファイルを削除するように指定することはできません。このように、RMANでは、SBTの不適切なRMAN構成による誤った削除操作を防止しています。削除が許可されていないファイルのメタデータを削除するには、CHANGE RESET DB_UNIQUE_NAMEコマンドを使用します。

関連項目: この句のオプションについては、forDbUniqueNameOptionを参照してください

OBSOLETE

RMANリポジトリに記録されているデータファイルのバックアップとコピーのうち、不要になったものを削除します(例2-78を参照)。また、不要なアーカイブREDOログ・ファイルおよびログ・バックアップもRMANによって削除されます。

RMANでは、データファイルのうち不要になったバックアップとコピーが判別されてから、ログ(およびそのバックアップ)が不要になる時期が判断されます。RMANでは、データファイルの作成は、保存するログの決定時にバックアップとみなされます。

RMANでは、まずobsOperandListで指定したオプションを使用して、不要になったファイルが判断されます。obsOperandListでオプションを指定しなければ、RMANでは、CONFIGURE RETENTION POLICYで指定したオプションが使用されます。

ノート: DELETE OBSOLETEでは、バックアップの保存方針のみが考慮されます。不要なログの決定に、構成済のアーカイブ・ログの削除方針が使用されることはありません。これとは対照的に、DELETE ARCHIVELOG ALLでは、構成済のアーカイブ・ログの削除方針のみが考慮されます。

ノート: KEEP UNTIL TIME句を使用して作成されたバックアップは、指定したKEEP時間が過ぎると不要となり、DELETE OBSOLETEによって削除されます。KEEP時間が期限切れになったアーカイブ・バックアップのバックアップ保存方針は考慮されません。

ノート: DELETE...OBSOLETEコマンドは、リカバリ・アプライアンスとして一般的に知られるZero Data Loss Recovery Applianceへのバックアップの保存には使用できません。

   obsOperandList

不要になるバックアップとコピーの判断基準を指定します。

関連項目: obsOperandListを参照してください

   DEVICE TYPE    deviceSpecifier

削除の対象を、指定したデバイス・タイプで作成された不要なバックアップとコピーのみに制限します。

関連項目: deviceSpecifierを参照してください

例2-77 期限切れのバックアップの削除

この例では、構成済のsbtチャネルを使用して、1か月以上経過している表領域usersの期限切れバックアップの有無についてメディア・マネージャをチェックし、該当するリカバリ・カタログ・レコードを削除します。

CROSSCHECK BACKUPSET OF TABLESPACE users 
  DEVICE TYPE sbt COMPLETED BEFORE 'SYSDATE-31';
DELETE NOPROMPT EXPIRED BACKUPSET OF TABLESPACE users 
  DEVICE TYPE sbt COMPLETED BEFORE 'SYSDATE-31';

例2-78 不要なバックアップの削除

この例では、データベースのリカバリに不要になったバックアップとコピーを、先週の任意のSCNまで削除します。また、RMANでは、不要になったアーカイブREDOログ・ファイルも削除されます。

DELETE NOPROMPT OBSOLETE RECOVERY WINDOW OF 7 DAYS;

例2-79 バックアップ済のアーカイブREDOログ・ファイルの削除

RMANの設定を次のように構成しているとします。

CONFIGURE DEFAULT DEVICE TYPE TO sbt;
CONFIGURE ARCHIVELOG DELETION POLICY TO
  BACKED UP 2 TIMES
  TO DEVICE TYPE sbt;

次のDELETEコマンドは、構成済の削除方針(ログはテープに2回バックアップする必要がある)を満たす必要がない、ディスク上のすべてのアーカイブREDOログ・ファイルを削除します(次に出力を示します)。

RMAN> DELETE ARCHIVELOG ALL;
 
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=84 device type=DISK

List of Archived Log Copies for database with db_unique_name PROD
=====================================================================
 
Key     Thrd Seq     S Low Time
------- ---- ------- - ---------
107     1    4       A 12-FEB-13
        Name: /orcva/PROD/archivelog/2013_02_12/o1_mf_1_4_2x28bpcm_.arc 
108     1    5       A 12-FEB-13
        Name: /orcva/PROD/archivelog/2013_02_12/o1_mf_1_5_2x28g7s9_.arc
109     1    6       A 12-FEB-13
        Name: /orcva/PROD/archivelog/2013_02_13/o1_mf_1_6_2x3bbqym_.arc 
157     1    7       A 13-FEB-13
        Name: /orcva/PROD/archivelog/2013_02_13/o1_mf_1_7_2x3w2cvs_.arc
164     1    8       A 13-FEB-13
        Name: /orcva/PROD/archivelog/2013_02_13/o1_mf_1_8_2x3w40vr_.arc 
171     1    9       A 13-FEB-13
        Name: /orcva/PROD/archivelog/2013_02_13/o1_mf_1_9_2x3w8pf7_.arc
318     1    10      A 13-FEB-13
        Name: /orcva/PROD/archivelog/2013_02_13/o1_mf_1_10_2x3zx6d9_.arc 
330     1    11      A 13-FEB-13
        Name: /orcva/PROD/archivelog/2013_02_13/o1_mf_1_11_2x403wco_.arc
448     1    12      A 13-FEB-13
        Name: /orcva/PROD/archivelog/2013_02_13/o1_mf_1_12_2x40wn6x_.arc 
455     1    13      A 13-FEB-13
        Name: /orcva/PROD/archivelog/2013_02_13/o1_mf_1_13_2x412s3m_.arc
583     1    14      A 13-FEB-13
        Name: /orcva/PROD/archivelog/2013_02_13/o1_mf_1_14_2x428p9d_.ar 
638     1    15      A 13-FEB-13
        Name: /orcva/PROD/archivelog/2013_02_13/o1_mf_1_15_2x42f0gj_.arc
 
Do you really want to delete the above objects (enter YES or NO)?

例2-80 バックアップ・セットの強制削除

次の例では、タグweekly_bkupを持つバックアップ・セットのコピーを削除します。

RMAN> DELETE NOPROMPT BACKUPSET TAG weekly_bkup;

リポジトリにはバックアップ・セットがAVAILABLEとして表示されても、オブジェクトは実際にはメディア上で使用できないため、RMANでは警告が表示されます。

List of Backup Pieces
BP Key  BS Key  Pc# Cp# Status      Device Type Piece Name
------- ------- --- --- ----------- ----------- ----------
809     806     1   1   AVAILABLE   SBT_TAPE    0ri9uu08_1_1
 
RMAN-06207: WARNING: 1 objects could not be deleted for SBT_TAPE channel(s) due
RMAN-06208:          to mismatched status.  Use CROSSCHECK command to fix status
RMAN-06210: List of Mismatched objects
RMAN-06211: ==========================
RMAN-06212:   Object Type   Filename/Handle
RMAN-06213: --------------- ---------------------------------------------------
RMAN-06214: Backup Piece    0ri9uu08_1_1

次のコマンドを実行すると、RMANによってバックアップ・セットが強制的に削除されます(例には出力例も含まれます)。

RMAN> DELETE FORCE NOPROMPT BACKUPSET TAG weekly_bkup;

using channel ORA_SBT_TAPE_1
using channel ORA_DISK_1
 
List of Backup Pieces
BP Key  BS Key  Pc# Cp# Status      Device Type Piece Name
------- ------- --- --- ----------- ----------- ----------
809     806     1   1   AVAILABLE   SBT_TAPE    0ri9uu08_1_1
deleted backup piece
backup piece handle=0ri9uu08_1_1 RECID=26 STAMP=614430728
Deleted 1 objects