12 RMANバックアップおよびリポジトリ・レコードのメンテナンス
この章では、RMANのリポジトリ・レコードおよびRMANのバックアップとコピーの管理方法について説明します。また、高速リカバリ領域に関連するメンテナンス・タスクについても説明します。この章のトピックは、次のとおりです:
関連項目:
リカバリ・カタログに固有のRMANのメンテナンスの問題は、「リカバリ・カタログの管理」を参照してください。
12.1 RMANバックアップおよびリポジトリのメンテナンスの概要
この項では、RMANリポジトリのメンテナンスの目的および基本的な概念について説明します。
12.1.1 バックアップおよびリポジトリのメンテナンスの目的
メンテナンス計画では、高速リカバリ領域、バックアップの保存方針およびアーカイブREDOログの削除方針を構成することをお薦めします。この場合、バックアップおよびアーカイブREDOログは、必要に応じてデータベースによって自動的にメンテナンスおよび削除されます。ただし、データベース・バックアップおよびアーカイブREDOログを手動でメンテナンスする必要がある場合もあります。
RMANバックアップを管理する場合は、次の関連タスクを実行します。
-
ディスクまたはテープに格納されているデータベース・バックアップの管理
-
RMANリポジトリ内のバックアップのレコードの管理
RMANのメンテナンスでの重要なタスクに、不要となったバックアップの削除があります。高速リカバリ領域を構成すると、この領域内の不要なファイルはデータベースによって自動的に削除されます。その場合も、テープからバックアップおよびコピーを削除する場合があります。データベース全体を削除する必要がある場合もあります。RMANコマンドを使用すると、これらのタスクを実行できます。
高速リカバリ領域には、不定期のメンテナンスが必要な場合があります。たとえば、高速リカバリ領域が一杯になった場合、領域を追加できます。また、リカバリ領域の場所を変更する必要がある場合もあります。
ディスクおよびテープ上のファイルの実際の状態がRMANリポジトリに反映されない場合があります。たとえば、ユーザーがオペレーティング・システムのユーティリティを使用して、バックアップをディスクから削除する場合があります。この場合、RMANリポジトリには、実際には存在しないファイルが存在しているように表示されます。RMANバックアップが格納されているテープが破損した場合も、同様の状況が発生します。RMANメンテナンス・コマンドを使用すると、リポジトリを正しい情報で更新できます。
12.1.2 バックアップおよびリポジトリのメンテナンスの基本的な概念
RMANには、RMANバックアップおよびリポジトリ・レコードのメンテナンスのために複数のコマンドが用意されています。
RMANのメンテナンス・コマンドを次に示します。
-
CATALOG
コマンドを使用すると、RMANリポジトリに現在記録されていないRMANバックアップおよびユーザー管理のバックアップに関するレコードを追加したり、記録されているバックアップのレコードを削除できます。 -
CHANGE
コマンドを使用すると、RMANリポジトリのレコードのステータスを更新できます。 -
CROSSCHECK
コマンドを使用すると、論理バックアップ・レコードをバックアップ・ストレージ内のファイルの物理的な状態と同期化できます。 -
DELETE
コマンドを使用すると、オペレーティング・システムからバックアップを削除できます。
12.1.2.1 メンテナンス・コマンドおよびRMANリポジトリ・メタデータについて
RMANは、操作の実行対象となる各ターゲット・データベースの制御ファイルに、そのメタデータを常に格納します。ターゲット・データベースをリカバリ・カタログに登録すると、RMANは、このターゲット・データベースのメタデータをリカバリ・カタログに格納します。
RMANのすべてのメンテナンス・コマンドは、リカバリ・カタログを使用しているかどうかに関係なく動作します。
関連項目:
12.1.2.2 Data Guard環境でのメンテナンス・コマンドについて
Data Guard環境では、バックアップまたはコピーを作成するデータベースはファイルに関連付けられています。たとえば、RMANがターゲット・データベースstandby1
に接続し、このデータベースをバックアップする場合、このバックアップはstandby1
に関連付けられます。
「Data Guard環境でのRMANによるファイル管理について」で指定されている基準に従ってRMANからバックアップにアクセスできる場合、プライマリ・データベースまたはスタンバイ・データベースへの接続時に、バックアップに対してCHANGE
、DELETE
、CROSSCHECK
などのRMANメンテナンス・コマンドを使用できます。
12.1.2.2.1 Data Guard環境でのクロスチェックについて
クロスチェックする場合、RMANは、ファイルに関連付けられているデータベースへの接続時にのみ、ファイルのステータスをAVAILABLE
からEXPIRED
に更新できます。
このため、RMANでクロスチェックしてもファイルが検出されず、RMANがTARGET
として接続されていないデータベースにファイルが関連付けられている場合は、そのファイルに関連付けられているターゲット・データベースへの接続時に、RMANによってクロスチェックの実行が求められます。RMANは、CROSSCHECK
またはCHANGE ... AVAILABLE
コマンドの実行時にクロスチェックを行います。
12.1.2.2.2 Data Guard環境での削除について
RMANは、データベースへの接続時にファイルを削除できます。ファイルに関連付けられているデータベースにRMANがTARGET
として接続されておらず、RMANでファイルを正常に削除できない場合は、RMANによって、ファイルに関連付けられているデータベースにTARGET
として接続するように求められます。このため、ファイルのメタデータを削除するには、DELETE ... FORCE
を使用する必要があります。
12.1.2.2.3 Data Guard環境でのRMANメタデータへの更新について
メンテナンス・コマンドでRMANのメタデータのみを変更した場合は、RMANをTARGET
としてData Guard環境のデータベースに接続できます。
メタデータのみを変更するコマンドは、次のとおりです。
-
CHANGE ... UNAVAILABLE
またはCHANGE ... UNCATALOG
-
CHANGE ... KEEP
またはCHANGE ... NOKEEP
-
CHANGE ... RESET DB_UNIQUE_NAME
デフォルトでは、CHANGE
コマンドを使用すると、「Data Guard環境でのバックアップのアクセシビリティについて」で指定されている規則に従ってアクセス可能なファイルに対してのみ操作が行われます。ただし、FOR DB_UNIQUE_NAME
オプションを使用すると、ターゲット・データベース以外のデータベースに関連付けられているファイルのステータスを変更できます。
12.1.2.2.4 データベースに関連付けられていないファイルについて
CHANGE ... RESET DB_UNIQUE_NAME
を明示的に使用して別のデータベースに関連付けないかぎり、バックアップはそのデータベースに関連付けられたままです。
特定のファイルでDB_UNIQUE_NAME
が認識されない場合があります。たとえば、データベース名がカタログで認識されない場合は、リカバリ・カタログに登録されているOracle9iデータベースの場合と同様に、DB_UNIQUE_NAME
の値はnull
になります。また、データベースを現行のバージョンにアップグレードしたにもかかわらず、リカバリ・カタログ・スキーマとすべてのファイルのDB_UNIQUE_NAME
値が一致していないため、行のDB_UNIQUE_NAME
がnull
になる場合もあります。デフォルトでは、SITE_KEY
がnull
のファイルは、RMANがTARGET
として接続されているデータベースに関連付けられます。
関連項目:
-
Data Guard環境でRMANを使用してファイルのバックアップおよびリストアを実行する方法を学習するには、Oracle Data Guard概要および管理を参照してください。
-
RMANの
CHANGE
コマンドの詳細は、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。
12.2 制御ファイルのリポジトリのメンテナンス
RMANは、リカバリ・カタログを使用しなくても動作するように設計されています。ただし、リカバリ・カタログを使用しないことを選択すると、各ターゲット・データベースの制御ファイルは、RMANメタデータ用の排他的なリポジトリになります。
制御ファイルへの情報の格納方法を理解し、バックアップおよびリカバリ計画によって制御ファイルが保護されるようにする必要があります。
関連項目:
制御ファイルの概要および管理方法の詳細は、Oracle Database管理者ガイドを参照してください。
12.2.1 制御ファイル・レコード
制御ファイルには、循環再利用レコードおよび非循環再利用レコードの2つのタイプのレコードが含まれています。
循環再利用レコードには、必要に応じて上書き可能な、重要度が低い情報が含まれます。これらのレコードには、データベースによって持続的に生成される情報が含まれます。使用可能なレコード・スロットがすべて使用されると、データベースは、制御ファイルを拡張して新規レコード用の領域を作成するか、または最も古いレコードを上書きします。CONTROL_FILE_RECORD_KEEP_TIME
初期化パラメータには、レコードを再利用するまでの最短保管日数を指定します。
非循環再利用レコードには、頻繁には変更されず、上書きできない重要な情報が含まれます。非循環再利用レコードに含まれる情報は、データファイル、オンラインREDOログ・ファイル、REDOスレッドなどです。
ターゲット・データベースのバックアップを作成すると、データベースによってそれらのバックアップが制御ファイルに記録されます。新しいレコードを追加したことによって制御ファイルが過度に大きくならないように、指定したしきい値より古いレコードは再利用可能になります。CONTROL_FILE_RECORD_KEEP_TIME
初期化パラメータは、レコードが上書き可能になるまでの最小日数を決定します。
CONTROL_FILE_RECORD_KEEP_TIME = integer
たとえば、パラメータ値が14
の場合、14日以上経過したレコードは再利用の候補となります。上書きされたレコードの情報は失われます。再利用可能な最も古いレコードが最初に使用されます。
データベースでは、新しいRMANリポジトリ・レコードを制御ファイルに追加する必要があるにもかかわらず、しきい値より古いレコードが存在しない場合、制御ファイル・サイズの拡大が試行されます。基礎となるオペレーティング・システムで(ディスクが一杯などの状況によって)制御ファイルを拡大できない場合は、データベースによって制御ファイル内の最も古いレコードが上書きされます。
上書きは、自動診断リポジトリ(ADR)内のアラート・ログに記録されます。上書きされる各レコードに対するエントリが、アラート・ログに次のように記録されます。
kccwnc: following control file record written over:
RECID #72 Recno 72 Record timestamp
07/28/06 22:15:21
Thread=1 Seq#=3460
Backup set key: stamp=372031415, count=17
Low scn: 0x0000.3af33f36
07/27/06 21:00:08
Next scn: 0x0000.3af3871b
07/27/06 23:23:54
Resetlogs scn and time
scn: 0x0000.00000001
12.2.1.1 高速リカバリ領域および制御ファイル・レコードについて
高速リカバリ領域に作成されたファイルに関する情報を含む制御ファイルのレコードが再利用される際、そのファイルが削除対象である場合は、データベースによって高速リカバリ領域からのそのファイルの削除が試行されます。削除対象でない場合は、このファイルのレコードを含む制御ファイルのセクションのサイズが拡大されます。
この拡大に関して、アラート・ログに次の例のようなメッセージが記録されます。ここで、nnnn
は、制御ファイル・レコードのタイプの番号です。
kccwnc: trying to expand control file section nnnn for Oracle Managed Files
制御ファイルがホスト・オペレーティング・システムでサポートされている最大サイズに達している場合、制御ファイルを拡大することはできません。このような場合は、次の警告がアラート・ログに表示されます。
WARNING: Oracle Managed File filename is unknown to control file. This is the result of limitation in control file size that could not keep all recovery area files.
前述のメッセージは、構成されている保存方針を満たすために必要なすべての高速リカバリ領域ファイルのレコードを、制御ファイルで保持できないことを示しています。次の項では、この状況に対応する方法について説明します。
関連項目:
CONTROL_FILE_RECORD_KEEP_TIME
初期化パラメータの詳細は、Oracle Databaseリファレンスを参照してください。
12.2.2 制御ファイル・レコードの消失の防止
制御ファイル・レコードの上書きによってRMANメタデータが消失することを防止するには、リカバリ・カタログを使用する方法が最適です。
リカバリ・カタログを使用できない場合は、次の方法を使用できます。
-
CONTROL_FILE_RECORD_KEEP_TIME
の値を、保持する必要がある最も古いファイルの期間より少し長く設定します。たとえば、データベース全体を1週間に1回バックアップする場合は、すべてのバックアップを7日間以上保持する必要があります。CONTROL_FILE_RECORD_KEEP_TIME
の値を10
や14
などに設定します。CONTROL_FILE_RECORD_KEEP_TIME
のデフォルト値は7日間です。注意:
リカバリ・カタログの使用にかかわらず、
CONTROL_FILE_RECORD_KEEP_TIME
が0に設定されている場合はRMANを使用しないでください。そうすると、バックアップ・レコードが失われる場合があります。 -
制御ファイルは、拡大できるようにRAWデバイスではなくファイル・システムに格納します。
-
アラート・ログを監視して、Oracle Databaseによって制御ファイル・レコードが上書きされないようにします。アラート・ログは、自動診断リポジトリ(ADR)内にあります。
高速リカバリ領域を使用する場合は、次のガイドラインに従って、バックアップ保存方針を満たすために必要なすべての高速リカバリ領域ファイルのレコードを制御ファイルで保持できなくなるような状況を回避します。
-
制御ファイルのブロック・サイズが最大に達している場合は、より大きなブロック・サイズ(可能な場合32KB)を使用します。
これを実現するには、
SYSTEM
表領域のブロック・サイズを制御ファイルのブロック・サイズ以上に設定し、DB_BLOCK_SIZE
の変更後に制御ファイルを再作成する必要があります。高速リカバリ領域内のファイルはカタログに再度追加されますが、テープに格納されているファイルのレコードは失われます。 -
高速リカバリ領域内のファイルをテープなどの3次ストレージ・デバイスにバックアップして、削除対象にします。
たとえば、
BACKUP RECOVERY AREA
を使用すると、高速リカバリ領域内のファイルを明示的にメディア・マネージャにバックアップできます。 -
バックアップの保存方針によってバックアップおよびアーカイブ・ログがビジネス要件より長く保持されている場合は、その保存方針をより短いリカバリ期間またはより低い冗長性のレベルに変更して、高速リカバリ領域内のより多くのファイルを削除対象にすることができます。
12.2.3 制御ファイルの保護
リカバリ・カタログを使用してRMANメタデータを格納していない場合は、各ターゲット・データベースの制御ファイルを保護することがさらに重要となります。
制御ファイルを保護するには:
次の計画を使用すると、制御ファイルを保護することができます。
関連項目:
-
制御ファイルの手動バックアップおよび自動バックアップについて学習するには、RMANを使用した制御ファイルのバックアップを参照してください。
12.3 高速リカバリ領域のメンテナンス
高速リカバリ領域は多くの場合自動管理されますが、データベース管理の介入が必要になることもあります。
12.3.1 高速リカバリ領域の規則の削除
RMANでは特定の規則を使用して、高速リカバリ領域からファイルを削除できるタイミングを決定します。
次の規則によって、ファイルがリカバリ領域からの削除対象となるタイミングが制御されます。
-
永続的なファイルは削除の対象となりません。
-
保存方針に従って不要になったファイルは削除対象となります。
-
テープにコピーされた一時ファイルは削除対象となります。
-
アーカイブREDOログは、ログのすべてのコンシューマが要件を満たすまで削除対象となりません。
ログのコンシューマには、RMAN、スタンバイ・データベース、Oracle Streamsデータベースおよびフラッシュバック・データベース機能などがあります。
-
ロジカル・スタンバイ・データベースでLogMinerセッションによってマイニングされた外部のアーカイブ・ログは削除対象になります。外部のアーカイブREDOログは現在のデータベースとは異なるデータベースから生成されるため、そのDBIDは現在のアーカイブREDOログのDBIDとは異なっています。
高速リカバリ領域からのファイルの削除を制御する安全で確実な方法は、保存方針およびアーカイブ・ログの削除方針を構成する方法です。テープに移動したファイルがディスクに保存される可能性を高くするには、高速リカバリ領域の割当て制限を大きくします。
関連項目:
-
高速リカバリ領域の内容および永続的なファイルと一時的なファイルの違いについては、「高速リカバリ領域内のファイルの概要」を参照してください
-
ログが削除対象となるタイミングを決定するアーカイブREDOログの削除方針の構成方法については、「アーカイブREDOログの削除方針の構成」を参照してください
-
保存方針の構成方法については、「バックアップの保存方針の構成」を参照してください
-
Data Guard環境でのアーカイブREDOログの管理について学習するには、Oracle Data Guard概要および管理を参照してください。
12.3.2 高速リカバリ領域の領域使用状況の監視
V$RECOVERY_FILE_DEST
ビューおよびV$RECOVERY_AREA_USAGE
ビューを使用すると、高速リカバリ領域に十分な領域が割り当てられているかどうかを確認できます。
V$RECOVERY_FILE_DEST
ビューを問い合せて、高速リカバリ領域の現在の位置、ディスク割当て制限、使用領域、ファイル削除による再利用可能な領域、およびファイルの合計数を確認します。領域に関する列はバイト単位で示されます。異なるタイプのファイルで使用されている合計ディスク割当て制限の割合を確認するには、V$RECOVERY_AREA_USAGE
ビューを問い合せます。また、不要なファイル、冗長なファイルまたはテープにバックアップされているファイルを削除することによって、各タイプのファイル用に再利用できる領域の量を判断することもできます。
保証付きリストア・ポイントがデータベースに定義されている場合は、保証を満たすために必要なファイル用に高速リカバリ領域で使用される領域の量を監視する必要があります。保証付きリストア・ポイントを表示する問合せ(V$RESTORE_POINTビューを使用したリストア・ポイントの表示を参照)を使用し、STORAGE_SIZE
列を参照して、各保証付きリストア・ポイントに関連するファイルに必要な領域を決定します。
例12-1 高速リカバリ領域の領域消費量
次の例は、場所、ディスク割当て制限、領域使用状況、ファイル数など、高速リカバリ領域に関する詳細を表示します。
SELECT * FROM V$RECOVERY_FILE_DEST;
NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES CON_ID
------------ ----------- ---------- ----------------- --------------- ------
/mydisk/rcva 5368709120 109240320 256000 28 0
例12-2 ファイルのタイプに基づいた高速リカバリ領域の領域使用状況
次の例は、ファイルのタイプごとに、使用領域の割合、再利用可能な領域の割合、および高速リカバリ領域内のファイル数を表示します。
SELECT * FROM V$RECOVERY_AREA_USAGE;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES CON_ID
------------ ------------------ ------------------------- --------------- ------
CONTROLFILE 0 0 0 0
ONLINELOG 2 0 22 0
ARCHIVELOG 4.05 2.01 31 0
BACKUPPIECE 3.94 3.86 8 0
IMAGECOPY 15.64 10.43 66 0
FLASHBACKLOG .08 0 1 0
関連項目:
-
Oracle Databaseリファレンスの
V$RECOVERY_AREA_USAGE
-
Oracle Databaseリファレンスの
V$RECOVERY_FILE_DEST
12.3.3 高速リカバリ領域でのフラッシュバック・ログの領域の管理
高速リカバリ領域のフラッシュバック・ログは、フラッシュバック保存目標を設定するか、または保証付きリストア・ポイントを使用する以外に直接管理することはできません。
ただし、フラッシュバック・ログの保存に使用できる領域を最大化するために、高速リカバリ領域を全体として管理することはできます。これによって、フラッシュバック目標を達成する可能性が高くなります。
フラッシュバック・ログ用の領域を確保するには、BACKUP
RECOVERY
AREA
、BACKUP
BACKUPSET
などのコマンドを使用して、高速リカバリ領域の他の内容をテープにバックアップします。Oracle Databaseでは、不要になったファイルが高速リカバリ領域から自動的に削除されます。バックアップをテープにオフロードしても、バックアップ保存方針およびフラッシュバック保存目標を満たす十分な領域が作成されない場合は、高速リカバリ領域により多くの領域を割り当てます。
ノート:
フラッシュバック・ログはバックアップできません。このため、高速リカバリ領域の内容をテープにバックアップする場合、BACKUP
RECOVERY
AREA
操作を使用してもフラッシュバック・ログは含まれません。
関連項目:
フラッシュバック・ログの削除規則については、保証付きリストア・ポイントが定義された状態でのフラッシュバック・データベースのロギングについてを参照してください。
12.3.4 高速リカバリ領域が一杯になった場合の対応
RMANの保存方針によって高速リカバリ領域のディスク割当て制限より大きいバックアップのセットを保存する必要がある場合、またはこの保存方針がNONE
に設定されている場合、高速リカバリ領域は再利用可能な領域がなくなるまで完全に一杯になることがあります。
再利用可能な領域が15%未満になると警告アラートが発行され、再利用可能な領域が3%未満になるとクリティカル・アラートが発行されます。この状況をDBAに警告するために、アラート・ログおよびDBA_OUTSTANDING_ALERTS
表(Enterprise Managerで使用)にエントリが追加されます。ただし、高速リカバリ領域内の領域は、再利用可能な領域がなくなるまでデータベースによって継続して消費されます。
リカバリ領域が完全に一杯になると、次のエラーが表示されます。ここで、nnnnnは必要なバイト数、mmmmmはディスク割当て制限です。
ORA-19809: limit exceeded for recovery files ORA-19804: cannot reclaim nnnnn bytes disk space from mmmmm limit
削除対象のファイルがない場合に高速リカバリ領域が一杯になった状態を解消する方法として、次のいくつかの方法があります。
-
使用可能なディスク領域を追加し、
DB_RECOVERY_FILE_DEST_SIZE
を増加して、追加した領域を反映させます。 -
高速リカバリ領域からテープなどの3次ストレージ・デバイスにバックアップを移動します。
リカバリ領域のすべてのファイルを一度にテープにバックアップする簡単な方法の1つに、
BACKUP
RECOVERY
AREA
コマンドがあります。バックアップをリカバリ領域からテープに転送した後、高速リカバリ領域からファイルを削除できます。フラッシュバック・ログは、リカバリ領域外にはバックアップできないため、BACKUP
RECOVERY
AREA
ではバックアップされません。 -
オペレーティング・システム・ユーティリティを使用して削除されたファイルに対しては、
DELETE
を実行します。ホスト・オペレーティング・システムのコマンドを使用してファイルを削除した場合、その結果できる空き領域はデータベースでは認識されません。RMANの
CROSSCHECK
コマンドを実行して、高速リカバリ領域の内容を再確認し、期限切れのファイルを特定した後、DELETE EXPIRED
コマンドを使用して、RMANリポジトリからすべての期限切れのバックアップを削除することができます。 -
保証付きリストア・ポイントが必要であることを確認します。必要ない場合はそれらを削除します。
保証付きリストア・ポイントで必要ないフラッシュバック・ログは、高速リカバリ領域内の他のファイルの領域を確保するために自動的に削除されます。保証付きリストア・ポイントを使用すると、リストア・ポイントSCNまでフラッシュバック・データベースを実行するために必要なフラッシュバック・ログを強制的に保存できます。
-
バックアップ保存方針を確認します。Data Guardを使用している場合は、アーカイブREDOログの削除方針も確認します。
関連項目:
-
保存方針の決定については、データベースのバックアップを参照してください。
-
Data Guardでのアーカイブ・ログの削除方針の詳細は、Oracle Data Guard概要および管理を参照してください。
12.3.5 新しい場所への高速リカバリ領域の変更
ALTER SYSTEM
コマンドを使用して、高速リカバリ領域の場所を変更します。
データベースの高速リカバリ領域を新しい場所に移動する必要がある場合は、次の手順を実行します。
12.3.6 高速リカバリ領域の無効化
ALTER SYSTEM
コマンドを使用して、高速リカバリ領域を無効にすることができます。
次に、DB_RECOVERY_FILE_DEST
初期化パラメータをNULL文字列に設定して、高速リカバリ領域を無効にすることができます。たとえば、次のSQL文を使用して、実行中のデータベースのパラメータを変更します。
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='' SCOPE=BOTH SID='*';
これで、データベースは以前のDB_RECOVERY_FILE_DEST
の位置に格納されているファイルに高速リカバリ領域の領域管理機能を提供しなくなります。ただし、これらのファイルは、RMANリポジトリで認識され、バックアップおよびリストア・アクティビティで使用できます。
12.3.7 ファイル作成時のインスタンスのクラッシュへの対応
通常、高速リカバリ領域は自動管理されます。ただし、高速リカバリ領域内のファイルの作成中にインスタンスがクラッシュした場合、そのファイルが高速リカバリ領域内に残存することがあります。
この状況が発生した場合は、アラート・ログに次のエラーが含まれます。ここで、location
は、高速リカバリ領域の場所です。
ORA-19816: WARNING: Files may exist in location that are not known to database.
このような場合は、RMANコマンドCATALOG RECOVERY AREA
を使用して、このようなファイルをカタログに再度追加します。問題のファイルのヘッダーが破損している場合は、オペレーティング・システム・ユーティリティを使用してファイルを手動で削除します。
12.4 RMANリポジトリの更新
リポジトリとリポジトリによって記録されるファイル間の相違は、テープまたはディスクの障害、ユーザー管理のコピー、RMAN関連ファイルの削除などのいくつかの原因によって発生する可能性があります。
この項では、RMANリポジトリが、ディスクおよびテープに格納されているRMAN関連ファイルの実情を正確に反映していることを確認する方法について説明します。
12.4.1 RMANリポジトリのクロスチェック
リカバリ・カタログまたは制御ファイルのバックアップに関するデータがディスクまたはメディア管理カタログの該当するデータと同期されていることを確認するには、クロスチェックを実行します。CROSSCHECK
コマンドでは、RMANリポジトリに現在記録されているファイルのみが処理されます。
高速リカバリ領域、バックアップの保存方針およびアーカイブREDOログの削除方針を使用する場合は、クロスチェックを頻繁に実行する必要はありません。RMAN以外の方法でファイルを削除する場合は、クロスチェックを定期的に実行して、リポジトリ・データが最新の状態で保持されるようにする必要があります。
12.4.1.1 RMANのクロスチェックについて
クロスチェックは、リポジトリ・レコードが物理的な状態と一致しないバックアップに関する、RMANリポジトリの期限切れの情報を更新します。たとえば、ユーザーがオペレーティング・システム・コマンドを使用してアーカイブ・ログをディスクから削除すると、ログが実際にはディスク上に存在していない場合でも、リポジトリではディスク上に存在しているように示されます。
図12-1に、メディア・マネージャのクロスチェックを示します。RMANは、RMANリポジトリに対して、チェックする4つのバックアップ・セットの名前と場所を問い合せます。RMANは、この情報をターゲット・データベース・サーバーに送信します。ターゲット・データベース・サーバーは、メディア管理ソフトウェアにバックアップについて問い合せます。メディア管理ソフトウェアは、メディア・カタログを確認して、バックアップ・セット3
が欠落していることをサーバーにレポートします。RMANは、リポジトリでバックアップ・セット3
のステータスをEXPIRED
に更新します。DELETE
EXPIRED
を実行すると、バックアップ・セット3
のレコードは削除されます。
クロスチェックは、次の処理を行うため有効です。
-
ディスクまたはテープから消失したバックアップや、破損したバックアップに関する以前の情報を更新できます。
-
オペレーティング・システム・コマンドを使用してアーカイブREDOログまたはその他のファイルを削除した場合に、リポジトリを更新できます。
クロスチェック機能を使用すると、ディスクまたはテープ上のバックアップのステータスを確認できます。バックアップがディスク上に存在する場合、CROSSCHECK
によって、そのファイルのヘッダーが有効かどうかが確認されます。バックアップがテープ上に存在する場合、このコマンドによって、バックアップがメディア管理ソフトウェアのカタログに存在するかどうかが確認されます。
バックアップ・ピースおよびイメージ・コピーのステータスは、AVAILABLE
、EXPIRED
またはUNAVAILABLE
となります。RMANのLIST
コマンドを実行するか、V$BACKUP_FILES
、またはRC_DATAFILE_COPY
やRC_ARCHIVED_LOG
などのリカバリ・カタログ・ビューを問い合せると、バックアップのステータスを表示できます。クロスチェックによってRMANリポジトリが更新されるため、これらのすべての方法で正確な情報が提供されます。RMANは、RMANリポジトリ内のバックアップが使用できなくなると、そのバックアップのステータスをEXPIRED
に更新します。新しいクロスチェックによって期限切れのバックアップが再度使用可能であると判断された場合、RMANはそのステータスをAVAILABLE
に更新します。
ノート:
CROSSCHECK
コマンドでは、オペレーティング・システム・ファイルまたはリポジトリ・レコードは削除されません。これらを削除するには、DELETE
コマンドを使用する必要があります。
DELETE
EXPIRED
コマンドを発行すると、期限切れのすべてのバックアップを削除できます。RMANは、期限切れのファイルのレコードをリポジトリから削除します。なんらかの理由でファイルがまだメディア上に存在している場合、RMANは警告を発行して、削除できない不一致のオブジェクトのリストを表示します。
関連項目:
-
CROSSCHECK
の構文および使用される可能性があるステータス値については、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。 -
DELETE
の構文については、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。
12.4.1.2 すべてのバックアップおよびコピーのクロスチェック
ターゲット・データベースとリカバリ・カタログ(使用している場合)に接続してから、必要に応じてCROSSCHECK
コマンドを実行し、RMANが認識するバックアップの状態と可用性を検証します。
CROSSCHECK
またはDELETE
コマンドを発行する前に、複数のチャネルを構成するか、手動で割り当てます。RMANは、バックアップの作成に使用したチャネルと同じデバイスのタイプを持つすべてのチャネルの各バックアップを検索します。マルチチャネル機能は、1つのコマンドでディスクおよびテープの両方のクロスチェックまたはバックアップの削除を実行する場合に主に使用されます。たとえば、SBTチャネルが次のように構成されているとします。
CONFIGURE DEVICE TYPE sbt PARALLELISM 1;
CONFIGURE DEFAULT DEVICE TYPE sbt;
この場合は、次のコマンドを実行して、ディスクおよびSBTの両方をクロスチェックできます。
CROSSCHECK BACKUP;
CROSSCHECK COPY;
RMANは、SBTチャネルおよび事前構成済のディスク・チャネルの両方を使用してクロスチェックを実行します。出力例を次に示します。
allocated channel: ORA_SBT_TAPE_1
channel ORA_SBT_TAPE_1: sid=12 devtype=SBT_TAPE
channel ORA_SBT_TAPE_1: WARNING: Oracle Test Disk API
using channel ORA_DISK_1
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/oracle/dbs/16c5esv4_1_1 recid=36 stamp=408384484
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/oracle/dbs/c-674966176-20000915-01 recid=37 stamp=408384496
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=12c5erb2_1_1 recid=32 stamp=408382820
.
.
.
自動SBTチャネルを構成していない場合は、ディスクおよびテープにメンテナンス・チャネルを手動で割り当てることができます。
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt;
CROSSCHECK BACKUP;
CROSSCHECK COPY;
RMANは事前構成済のディスク・チャネルを使用するため、ディスク・チャネルを手動で割り当てる必要はありません。
12.4.1.3 特定のバックアップ・セットおよびコピーのクロスチェック
LIST
コマンドを使用してバックアップをレポートしてから、CROSSCHECK
コマンドを使用してLIST
出力に示された特定のバックアップが存在することを確認できます。
DELETE
EXPIRED
コマンドは、クロスチェックの失敗の原因となるバックアップのリポジトリ・レコードを削除します。
指定したバックアップをクロスチェックするには:
-
RMANを起動し、ターゲット・データベースおよびリカバリ・カタログ(使用している場合)に接続します。
-
LIST
コマンドを実行して、チェックするバックアップを識別します。たとえば、次のようなコマンドを実行します。
LIST BACKUP; # lists all backup sets, proxy copies, and image copies
目的のバックアップまたはコピーをクロスチェックします。
次のコマンド例は、様々なタイプのクロスチェックを示しています。
CROSSCHECK BACKUP; # checks backup sets, proxy copies, and image copies CROSSCHECK COPY OF DATABASE; CROSSCHECK BACKUPSET 1338, 1339, 1340; CROSSCHECK BACKUPPIECE TAG 'nightly_backup'; CROSSCHECK BACKUP OF ARCHIVELOG ALL SPFILE; CROSSCHECK BACKUP OF DATAFILE "?/oradata/trgt/system01.dbf" COMPLETED AFTER 'SYSDATE-14'; CROSSCHECK BACKUPSET DEVICE TYPE disk BACKED UP 3 TIMES TO sbt; CROSSCHECK BACKUP OF DATABASE BACKED UP 2 TIMES TO sbt; CROSSCHECK CONTROLFILECOPY '/tmp/control01.ctl'; CROSSCHECK DATAFILECOPY 113, 114, 115; CROSSCHECK PROXY 789;
関連項目:
特定のファイルのバックアップを確認するためのCROSSCHECK
の使用方法の詳細は、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。
12.4.2 バックアップおよびコピーのリポジトリ・ステータスの変更
RMANには、バックアップおよびコピーのリポジトリ・ステータスを変更するための複数の方法が用意されています。
次のいずれかのタスクを実行して、バックアップおよびコピーのリポジトリ・ステータスを変更します。
-
バックアップを使用可能または使用不可にする
バックアップが一時的に使用可能または使用不可になった場合、バックアップ・ステータスを変更できます。たとえば、マウントされているディスクのメンテナンスを行う場合は、ディスク上のバックアップのレコードのステータスを
UNAVAILABLE
に更新できます。「AVAILABLEまたはUNAVAILABLEへのバックアップのステータスの更新」では、バックアップを使用可能または使用不可にする方法について説明します。
-
保存方針からのバックアップの追加または除外
KEEP
句を使用して構成済の保存方針からバックアップを除外することによって、アーカイブ・バックアップを作成できます。アーカイブ・バックアップのステータスを変更し、その後、構成済の保存方針に追加することもできます。「アーカイブ・バックアップのステータスの変更」では、アーカイブ・バックアップのステータスの変更方法について説明します。
12.4.2.1 AVAILABLEまたはUNAVAILABLEへのバックアップのステータスの更新
バックアップが検出されない場合、またはオフサイトに移された場合は、CHANGE...UNAVAILABLE
コマンドを実行します。
RMANは、ステータスがUNAVAILABLE
のファイルはRESTORE
またはRECOVER
コマンドでは使用しません。ファイルが後で検出された場合またはメイン・サイトに戻された場合は、CHANGE...AVAILABLE
を発行してステータスを再度更新できます。高速リカバリ領域内のファイルをUNAVAILABLE
にマークすることはできません。
リポジトリ内のファイルのステータスをUNAVAILABLEまたはAVAILABLEに更新するには:
関連項目:
CHANGE
コマンドの構文については、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。
12.4.2.2 アーカイブ・バックアップのステータスの変更
保存方針から除外するバックアップを指定できます。この方法は、ビジネス要件に準拠するためにバックアップをアーカイブする場合に有効です。
ただし、アーカイブ・バックアップは完全に有効なバックアップであり、他のRMANバックアップと同様にリストアできます。
ノート:
制御ファイルにはRMANリポジトリの大規模なデータ・セットを無限に含めることはできないため、KEEP
FOREVER
句を使用する場合は、リカバリ・カタログを使用する必要があります。
CHANGE
コマンドを使用すると、既存のバックアップのKEEP
ステータスを変更できます。たとえば、長期バックアップを保持しないようにすることができます。BACKUP...KEEP
で使用できるオプションをCHANGE...KEEP
でも使用できます。
高速リカバリ領域に格納されているバックアップ・セットまたはファイルにはKEEP
属性を設定できません。
アーカイブ・バックアップのKEEPステータスを変更するには:
関連項目:
12.4.3 RMANリポジトリへのバックアップ・レコードの追加
CATALOG
コマンドを使用すると、リポジトリに記録されていないアーカイブ・ログ、またはRMAN以外の方法を使用して作成されたデータベース・ファイルのコピーの存在をRMANに認識させることができます。
12.4.3.1 カタログ化操作について
ターゲット・データベースの制御ファイルには、ターゲット・データベースによって生成されたすべてのアーカイブREDOログおよびすべてのRMANのバックアップのレコードが保持されます。CATALOG
コマンドを実行すると、管理するRMANのファイルのレコードが存在しない場合に、メタデータをリポジトリに追加できます。
次の場合に、RMANのCATALOG
コマンドを実行します。
-
オペレーティング・システム・ユーティリティを使用して、データファイル、アーカイブ・ログまたはバックアップ・ピースのコピーを作成した場合。この場合、これらのレコードはリポジトリに含まれません。
-
バックアップ制御ファイルを使用してリカバリを実行し、リカバリ中にアーカイブ先または形式を変更した場合。この場合、リカバリに必要なアーカイブ・ログに関する情報はリポジトリに含まれません。そのため、これらのログをカタログに追加する必要があります。
-
データファイルのコピーをレベル0のバックアップとしてカタログに追加した場合。これによって、増分バックアップ計画の基礎となるデータファイルのコピーを使用して後で増分バックアップを実行できるようになります。
-
新しいリリースに移行する前に作成したOracle7のデータベース・ファイルのユーザー管理コピー、またはRMANを使用する前に作成したOracle8以上のデータベース・ファイルのユーザー管理コピーをカタログに追加する場合。移行後にデータベースで障害が発生し、移行したデータベースのバックアップを作成していない場合は、これらのデータファイルのコピーを使用してデータベースをリカバリできます。
UNIXのcp
コマンドを使用したデータファイルのコピーなど、ユーザー管理コピーを作成するときには必ずカタログに追加してください。ユーザー管理コピーを作成する場合、ALTER TABLESPACE...BEGIN/END BACKUP
文を使用してオンライン表領域のデータファイルのコピーを作成できます。RMANはこのようなデータファイルのコピーを作成しませんが、CATALOG
コマンドを使用してデータファイルのコピーをリカバリ・カタログに追加し、RMANに認識させることができます。
ユーザー管理コピーをカタログに追加するには、次の条件を満たしている必要があります。
-
ディスク上でアクセス可能であること
-
単一ファイルの完全なイメージ・コピーであること
-
データファイル、制御ファイル、アーカイブREDOまたはバックアップ・ピースのいずれかのコピーであること
たとえば、ミラー化されたディスク・ドライブにデータファイルを格納する場合は、ミラー化を解除することによってユーザー管理コピーを作成できます。この場合、ミラー化を解除した後にCATALOG
コマンドを使用してユーザー管理コピーが存在することをRMANに通知します。再度ミラー化する前に、CHANGE...UNCATALOG
コマンドを実行してファイルのコピーが存在しないことをRMANに通知します。
12.4.3.2 カタログへのユーザー管理データファイルのコピーの追加
CATALOG
コマンドを使用して、ユーザー管理コピーに関する情報をRMANリポジトリに伝播します。ファイルがカタログに追加されたら、LIST
コマンドを実行するか、V$BACKUP_FILES
ビューを問い合せて、RMANリポジトリに情報が含まれていることを確認します。
データファイルのユーザー管理コピーを作成してカタログに追加するには:
12.4.3.3 バックアップ・ピースのカタログ化
ディスク上のバックアップ・ピースをカタログに追加できます。この方法は、オペレーティング・システム・ユーティリティを使用して、同じホスト上のある場所から別の場所に、またはあるホストから別のホストにバックアップ・ピースをコピーする場合に有効です。
データベースの以前のインカネーションからバックアップ・ピースのカタログを追加することもできます。RMANは、後続のリストアおよびリカバリ操作中にバックアップ・ピースを使用できるかどうかを決定できます。
バックアップ・ピースをカタログに追加するには:
12.4.3.4 カタログへのディスクの場所内のすべてのファイルの追加
自動ストレージ管理(ASM)、Oracle Managed Filesフレームワークまたは高速リカバリ領域を使用する場合は、ディスク管理システムによって認識されており、RMANのリポジトリには表示されていないファイルをカタログに再度追加する必要があることがあります。この状況は、メディア障害、ソフトウェアの不具合またはユーザー・エラーが原因でファイル名を追跡するメカニズムで障害が発生した場合に発生する可能性があります。
CATALOG START WITH
コマンドを使用すると、ASMディスク・グループ、Oracle Managed Filesまたは従来のファイル・システム・ディレクトリにあるすべてのファイルを検索して、RMANリポジトリに記録されていないファイルを調べることができます。このコマンドによってファイルをカタログに追加できる場合は、ファイルがカタログに追加されます。ファイルをカタログに追加できない場合は、スキップされたファイルの内容が可能なかぎり推測されます。
CATALOG RECOVERY AREA
コマンドを使用すると、リカバリ領域内のすべてのファイルをカタログに追加できます。通常、このコマンドを手動で実行する必要はありません。このコマンドは、制御ファイルをリストアまたは作成する場合などに必要に応じてRMANが自動的に実行するためです。このコマンドは、オペレーティング・システム・ユーティリティによってファイルを高速リカバリ領域にコピーする場合に実行できます。
ディスクの場所内のすべてのファイルをカタログに追加するには:
12.4.4 RMANリポジトリからのレコードの削除
RMANリポジトリからファイルのレコードを削除できます。
12.4.4.1 RMANリポジトリでのカタログからの削除操作について
CHANGE...UNCATALOG
コマンドを実行して、RMANリポジトリ・レコードに次の処理を行います。
-
制御ファイル・リポジトリのバックアップ・レコードを
DELETED
状態に更新します。 -
特定のバックアップ・レコードをリカバリ・カタログ(使用している場合)から削除します。
RMANは、指定した物理ファイルは変更しません。これらのファイルのリポジトリ・レコードのみを変更します。
このコマンドは、RMAN以外の方法を使用してバックアップを削除した場合に使用できます。たとえば、オペレーティング・システムのユーティリティを使用してアーカイブREDOログを削除した場合、CHANGE
ARCHIVELOG
...
UNCATALOG
コマンドを発行することによってリポジトリからこのログのレコードを削除します。
12.5 RMANバックアップおよびアーカイブREDOログの削除
RMANのDELETE
コマンドを使用すると、アーカイブREDOログおよびRMANバックアップを削除できます。
ディスク上のバックアップの場合、バックアップを削除すると、バックアップ・ファイルがディスクから物理的に削除されます。SBTデバイス上のバックアップの場合、RMANのDELETE
コマンドを使用すると、テープ上のバックアップ・ピースまたはプロキシ・コピーを削除するようにメディア・マネージャに指示が行われます。いずれの場合も、削除を反映してRMANのリポジトリが更新されます。
ノート:
CDBでは、SYSDBA
またはSYSBACKUP
権限を持つユーザーとしてrootに接続した場合のみ、アーカイブ・ログを削除できます。PDBに接続している場合は、アーカイブREDOログを削除できません。
12.5.1 RMANバックアップの削除の概要
RMANの各バックアップによって、対応するレコードがRMANリポジトリに作成されます。このレコードは、制御ファイルに格納されます。リカバリ・カタログを使用する場合、リカバリ・カタログを制御ファイルと再同期化すると、レコードはリカバリ・カタログにも格納されます。
たとえば、完全なデータベース・バックアップ・セットを生成する場合は、このバックアップ・セットのレコードをV$BACKUP_SET
に表示できます。リカバリ・カタログを使用している場合は、RC_BACKUP_SET
カタログ・ビューでレコードにアクセスすることもできます。
V$
制御ファイル・ビューとリカバリ・カタログ・ビューでは、情報を格納する方法が異なります。この違いが、RMANによるリポジトリ・レコードの処理方法に影響します。リカバリ・カタログのRMANリポジトリは、実際のデータベース表に格納されますが、制御ファイルのRMANリポジトリは、制御ファイルの内部構造に格納されます。
RMANコマンドを使用してバックアップまたはアーカイブREDOログ・ファイルを削除する場合、RMANは次の処理を実行します。
-
オペレーティング・システムから物理ファイルを削除します(ファイルが存在する場合)。
-
制御ファイル内のファイル・レコードのステータスを
DELETED
に更新します。 -
リカバリ・カタログ表からファイル・レコードを削除します(RMANがリカバリ・カタログに接続されている場合)。
制御ファイルのデータは内部構造に格納されているため、RMANは、制御ファイルからレコードを削除できず、レコードのステータスをDELETED
に更新するのみです。ただし、カタログ表は通常のデータベース表であるため、表から行が削除される場合と同様に、カタログ表から行が削除されます。
12.5.1.1 RMANの削除コマンドについて
バックアップおよびバックアップのリカバリ・カタログ・レコードを削除できます。
次の表に、バックアップを削除できるRMANコマンドを示します。
表12-1 RMANの削除コマンド
コマンド | 目的 |
---|---|
|
バックアップを削除して、制御ファイル・レコードのステータスを
RMANは、構成されているすべてのチャネルを使用して削除を実行します。自動チャネル用に構成されていないデバイス上のファイルに対して |
|
アーカイブ・ログ、データファイルのコピー、またはバックアップ・セットをバックアップして、バックアップが正常に完了した後にオペレーティング・システムから入力ファイルを削除します。RMANは、削除された入力ファイルのリポジトリ・レコードも削除して更新します。
|
|
指定されたバックアップのリカバリ・カタログ・レコードを削除して、制御ファイル・レコードのステータスを |
オブジェクトのRMANリポジトリ・レコードが、そのオブジェクトの物理ステータスを反映していない場合があります。たとえば、ディスクにアーカイブREDOログをバックアップした後で、オペレーティング・システム・ユーティリティを使用してそのオブジェクトを削除したとします。最初にCROSSCHECK
を実行せずにDELETE
を実行すると、リポジトリにログがAVAILABLE
と誤って表示されます。
RMANを対話形式で実行すると、ファイルを削除する前に確認を求められます。BACKUP
コマンドのいずれの形式でも、NOPROMPT
キーワードを使用することによって、これらの確認が行われないようにすることができます。
DELETE NOPROMPT ARCHIVELOG ALL;
関連項目:
RMANリポジトリと物理メディアの間で不一致が発生した場合のDELETE
の動作の詳細は、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。
12.5.1.2 アーカイブREDOログの削除について
メンテナンス計画では、高速リカバリ領域、バックアップの保存方針およびアーカイブREDOログの削除方針を構成することをお薦めします。
デフォルトでは、アーカイブREDOログの削除方針はNONE
に構成されています。この場合、高速リカバリ領域は、ディスクまたはテープに1回以上バックアップされているとき、またはバックアップ保存方針に従ってログが不要になったときに、ログを削除対象であるとみなします。
アーカイブREDOログは、データベースによって自動的に削除されるか、またはユーザーが実行した表12-1に示されているRMANコマンドによって削除されます。リカバリ領域内のログは、データベースによってできるかぎり保存され、ディスク領域が必要になると対象となるログが削除されます。対象となるログは、BACKUP ... DELETE INPUT
またはDELETE ARCHIVELOG
を使用して、リカバリ領域の内部または外部のすべての場所から削除できます。これらのコマンドは両方とも、アーカイブREDOログの削除方針の設定がNONE
以外のときは、方針に従います。DELETE
コマンドでFORCE
オプションを使用すると、アーカイブREDOログの削除方針の設定を無効にできます。
関連項目:
-
方針のオプションの詳細は、Oracle Databaseバックアップおよびリカバリ・リファレンスの
CONFIGURE ARCHIVELOG DELETION POLICY
のエントリを参照してください。
12.5.2 すべてのバックアップおよびコピーの削除
RMANのDELETE
コマンドを使用して、バックアップおよびイメージ・コピーを削除します。
状況によっては、データベースに関連付けられているすべてのバックアップ・セット、プロキシ・コピーおよびイメージ・コピーを削除する必要がある場合があります。たとえば、データベースが不要になったため、関連するすべてのファイルをシステムから削除する場合などです。イメージ・コピーは、BACKUP AS COPY
コマンドで生成されるファイル、データベースによってアーカイブされるログまたはCATALOG
コマンドでカタログに追加されるファイルです。
すべてのバックアップおよびコピーを削除するには:
12.5.3 指定したバックアップおよびコピーの削除
DELETE
およびBACKUP ... DELETE
コマンドのいずれを使用しても、特定のバックアップおよびコピーを削除できます。
BACKUP ... DELETE
コマンドを実行すると、ファイルはまず通常はテープにバックアップされ、その後入力ファイルが削除されます。
DELETE
コマンドでは、削除するオブジェクトを識別するための様々なオプションがサポートされています。アーカイブREDOログを削除する場合、RMANは構成済の設定を使用して、ログを削除できるかどうか判断します。
指定したバックアップおよびコピーを削除するには:
関連項目:
-
DELETE
コマンドのオプションの詳細は、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。
12.5.3.1 BACKUP ... DELETEを使用した指定ファイルの削除
BACKUP ... DELETE
を使用すると、アーカイブREDOログ、データファイルのコピー、またはバックアップ・セットをバックアップし、バックアップに成功した後で入力ファイルを削除できます。
DELETE INPUT
オプションを指定すると、入力ファイルに対してDELETE
コマンドを発行した場合と同じ処理が実行されます。RMANは構成済の設定を使用して、アーカイブREDOログを削除できるかどうか判断します。DELETE ALL INPUT
句のALL
オプションは、アーカイブREDOログにのみ適用されます。BACKUP ... DELETE ALL INPUT
を実行すると、BACKUP
コマンドの選択基準を満たすアーカイブREDOログまたはデータファイルのすべてのコピーが削除されます。
関連項目:
12.5.4 期限切れのRMANバックアップおよびコピーの削除
CROSSCHECK
を実行し、RMANがファイルの場所を特定できない場合、RMANリポジトリのレコードはEXPIRED
ステータスに更新されます。その後、DELETE EXPIRED
コマンドを使用して、RMANリポジトリから期限切れのバックアップおよびコピーのレコードを削除できます。
EXPIRED
とマークされたファイルが実際に存在する場合は、DELETE EXPIRED
コマンドによって警告が発行されます。まれに、ファイルが存在する場合でも、リポジトリによってファイルがEXPIRED
とマークされる場合があります。たとえば、ファイルが含まれているディレクトリがクロスチェック中に破損し、その後、修復された場合や、メディア・マネージャが適切に構成されておらず、実際には存在するバックアップが存在しないとレポートされる場合などです。
期限切れのリポジトリ・レコードを削除するには:
12.5.5 保存方針に基づく不要なRMANバックアップの削除
RMANのDELETE
コマンドでは、OBSOLETE
オプションがサポートされています。このオプションによって、指定されているリカバリ可能性の要件を満たす必要がなくなったバックアップが削除されます。
構成済のデフォルトの保存方針、またはDELETE OBSOLETE
コマンドにオプションとして指定した他の保存方針に従って、不要とされるファイルを削除できます。DELETE
コマンドの他の形式と同様に、削除されたファイルはバックアップ・メディアおよびリカバリ・カタログから削除され、制御ファイル内でDELETED
としてマーク付けされます。
引数を使用せずにDELETE OBSOLETE
コマンドを指定すると、RMANは、構成されている保存方針で定義されているすべての不要なバックアップを削除します。次に例を示します。
DELETE OBSOLETE;
12.5.5.1 KEEP UNTIL TIMEに指定した期限が切れた場合のDELETE OBSOLETEの動作
アーカイブ・バックアップに対してKEEP UNTIL TIME
に指定した期限が切れていない場合、バックアップは不要とはみなされません。ただし、KEEP UNTIL
に指定した期限が切れるとすぐに、構成されているバックアップの保存方針に関係なく、バックアップはすぐに不要とみなされます。このため、KEEP
に指定した期限が切れた場合、DELETE OBSOLETE
を使用すると、BACKUP ... KEEP UNTIL TIME
で作成されたすべてのバックアップが削除されます。
関連項目:
keepOption
の構文については、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。
12.5.6 削除されたPDBのバックアップの削除
GUID
オプションを指定してDELETE
コマンドを使用して、マルチテナント・コンテナ・データベース(CDB)から削除されたプラガブル・データベース(PDB)のバックアップを削除します。
DELETE BACKUP ... OF PLUGGABLE DATABASE
コマンドは、指定したPDBのバックアップを削除します。ただし、PDBの削除後は指定した名前のPDBが存在しなくなるため、このコマンドは使用できません。そのような場合は、DELETE BACKUP … GUID
コマンドを使用して、削除されたPDBのバックアップを削除します。各PDBにはグローバル一意識別子(GUID)があり、これを使用してPDBを一意に識別できます。削除されたPDBのGUIDは、DBA_PDB_HISTORY
ビューで使用可能です。
削除されたPDBのバックアップを削除するには:
12.6 データベースの削除
オペレーティング・システムからデータベースを削除するには、RMANのDROP
DATABASE
コマンドを使用できます。RMANは、ターゲット・データベースに属する、サーバー・パラメータ・ファイル、すべてのデータ・ファイル、オンラインREDOログおよび制御ファイルを削除します。
データベースを削除するには:
DROP
DATABASE
では、マウントされたターゲット・データベースにRMANが接続されている必要があります。リカバリ・カタログに接続している必要はありません。RMANをリカバリ・カタログに接続した状態でオプションINCLUDE
COPIES
AND
BACKUPS
を指定すると、RMANはデータベースも登録解除します。
関連項目:
-
SQLの
DROP
DATABASE
文の使用方法を学習するには、SQL*Plusでのデータベースの削除を参照してください。 -
RMANの
DROP DATABASE
コマンドの構文については、Oracle Databaseバックアップおよびリカバリ・リファレンスを参照してください。