9 バックアップおよびリカバリの実行
この章では、Oracle Recovery Manager (RMAN)でのOracle Databaseのバックアップおよびリカバリについて説明します。この章を読むと、Oracle Databaseのバックアップ操作およびリカバリ操作の基本概念に精通し、ディスクベースのバックアップ計画の実装方法を習得して、データベース・ファイルに対する簡単な修復を行うことができます。
この章の構成は、次のとおりです。
関連項目:
-
RMANを使用した高度なバックアップおよびリカバリ操作の実行の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
-
RMANコマンドの構文およびセマンティクスは、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。
9.1 データベースのバックアップとリカバリの概要
Oracle Databaseのバックアップおよびリカバリでは、データベース・ファイルの物理バックアップを行い、データベースを再構築できるようにすることが主な目的になります。
Oracle Recovery Manager (RMAN)はコマンドライン・ツールで、Oracle Databaseを効率よくバックアップおよびリカバリする際に使用することをお薦めします。RMANに組込みのバックアップおよびリカバリ機能によって保護されるファイルには、データファイル、制御ファイル、サーバー・パラメータ・ファイルおよびアーカイブREDOログ・ファイルがあります。これらのファイルを使用すると、データベースを再構築できます。RMANは、サーバーと密接に作用するよう設計されており、バックアップおよびリカバリ中のブロックレベルの破損を検出します。RMANにより、ファイルの多重化やバックアップ・セットの圧縮によるバックアップ時のパフォーマンスと領域消費を最適化でき、前のテープやストレージ・メディア製品と統合できます。バックアップ・メカニズムは、データファイルの間違った削除やディスク・ドライブの障害などによるファイルの損傷を回避するために、物理レベルで機能します。また、RMANを使用すると、フラッシュバックなどの他の手法を使用できない場合に、Point-in-Timeリカバリを実行して論理的な障害からリカバリすることもできます。
論理バックアップ(表や表領域のようなデータベース・オブジェクトのエクスポートなど)は、物理バックアップの補助手段としては有効ですが、データベース全体の保護はできません。効果的なバックアップ計画は物理バックアップに基づいたものであることが必要です。
Oracle Databaseフラッシュバック機能は、物理および論理バックアップに対する使いやすい効率的な代替方法として一連の物理および論理データ・リカバリ・ツールを提供します。フラッシュバック機能を使用すると、バックアップからデータファイルをリストアしなくても、不要なデータベースの変更の結果を取り消すことができます。
ここでは、次のフラッシュバック機能へのリンクを示します。これらの機能の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
-
Oracle Flashback Table、最近のある時点のコンテンツへの表の回復が可能
-
Oracle Flashback Drop、削除されたデータベース表の取出しが可能
-
Oracle Flashback Database、データベース全体の過去の時点への巻戻しが可能
最初の2つの機能は論理レベルで実行され、3つ目の機能は物理レベルで実行されます。これらの機能では、失われたデータを回復する場合に、論理エクスポートの作成などの詳細な準備を必要としませんが、Oracle Flashback Databaseでは機能を有効にするのに詳細な準備が必要です。ユーザーのデータベースが使用可能である場合は、すべての機能を使用できます。Oracle Databaseのフラッシュバック機能の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』で説明しています。
9.1.1 CDBとPDBのバックアップおよびリカバリの概要
-
全体バックアップ
-
増分バックアップ
-
完全リカバリ
-
Point-in-Timeリカバリ(PITR)
-
フラッシュバック・データベース
-
レポート作成操作(バックアップのリスト作成およびバックアップの照合チェック)
CDBおよびPDBへの接続について
ルートには、次のいずれかの方法で接続できます。
-
オペレーティング・システム認証を使用した接続
SYSDBA
権限を持つSYS
ユーザーとしてルートに接続されます。 -
共通ユーザーとしてのローカル接続
-
共通ユーザーとしてのOracle Net Servicesを介した接続
TARGET
としてPDBに接続するには、次のメソッドの1つを使用します。
-
PDBのデータベース・サービスに変換されるネット・サービス名を使用して接続します
-
SYSDBA
権限またはSYSBACKUP
権限を持つ共通ユーザーまたはローカル・ユーザーとしてローカルに接続します
注意:
PDBに直接接続している場合には、一部の操作は使用できません。これらの操作のリストは、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
関連項目:
PDBのバックアップおよびリカバリの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』で次の項を参照してください。
9.1.1.1 CDBのバックアップおよび完全リカバリ
TARGET
としてルートに接続します。SYSDBA
権限またはSYSBACKUP
権限を持つ共通ユーザーとして接続を確立する必要があります。
ルートに接続したら、非CDBに対する操作の実行に使用するものと同じコマンドを使用して、CDB全体のバックアップと完全リカバリを実行します。
関連項目:
CDBのバックアップと完全リカバリの実行の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』の次の項を参照してください。
9.1.1.2 PDBのバックアップおよび完全リカバリ
単一のPDBに対するバックアップと完全リカバリ操作を実行するには、TARGET
としてPDBまたはルートに接続します。
-
PDBに接続する場合は、非CDBのバックアップまたはリカバリで使用するものと同じコマンドを使用します。たとえば、PDBをバックアップするには、
BACKUP DATABASE
コマンドを使用します。 -
ルートに接続する場合は、RMANコマンドで
PLUGGABLE DATABASE
句を使用します。次のコマンドでは、ルートに接続されている場合に
hrpdb
というPDBをバックアップします。BACKUP PLUGGABLE DATABASE hrpdb;
単一のコマンドを使用して複数のPDBに対するバックアップと完全リカバリ操作を実行するには、ルートに接続する必要があります。PLUGGABLE DATABASE
句の後に、操作を実行する対象のPDBのリストを指定して使用します。次の例では、ルートに接続されている場合にhrpdb
、salespdb
およびinvpdb
の各PDBをバックアップします。
BACKUP PLUGGABLE DATABASE hrpdb, salespdb, invpdb;
関連項目:
PDBのバックアップおよびリカバリの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』で次の項を参照してください。
9.1.1.3 CDBおよびPDBのPoint-in-Timeリカバリ
マルチテナント・コンテナ・データベース(CDB)全体または特定のプラガブル・データベース(PDB)のPoint-in-Timeリカバリを実行できます。
CDBのPoint-in-Timeリカバリを実行するには、SYSDBA
権限またはSYSBACKUP
権限を持つ共通ユーザーとしてルートに接続する必要があります。CDBはマウントされている必要があります。非CDBのPoint-in-Timeリカバリを実行するために使用したものと同じコマンドを使用します。
PDBのPoint-in-Timeリカバリを実行するときには、リカバリ対象のPDBはクローズされている必要がありますが、CDBはオープンされていてもかまいません。単一のPDBのPoint-in-Timeリカバリを実行する場合は、TARGET
としてルートまたはPDBのどちらかに接続します。PDBに接続したときには、非CDBに使用するものと同じコマンドを使用します。ルートに接続したときには、リカバリする必要のあるPDBを指定するためのPLUGGABLE DATABASE
句を含めます。複数のPDBのPoint-in-Timeリカバリを実行する場合は、ルートに接続して、リカバリする必要のあるPDBを指定するためのPLUGGABLE DATABASE
句を含めます。
RMANは、Point-in-Timeリカバリ時に作成される一時ファイルを格納するために、補助の宛先を使用します。高速リカバリ領域が構成されている場合は、その領域が補助の宛先として使用されます。補助の宛先は、RECOVER
コマンドにAUXILIARY DESTINATION
句を使用することで、明示的に指定できます。
関連項目:
Point-in-Timeリカバリの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』の次の項を参照してください。
9.1.1.4 CDBおよびPDBのフラッシュバック
マルチテナント・コンテナ・データベース(CDB)全体または特定のブラガブル(PDB)に対して、フラッシュバック・データベース操作を実行できます。
CDBのフラッシュバック・データベースを実行するには、SYSDBA
権限またはSYSBACKUP
権限を持つ共通ユーザーとしてルートに接続する必要があります。フラッシュバック操作の目標時点は、CDBリストア・ポイント、時間式、または目的のSCNを使用して指定できます。CDBリストア・ポイントは、そのCDB内のどのPDBからでもアクセスできます。ただし、そのPDBのPDBサブインカネーションは反映されません。
PDBのフラッシュ・データベースを実行する場合は、PDBがクローズされている必要がありますが、CDBはオープンされていてもかまいません。フラッシュバック操作の目標時点は、CDBリストア・ポイント、PDBリストア・ポイント、クリーンPDBリストア・ポイント、時間式、または目的のSCNを使用して指定できます。PDBリスト・ポイントは、そのリストア・ポイントが定義されたPDBからのみアクセス可能で、そのPDBに対する操作にのみ使用できます。クリーンPDBリストア・ポイントは、共有UNDOを使用するCDBにのみ適用されます。
RMANは、Point-in-Timeリカバリ時に作成される一時ファイルを格納するために、補助の宛先を使用します。デフォルトでは、高速リカバリ領域が補助の宛先として使用されます。補助の宛先は、RECOVER
コマンドにAUXILIARY DESTINATION
句を使用することで、明示的に指定できます。
関連項目:
CDBおよびPDBのフラッシュバックの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』の次の項を参照してください。
9.2 データベースのバックアップおよびリカバリの概要
ARCHIVELOG
モードで実行されている場合)。データベースのリストアとは、通常はディスクまたはテープなどのバックアップ媒体から元の場所または新しい場所に、データベースを構成する物理ファイルをコピーすることです。データベースのリカバリとは、増分バックアップおよびREDOログをリストア済ファイルに適用することによって、バックアップからリストアしたデータベース・ファイルを、バックアップ後にデータベースに加えられた変更で更新するプロセスのことです。
この項では、次の項目について説明します。
関連項目:
-
Oracle Recovery Manager (RMAN)アーキテクチャの概要は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
-
RMANバックアップの概念の詳細は、Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイドを参照
9.2.1 ARCHIVELOGモードとNOARCHIVELOGモード
ARCHIVELOG
モードとNOARCHIVELOG
モードのどちらで実行する必要があるかです。選択するモードは、可用性および信頼性の要件に依存します。また、実行可能なバックアップおよびリカバリ操作のタイプにも影響します。
NOARCHIVELOG
モードでは、一杯になったREDOログ・グループ(非アクティブになる)を再利用できます。このモードでは、データベースがインスタンス障害から保護されますが、メディア障害からは保護されません。ARCHIVELOG
モードでは、一杯になったREDOログ・グループはアーカイブされます。このモードでは、データベースがインスタンス障害とメディア障害の両方から保護されますが、追加のハードウェア・リソースが必要な場合があります。
関連項目:
ARCHIVELOG
モードとNOARCHIVELOG
モードの詳細は、『Oracle Database管理者ガイド』を参照してください
9.2.2 RMANリポジトリ
データベースのRMANリポジトリが第1に格納される場所はデータベースの制御ファイルです。RMANのこのメタデータの重要性は、制御ファイルの保護がバックアップ計画の重要な部分を占めるもう1つの理由となっています。インストールの形態によっては、RMANリポジトリの2番目のコピーがリカバリ・カタログと呼ばれるスキーマに格納されます。リカバリ・カタログは別のデータベースにあり、複数のターゲット・データベースのメタデータを格納できます。
リカバリ・カタログを使用することをお薦めします。リカバリ・カタログでは、制御ファイルより長期のメタデータ履歴を格納するため、制御ファイルの履歴より前の時点にリカバリすることができます。また、ターゲット制御ファイルおよびすべてのバックアップが消失した場合でも、リカバリ・カタログ内のRMANメタデータを使用できます。
関連項目:
リカバリ・カタログの作成および管理の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
9.2.3 イメージ・コピーおよびバックアップ・セット
Oracle Recovery Manager (RMAN)で作成されたデータベース・バックアップは、イメージ・コピーまたはバックアップ・セットとして格納されます。
イメージ・コピーは、ファイルが正確にバイト単位でコピーされたものです。イメージ・コピーは、オペレーティング・システム・レベルでファイルをコピーして作成できます。ただし、オペレーティング・システム・レベルでのファイルのコピーとは異なり、RMANによって作成されたイメージ・コピーは、データベースのリストア操作およびリカバリ時にRMANが使用できるようにRMANリポジトリに記録されます。RMANによるファイルのリストアが可能なのは、RMANリポジトリにファイルが記録されているときのみです。RMANは、ディスク上にのみイメージ・コピーを作成できます。
バックアップ・セットとは、RMANのBACKUP
コマンドで生成される論理エンティティです。このコマンドにより、ディスクまたはテープ・デバイス上に1つ以上のバックアップ・セットを生成できます。イメージ・コピーではすべてのRMAN機能を使用することはできませんが、イメージ・コピーに増分バックアップを適用すること(統合的な全体バックアップ)が可能で、先にイメージ・コピーをコピーしなくても、所定の場所で直接使用してリストアを迅速に実行できるという利点があります。
各バックアップ・セットには、バックアップ・ピースと呼ばれる1つ以上の物理ファイルが含まれています。1つのバックアップ・ピースに、1つ以上のデータベース・ファイルのバックアップがRMAN固有のコンパクトな形式で格納されます。バックアップ・セットの利点の1つとして、RMANの未使用ブロックの圧縮により、データファイルのバックアップに使用される領域を節約できることがあげられます。データファイルの中でデータの格納に使用されたブロックのみがバックアップ・セットに含められます。また、バックアップ・セットは圧縮、暗号化、テープへの送信が可能で、データファイルのコピーでは使用できない未使用領域の高度な圧縮を利用できます。
9.2.4 全体バックアップと増分バックアップ
データファイルの全体バックアップには、データファイルのすべての使用済ブロックが含まれます。全体バックアップはイメージ・コピーとバックアップ・セットのいずれかです。
増分バックアップでは、バックアップとバックアップの間に変更されたデータファイルのブロックのみがコピーされます。データファイルのすべてのブロックをコピーしたレベル0の増分バックアップは、増分バックアップ計画の開始点として使用されます。
レベル1の増分バックアップは、前回のレベル0またはレベル1の増分バックアップの後で変更されたブロックのイメージのみをコピーします。レベル1のバックアップは、直近のレベル0のバックアップ以降に変更されたすべてのブロックが含まれる累積バックアップか、直近のレベル0またはレベル1の増分バックアップ以降に変更されたブロックのみが含まれる差分バックアップです。
レベル0の増分バックアップは、バックアップ・セットまたはイメージ・コピーのいずれかにできますが、レベル1の増分バックアップは、バックアップ・セットのみが可能です。
通常の増分バックアップ計画では、レベル1のバックアップを1日1回のように定期的に行います。
リカバリ時に、Oracle Recovery Manager (RMAN)では必要に応じて増分バックアップとREDOログの両方を自動的に適用し、データベースを必要な時点までリカバリします。
9.2.5 一貫性バックアップと非一貫性バックアップ
データベースがARCHIVELOG
モードの場合は、アーカイブREDOログ・ファイルを使用してリカバリが可能な非一貫性バックアップを作成できます。オープンしているデータベースのバックアップは、まだデータファイルに適用されていない変更がオンラインREDOログ・ファイルに含まれているため、一貫性がありません。確実にリカバリできるように、オンラインREDOログ・ファイルをアーカイブした後、データファイルとともにバックアップする必要があります。
名前によらず、非一貫性バックアップは一貫性バックアップと同程度の堅牢性を持っています。一貫性バックアップの作成と比較した場合、データベースがオープンしていて更新可能な状態でもデータベースのバックアップができるという利点があります。
9.2.6 メディア・リカバリ
メディア・リカバリには、制御ファイル、データファイル(通常、バックアップからリストアされたもの)、およびデータファイルがバックアップされた時点以降の変更を含むオンラインREDOログ・ファイルとアーカイブREDOログ・ファイルが必要です。メディア・リカバリは、ファイルやディスクの消失などのメディア障害から、または表のコンテンツの削除などのユーザー・エラーからリカバリする場合によく使用されます。
メディア・リカバリには、完全リカバリとPoint-in-Timeリカバリがあります。完全リカバリは、個々のデータファイル、表領域またはデータベース全体に適用できます。Point-in-Timeリカバリはデータベース全体に適用されます(また、Oracle Recover Manager (RMAN)の自動化支援によって、個々の表領域に適用されることもあります)。
完全リカバリでは、バックアップのデータファイルをリストアし、すべての変更をアーカイブREDOログ・ファイルおよびオンラインREDOログ・ファイルからデータファイルに適用します。データベースは障害発生時の状態に戻り、データを失うことなくオープンできます。
Point-in-Timeリカバリでは、ユーザーが選択した過去のある時点の内容にデータベースを戻します。ターゲットの時点より前に作成されたデータファイルのバックアップ、およびバックアップ作成時からターゲットの時点までのアーカイブREDOログ・ファイル一式をリストアします。バックアップ時からターゲットの時点までの変更がデータファイルに適用されます。ターゲットの時点より後の変更はすべて破棄されます。
RMANでは、データベースの完全リカバリとPoint-in-Timeリカバリの両方を実行できます。ただし、このマニュアルでは完全リカバリを中心に説明します。
関連項目:
-
Point-in-Timeリカバリの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
9.2.7 高速リカバリ領域
Oracle Databaseではこの記憶域を自動的に管理し、不要になったファイルを削除します。バックアップを定期的にテープにコピーすると、他のファイル用に高速リカバリ領域を解放できます。
バックアップの宛先を指定せずにRMANのBACKUP
コマンドを発行すると、RMANは高速リカバリ領域(構成されている場合)に自動的にバックアップします。
高速リカバリ領域を構成して、バックアップ管理を簡略化することをお薦めします。このマニュアルでは、特に注記がある場合以外は、リカバリ領域を使用することが前提となります。
関連項目:
9.3 基本バックアップおよびリカバリのためのデータベースの構成
この項では、推奨バックアップ計画を利用するためのデータベースの設定方法について説明します。
バックアップおよびリカバリのファイルと操作を自動管理するOracle Databaseの機能を最大限に利用するには、データベースを次のように構成します。
-
ほとんどのバックアップ関連ファイルのストレージ管理を自動化する高速リカバリ領域を使用し、アーカイブREDOログ・ファイルの宛先として指定します。
-
ARCHIVELOG
モードでデータベースを実行します。これにより、オンライン・バックアップが実行でき、完全なメディア・リカバリやPoint-in-Timeメディア・リカバリなどのデータ・リカバリ・オプションを指定できます。
また、バックアップするファイル、バックアップをディスクに格納する形式、ファイルを削除できる時期などを管理する複数のポリシーを設定する必要があります。
マルチテナント環境では、ルートに接続して、マルチテナント・コンテナ・データベース(CDB)全体のバックアップおよびリカバリ設定を構成する必要があります。これらの設定は、CDB内のルートおよびすべてのプラガブル・データベース(PDB)に適用されます。
この項では、次の項目について説明します。
9.3.1 高速リカバリ領域の領域使用量および位置の計画
作業中のデータベース・ファイル・セットとは別のストレージ・デバイスに高速リカバリ領域を配置することをお薦めします。これを行わなかった場合、このストレージ・デバイスがデータベースのシングル・ポイント障害になる可能性があります。
高速リカバリ領域に割り当てる記憶領域の容量は、データベースのサイズとアクティビティ・レベル、およびリカバリ目標によって異なります。オブジェクトは使用するバックアップの種類、使用する時間および維持する期間を決定します。
この項では、次の項目について説明します。
9.3.1.1 バックアップ保存ポリシーおよび高速リカバリ領域について
高速リカバリ領域での領域管理は、バックアップ保存ポリシーによって制御されます。保存ポリシーは、ファイルがいつ不要になるか、つまりデータ・リカバリ目標を達成するために必要ではなくなるかを決定します。
保存ポリシーは、バックアップの冗長性またはリカバリ期間がベースとなります。
冗長性ベースのポリシーを使用する場合は、Oracle Recovery Manager (RMAN)に保持される各データファイルおよび制御ファイルの全体またはレベル0のバックアップの数を指定します。特定のデータファイルまたは制御ファイルの全体またはレベル0のバックアップの数が冗長性の設定を超えると、RMANは余分なバックアップを不要とみなします。
期間ベースのリカバリ・ポリシーでは、期間を日数で指定します。ファイルは、指定した期間内のシステム変更番号(SCN)への完全リカバリまたはPoint-in-Timeリカバリに必要ではなくなった場合にのみ、不要になります。したがって、期間ベースのリカバリ保存ポリシーをお薦めします。
デフォルトの保存ポリシーでは、冗長性が1です。高速リカバリ領域のファイルが不要になった後でも、通常は新規ファイルのために領域が必要になるまで削除されません。領域に空きがある場合、最近テープに移動されたファイルは、リカバリの際にテープからリストアしなくてもよいようにディスクに残ります。不要なファイルおよびテープに移動されたファイルが高速リカバリ領域から自動的に削除されるため、高速リカバリ領域は宛先として便利です。その他の場所では、ログを手動で削除する必要があります。
関連項目:
-
冗長性ベースのポリシーの構成の例は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
9.3.1.2 高速リカバリ領域サイズについて
バックアップ計画に増分バックアップが含まれる場合、これらのファイルの高速リカバリ領域に十分な領域を追加します。バックアップの一部をテープに移動できる場合、高速リカバリ領域のサイズを削減できます。テープからファイルを取得する場合はデータベースのリストア操作およびリカバリに必要な時間が長くなるので注意してください。
関連項目:
高速リカバリ領域が満杯になった場合の処理については、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
9.3.2 バックアップおよびリカバリを実行するためのユーザーの構成
この項では、バックアップおよびリカバリを実行するために必要な資格証明、およびSYSBACKUP
権限をデータベース・ユーザーに付与する方法について説明します。
9.3.2.1 バックアップおよびリカバリを実行するために必要な資格証明
SYSDBA
またはSYSBACKUP
管理権限を持つユーザーとしてターゲット・データベースに接続する必要があります。SYSBACKUP
権限には、データベースのバックアップおよびリカバリに必要なすべての権限が含まれています。これらの権限は、SYSDBA
管理権限に含まれる権限のサブセットです。
次のタイプのユーザーはSYSBACKUP
権限を持っています。
-
SYSBACKUP
ユーザー。データベースをインストールすると、
SYSBACKUP
権限を持つSYSBACKUP
ユーザーが自動的に作成されます。 -
SYSBACKUP
権限を付与するデータベース・ユーザー。 -
オペレーティング・システム認証用のOSBACKUPDBAオペレーティング・システム・グループのメンバーであるデータベース・ホスト・ユーザー。
データベースのインストール時に、OSBACKUPDBAグループは、特定のオペレーティング・システム・グループに割り当てられます。たとえば、UNIXおよびLinuxシステムでは、
backupdba
グループは通常、OSBACKUPDBAグループとして指定されます。このグループのホスト・ユーザーは、オペレーティング・システム認証を使用してターゲット・データベースに接続することが可能で、データベース・ユーザーとして定義する必要はありません。
このマニュアルで説明されている推奨バックアップ計画では、オペレーティング・システム認証を使用します。ホスト・ユーザーを作成して、それらをOSBACKUPDBAグループに追加する方法は、オペレーティング・システムのドキュメントを参照してください。
注意:
以前のリリースでは、バックアップおよびリカバリ・タスクを実行するには、SYSDBA
管理権限が必要でした。Oracle Database 12c以降、バックアップおよびリカバリ操作にSYSBACKUP
管理権限を使用することをお薦めします。
SYSBACKUP
ユーザーは使用しないことをお薦めします。かわりに、ユーザーを作成し、そのユーザーにSYSBACKUP
権限を付与します。
関連項目:
-
オペレーティング・システム認証の詳細は、「SQL*Plusの起動およびデータベースへの接続」を参照してください
9.3.3 RMANを使用したターゲット・データベースへの接続
SYSDBA
またはSYSBACKUP
管理権限が必要です。
ターゲット・データベースに接続するには、次の手順を実行します。
注意:
あるデータベース・ホストでRMANを起動し、別のホストでターゲット・データベースに接続することができます。これはリモート・データベースへの接続として知られ、次のことが必要です。
-
接続文字列にネット・サービス名を指定する。
-
SYSBACKUP
として接続するには、リモート・データベースのパスワード・ファイルにユーザー名を入力する。
リモート・データベースへの接続はこのマニュアルの範囲外です。詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
関連項目:
-
マルチテナント・コンテナ・データベース(CDB)およびプラガブル・データベース(PDB)への接続の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
-
ターゲット・データベースへの接続の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
-
ネット・サービス名に関する情報は、「クライアント接続」を参照してください。
9.3.4 リカバリ設定の構成
この項では、インスタンス・リカバリ、メディア・リカバリおよび高速リカバリに使用する設定の構成方法について説明します。次のトピックが含まれています:
9.3.4.1 高速リカバリ領域の構成
インストール時に高速リカバリ領域の場所を指定しなかった場合、インストール・プロセスにより、Oracleベース・ディレクトリに高速リカバリ領域が自動的に構成されます。ただし、データベース・ファイルとは別のストレージ・デバイスに高速リカバリ領域を配置することをお薦めします。
次の初期化パラメータを変更して、高速リカバリ領域を再配置し、そのサイズを調整できます。
-
DB_RECOVERY_FILE_DEST
高速リカバリ領域の場所を指定します。ファイル・システム・ディレクトリまたはOracle Automatic Storage Management (Oracle ASM)ディスク・グループを指定できますが、RAWディスクは指定できません。
-
DB_RECOVERY_FILE_DEST_SIZE
高速リカバリ領域のサイズをバイト数で指定します。
DB_RECOVERY_FILE_DEST_SIZE
パラメータは、DB_RECOVERY_FILE_DEST
パラメータの前に設定する必要があります。
これらのパラメータは、データベースを停止して再起動することなく設定できます。Oracle Real Application Clusters(Oracle RAC)データベースでは、すべてのインスタンスでこれらの初期化パラメータの値が同じである必要があります。この場所は、クラスタ・ファイル・システム、Oracle ASMまたは共有ディレクトリ上である必要があります。
高速リカバリ領域を構成するには、次の手順を実行します。
高速リカバリ領域をディレクトリ/u02/oracle/fra
に配置し、そのサイズの上限値を10GBとすると想定します。
関連項目:
9.3.4.2 REDOログ・ファイルのアーカイブの有効化
データベースが開いている間にバックアップしたり、完全またはPoint-in-Timeメディア・リカバリを実行できるようにするには、REDOログ・ファイルのアーカイブを有効にする必要があります。これを行うには、データベースをARCHIVELOG
モードに設定します。ターゲット・データベースに対してREDOログのアーカイブが有効であるかどうかを確認するには、次の問合せを使用します。
SELECT LOG_MODE FROM V$DATABASE;
データベースによるアーカイブ・ログ・ファイルを書き込む宛先を指定しない場合は、高速リカバリ領域に書き込まれます。異なる宛先を指定したり、各アーカイブ・ログ・ファイルの複数コピーをそれぞれ異なる宛先に書き込むように指定できます。冗長コピーは、宛先のいずれかで障害が発生した場合でもアーカイブ・ログ・ファイルを常に使用可能にする場合に役立ちます。
次のプロシージャでは、アーカイブ・ログ・ファイルをディレクトリ/u02/oracle/logfiles
に、アーカイブ・ログ・ファイルの冗長コピーをディレクトリ/u03/oracle/logfiles
に配置すると想定しています。冗長コピーはオプションです。
警告:
アーカイブ・ログ・ファイルの宛先に常に十分なディスク領域があることを確認する必要があります。データベースがログ・ファイルをアーカイブする際にディスクが一杯であるというエラーが発生すると、致命的なエラーとなり、データベースが応答しなくなります。アラート・ログでディスクが一杯であるというメッセージを確認できます。
REDOログ・ファイルのアーカイブを有効にするには、次の手順を実行します。
注意:
ARCHIVELOG
モードに切り替える前のバックアップを使用して、切替え後の状態にデータベースをリストアおよびリカバリすることはできません。したがって、切替え直後にバックアップを作成しなかった場合は、有効なバックアップなしでデータベースを稼働させることになります。データベースのバックアップを作成する方法は、「RMANを使用したバックアップの実行およびスケジュール設定」を参照してください。
関連項目:
-
アーカイブ・ログ・ファイルの宛先の初期化パラメータの設定の詳細は、『Oracle Database管理者ガイド』を参照してください
-
アラート・ログの詳細は、「データベースの全般的な状態およびワークロードの監視」を参照してください
9.3.4.3 フラッシュバック・データベースの有効化
データベース全体を前の時点に戻すには、バックアップをリストアしてPoint-in-Timeリカバリを実行することによって、データベース全体を前の時点に戻すか、フラッシュバック・データベースを有効にします。フラッシュバック・データベースを有効にすると、データベースによってフラッシュバック・ログが高速リカバリ領域に生成されます。これらのログは、指定した時間にデータベースをフラッシュバックするために使用します。通常稼働時には、データ・ブロックのイメージが不定期にフラッシュバック・ログに記録されます。フラッシュバック・ログの作成、削除およびサイズ変更は自動的に行われます。
フラッシュバック・データベースがターゲット・データベースに対して有効かどうかを確認するには、次のコマンドを使用します。
SELECT FLASHBACK_ON FROM V$DATABASE;
フラッシュバック・データベースを有効にするには、次の手順を実行します。
また、RMANのかわりにSQL*Plusを使用して、ターゲット・データベースに接続することによって、この項のコマンドを実行することもできます。
関連項目:
-
高速リカバリ領域の構成の詳細は、Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイドを参照
9.3.5 バックアップ設定の構成
この項では、次の項目について説明します。
9.3.5.1 バックアップ・デバイス設定の構成
ディスクベース・バックアップの場合、バックアップのデフォルトの形式、ディスク上のバックアップの保存場所、バックアップ・タスクが並行して実行されるかどうか、およびバックアップを圧縮するかどうかを構成できます。
テープへのバックアップの場合、テープ・ドライブの数やバックアップを圧縮するかどうかなどの設定を構成できます。ほとんどのプラットフォームでは、Oracle Databaseにメディア・マネージャを統合し、連続したメディアを格納に使用する必要があります。
データベースおよびファイル・システムのテープへのバックアップをサポートするOracle Secure Backupをメディア・マネージャとして使用できます。Oracle Secure Backupは、他のサード・パーティのSBTインタフェースと同じサービスをOracle Recovery Manager (RMAN)に提供します。この項では、ディスク・バックアップのみを作成すると想定しています。
RMANのCONFIGURE
コマンドを使用して、デフォルトのバックアップ・タイプ、データベース・ファイルのバックアップ先のディスクの場所、並列性などのバックアップ・デバイスの設定を構成します。RMANのSHOW ALL
コマンドを使用して、現在構成されている設定を表示します。
バックアップ・デバイスの設定を構成するには、次の手順を実行します。
関連項目:
-
イメージ・コピーおよびバックアップ・セットの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
-
デフォルト・デバイスとしてテープを設定する場合の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
9.3.5.2 バックアップ・ポリシー設定の構成
制御ファイルおよびサーバー・パラメータ・ファイルのバックアップ、データベース全体のバックアップから除外する表領域、およびバックアップ保存ポリシーを制御するバックアップ・ポリシーを設定できます。
バックアップ・ポリシー設定を構成するには、次の手順を実行します。
関連項目:
保存ポリシーの他の構成方法の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
9.3.5.3 制御ファイルおよびサーバー・パラメータ・ファイルの自動バックアップの構成
また、データベースがARCHIVELOG
モードで実行されている場合も、自動バックアップは、制御ファイル内のデータベース構造メタデータが変更されるたびに実行されます。
注意:
マルチテナント・コンテナ・データベース(CDB)では、制御ファイルおよびサーバー・パラメータ・ファイルの自動バックアップがデフォルトで実行されます。
制御ファイルおよびサーバー・パラメータ・ファイルの自動バックアップを構成するには、次の手順を実行します。
RMANでは、デフォルトの形式を使用して、これらのバックアップの名前を割り当てます。
関連項目:
バックアップの形式の構成の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
9.3.5.4 ブロック・チェンジ・トラッキングの有効化
ブロック・チェンジ・トラッキングは、データベースがオープンまたはマウントされている場合に有効にできます。この項では、ブロック・チェンジ・トラッキングをOracle Managed Fileとしてデータベース領域に作成することを想定しています(データベース領域とは、データファイル、制御ファイル、オンラインREDOログ・ファイルなどのアクティブなデータベース・ファイルをデータベースが保持する場所です)。
ブロック・チェンジ・トラッキングが有効になっているかどうかを確認するには、SQLまたはRMANプロンプトから次の文を使用して、V$BLOCK_CHANGE_TRACKING
ビューのSTATUS
およびFILENAME
列を確認します。
SELECT status, filename FROM V$BLOCK_CHANGE_TRACKING;
ブロック・チェンジ・トラッキングを有効にする手順
関連項目:
-
V$BLOCK_CHANGE_TRACKING
ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。 -
DB_CREATE_FILE_DEST
初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください
9.4 データベースのバックアップ
この項では、次の項目について説明します。
関連項目:
9.4.1 追加のバックアップの概念
この項には、増分的に更新されたバックアップおよびバックアップ・タグに関するトピックが含まれています。
9.4.1.1 増分的に更新されたバックアップ: データファイルのイメージ・コピーのロールフォワード
増分的に更新されたバックアップをバックアップ計画に組み込むことで、予想リカバリ時間を短縮できます。これは現時点または最近の過去のある時点までのメディア・リカバリが、最新の全データベース・バックアップ時ではなく最新のレベル1のバックアップが適用された時点から開始できるためです。
関連項目:
9.4.1.2 バックアップ・タグ
FULL_SAT
を使用してこのバックアップを識別できます。
タグを使用すると、RMANコマンドで特定のバックアップを参照できます。たとえば、最新のFULL_SAT
バックアップをテープに移動するコマンドを発行できます。タグを指定しない場合は、RMANにより一意のタグが自動的に作成されます。
タグを使用し、バックアップの異なるグループを参照できるため、異なるルーチンを互いに干渉しないバックアップ計画に作成できます。バックアップ・ジョブのスケジュールを設定してジョブ名を指定すると、ジョブ名がタグになります。
9.4.2 RMANを使用したバックアップの実行およびスケジュール設定
Oracle Recovery Manager (RMAN)を使用すると、バックアップ計画に必要な様々なタイプのバックアップを実行できます。この項では、データベース全体のバックアップの作成について説明します。
また、データファイル、制御ファイルおよびアーカイブREDOログ・ファイルを個別にバックアップすることもできます。バックアップの暗号化など、RMANのいくつかの高度な機能を使用できます。これらのトピックの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
関連項目:
マルチテナント・コンテナ・データベース(CDB)およびプラガブル・データベース(PDB)のバックアップの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
この項では、次の項目について説明します。
9.4.2.1 データベース全体のバックアップの実行
データベース全体のバックアップには、データベースのすべてのデータファイルの完全な内容の他に、制御ファイル、アーカイブREDOログ・ファイルおよびサーバー・パラメータ・ファイルも含まれています。これらのファイルを使用すると、完全リカバリを実行できます。
データベース全体のバックアップは総合的なバックアップ計画の重要な要素ですが、ARCHIVELOG
モードを有効化または無効化するとき(「リカバリ設定の構成」を参照)のように、必須の手順となる場合もあります。この項では、データベース全体のバックアップ(オフラインとオンラインの両方)をディスクに作成する方法について説明します。通常は、データベースの可用性を最大化するためにオンライン・バックアップを実行します。
データベースがオープンしているときにデータベース全体のバックアップを実行するには、次の手順を実行します。
-
「RMANを使用したターゲット・データベースへの接続」で説明されているとおりに、RMANをターゲット・データベースに接続します。
-
「REDOログ・ファイルのアーカイブの有効化」で説明されているように、データベースが
ARCHIVELOG
モードであることを確認します。データベースが
ARCHIVELOG
モードで実行されている場合のみ、オンライン・バックアップが可能です。 -
次のコマンドを使用して、アーカイブREDOログとともにデータベースをバックアップします。
BACKUP DATABASE PLUS ARCHIVELOG;
このバックアップは、バックアップの格納のために構成したデフォルト・デバイスに作成されます。デフォルト・デバイスを構成していない場合は、バックアップは高速リカバリ領域に作成されます。RMANでは、バックアップを構成するバックアップ・セットに名前を付ける際に、デフォルトの形式を使用します。
データベースがクローズしているときにデータベース全体のバックアップを実行するには、次の手順を実行します。
関連項目:
-
マルチテナント・コンテナ・データベース(CDB)およびプラガブル・データベース(PDB)のバックアップの実行の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
-
「高速リカバリ領域」
9.4.2.2 推奨バックアップ計画の使用
オラクル社が推奨するバックアップ計画は、データを保護し、ユーザー指定のリカバリ期間の任意の時点までの有効なリカバリ可能ポイントを提供する、スケジュールされたディスク・バックアップ計画です。この計画では増分的に更新されたバックアップ機能を使用し、データベース全体のバックアップよりも早いバックアップ、および最後に実行された全体バックアップに複数の増分バックアップを適用する場合よりも早いリカバリ可能性を提供します。
概要に関するトピック「オラクル社が推奨するバックアップ計画について」を読んだ後で、オラクル社が推奨するバックアップ計画を遂行するために、この項で説明する次の各タスクを完了して日次バックアップのスケジュールを設定します。
9.4.2.2.1 オラクル社が推奨するバックアップ計画について
オラクル社が推奨するバックアップ計画は増分的に更新されたバックアップに基づいています。この計画では、まず各データファイルのイメージ・コピーを作成し、レベル1の増分バックアップを適用して、イメージ・コピーを毎日ロールフォワードします。
各データファイルについて、バックアップに必要な計画は次のとおりです。
-
計画(最初にスケジュールを設定したジョブが実際に実行される時間)の1日目のはじめに、Oracle Recovery Manager (RMAN)は増分レベル0のイメージ・コピーを作成します。これには1日目のはじめのデータファイル・コンテンツが含まれます。
リカバリが必要な場合は、1日目からのアーカイブREDOログ・ファイルを使用して、1日目の任意の時点にリカバリできます。
-
2日目のはじめに、1日目に変更されたブロックを含む差分増分レベル1のバックアップをRMANが作成します。
リカバリが必要な場合は、RMANはこの増分レベル1を適用して、レベル0のバックアップを2日目のはじめにロールフォワードできます。RMANでは、アーカイブREDOログ・ファイルを使用して2日目の任意の時点にリカバリできます。
-
3日目およびそれ以降のn日目のはじめに、RMANはn-1日目のはじめのレベル1のバックアップからレベル0のバックアップを適用します。このアクションによりn-1日目のはじめの状態のデータファイルのコピーができます。次に、RMANはn-1日の間に変更されたブロックを含むレベル1のバックアップを新しく作成します。
リカバリが必要な場合は、RMANはn-1日から n日のはじめにロールフォワードされたデータファイルに増分レベル1のバックアップを適用できます。RMANでは、アーカイブREDOログ・ファイルを使用してデータベースをn日の任意の時点にリカバリできます。
オラクル社が推奨するこのバックアップ計画では、データファイルのイメージ・コピーとレベル1の増分バックアップで同じタグを共有します。オラクル社が推奨するバックアップ計画を妨げることなく、他のバックアップ計画を安全に実装できます。
オラクル社が推奨するバックアップ計画では、ディスク・バックアップとともにテープ・バックアップを使用しますが、この項では扱いません。
9.4.2.2.2 タスク1 - 推奨バックアップ計画を使用するための準備
推奨バックアップ計画を使用するためには、次のことを確認します。
-
データベースが
ARCHIVELOG
モードであるかどうか。 -
高速リカバリ領域サイズが構成されている、またはバックアップを格納するためのデフォルト・デバイスが構成されているかどうか。
-
オペレーティング・システム認証のためのOSBACKUPDBAオペレーティング・システム・グループにデータベース・ホスト・ユーザーが追加されているかどうか。
関連項目:
9.4.2.2.3 タスク2 - バックアップ・スクリプトの作成(UNIXおよびLinux)
このバックアップ・スクリプトは、推奨バックアップ計画を実装しており、過去24時間の任意の時点にすばやくリカバリすることが可能です。このスクリプトを使用して、非CDBまたはマルチテナント・コンテナ・データベース(CDB)全体をバックアップできます。
UNIXおよびLinuxのバックアップ・スクリプトを作成するには、次の手順を実行します。
-
テキスト・エディタを起動し、次の内容のファイルを保存します。ファイルは、Oracle Databaseソフトウェアにアクセス可能で、Oracleソフトウェアの所有者が読取り権限を持つディレクトリに保存します。
注意:
次のスクリプトでは、
ORACLE_HOME
およびORACLE_SID
環境変数にインストール用の適切な値を設定します。#!/bin/sh export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=orcl PATH=$ORACLE_HOME/bin:$PATH rman <<EOF connect target / RUN { ALLOCATE CHANNEL disk_iub DEVICE TYPE DISK; RECOVER COPY OF DATABASE WITH TAG daily_iub; BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG daily_iub DATABASE; } exit EOF
9.4.2.2.4 タスク3 - バックアップ・スクリプトのテスト
スケジュール設定する前に、スクリプトを手動で実行してエラーを確認することをお薦めします。手動によるスクリプトの実行は、すべてのデータファイルの増分レベル0のイメージ・コピーを作成する、計画の1日目に開始します。
バックアップ・スクリプトをテストするには、次の手順を実行します。
Oracle Recovery Manager (RMAN)が起動され、バックアップが開始されます。RMANからの出力には、次のような警告メッセージが含まれます。
... no copy of datafile 1 found to recover no copy of datafile 2 found to recover ... no parent backup or copy of datafile 1 found no parent backup or copy of datafile 2 found ...
これらは最初にスクリプトを実行した場合の通常のメッセージです。
注意:
2回目にスクリプトを実行すると、出力には次の警告メッセージのみが含まれます。
no copy of datafile 1 found to recover no copy of datafile 2 found to recover ...
これらもまた通常のメッセージです。3回目以降のスクリプトの実行では、これ以上の警告メッセージは出力されません。
9.4.2.3 オラクル社が推奨するバックアップ計画および保存について
RECOVER COPY OF DATABASE WITH TAG 'ORA_OEM_LEVEL_0' UNTIL TIME "SYSDATE-4";
構成されている保存は、保存または古い設定のいずれにも適用されません。したがって、オラクルで推奨するバックアップ計画を使用する場合、混乱を避けるために次のデフォルトの設定を使用することをお薦めします。
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
9.4.2.4 その他のバックアップ・タスクのスケジュール設定
cron
ユーティリティを使用してこのバックアップ・タスクをスケジュールします。
関連項目:
カスタマイズ・バックアップの実行の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
9.4.3 RMANリポジトリに格納されているバックアップの表示
LIST
コマンドを使用して、Oracle Recovery Manager (RMAN)リポジトリに格納されているバックアップに関する情報を表示します。この情報には、データファイル、個々の表領域、アーカイブREDOログ・ファイルおよび制御ファイルのバックアップが含まれます。また、このコマンドを使用すると、期限切れバックアップおよび不要なバックアップに関する情報も表示できます。
関連項目:
LIST
コマンドの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
マルチテナント・コンテナ・データベース(CDB)およびプラガブル・データベース(PDB)のバックアップを表示するために使用する構文(非CDBに使用する構文とは若干の違いがあります)は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
すべてのバックアップを表示するには、次の手順を実行します。
-
「RMANを使用したターゲット・データベースへの接続」で説明されているとおりに、RMANをターゲット・データベースに接続します。
-
LIST
コマンドを使用して、すべてのバックアップ(バックアップ・セットとイメージ・コピーの両方)のサマリーを表示します。LIST BACKUP SUMMARY; List of Backups =============== Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag ------- -- -- - ----------- --------------- ------- ------- ---------- --- 12 B F A DISK 28-MAR-12 1 1 NO TAG20120328T051810 13 B F A DISK 28-MAR-12 1 1 NO TAG20120328T051811 14 B F A DISK 28-MAR-12 1 1 NO TAG20120328T051921 15 B F A DISK 28-MAR-12 1 1 NO TAG20120328T051936 16 B F A DISK 28-MAR-12 1 1 NO TAG20120328T052241
選択したバックアップを表示するには、次の手順を実行します。
9.4.4 バックアップの検証およびバックアップ計画のテスト
-
Oracle Recovery Manager (RMAN)で特定のバックアップ・セットまたはイメージ・コピーを選択し、検証します。この手法では、バックアップが存在し、リストア可能であるかどうかを確認できます。この形式の検証には、「選択したバックアップの検証」に記載されている手順を使用します。
-
データベース・ファイルを指定し、実際のリストア操作を行う場合のように、そのファイルのリストアに使用するバックアップをRMANで自動的に選択します。この手法では、使用可能なバックアップがデータベースのリストアに十分であることを確認できます。この形式の検証には、「リストア操作のためのバックアップの検証」に記載されている手順を使用します。
注意:
テープに保存されたバックアップの検証は、バックアップ全体がテープから読み取られるため、時間がかかる場合があります。
いずれの検証形式も、RMANを使用して実行できます。検証の形式をバックアップ計画に両方組み込み、使用可能なバックアップが常にリカバリ可能な目的を満たしていることを確認します。
関連項目:
マルチテナント・コンテナ・データベース(CDB)およびプラガブル・データベース(PDB)のバックアップの検証の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
9.4.4.1 選択したバックアップの検証
選択済のバックアップを検証するには、次の手順を実行します。
バックアップ・セット内の1つ以上のバックアップ・ピースが欠落または破損している可能性がある場合は、VALIDATE BACKUPSET
コマンドを使用して、そのバックアップ・セットを検証します。
関連項目:
バックアップの検証の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
9.4.4.2 リストア操作のためのバックアップの検証
ファイルのリストアの検証により、ファイルが使用可能なバックアップとしてリストアされるかどうかをテストできますが、指定したオブジェクトのすべてのバックアップが有効かどうかはテストできません。
指定したデータベース・ファイルがリストアされるかどうか検証するには、次の手順を実行します。
関連項目:
-
データファイル・リカバリの概要は、Oracle Database概要を参照
-
RESTORE
...
VALIDATE
コマンドの使用方法は、Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイドを参照
9.5 バックアップ・レポートの表示
V$RMAN_BACKUP_JOB_DETAILS
には、RMANによって実行されたバックアップ・ジョブに関する情報が含まれています。このビューには、バックアップにかかった時間、ジョブの開始日時と終了日時、実行されたバックアップのタイプ、およびバックアップ・ジョブのステータスなどの情報が含まれます。
バックアップ・レポートを表示するには、次の手順を実行します。
次の問合せを使用して、バックアップ・ジョブの履歴を表示します。
SELECT SESSION_KEY,INPUT_TYPE,STATUS,START_TIME,END_TIME,ELAPSED_SECONDS/3600 hrs FROM V$RMAN_BACKUP_JOB_DETAILS; SESSION_KEY INPUT_TYPE STATUS START_TIM END_TIME HRS ----------- ------------- ----------------------- --------- --------- ---------- 8 DB FULL FAILED 27-MAR-12 27-MAR-12 1.64666666 50 DB FULL COMPLETED 28-MAR-12 28-MAR-12 .243055555 69 DB FULL COMPLETED 30-MAR-12 05-APR-12 147.176388
SESSION_KEY
は、バックアップ・ジョブが発生したRMANセッションの一意のキーです。
9.6 バックアップの管理
マルチテナント環境では、マルチテナント・コンテナ・データベース(CDB)全体または1つ以上のプラガブル・データベース(PDB)のバックアップを管理できます。この項の手順は、わずかな変更を加えることで、CDBおよびPDBに適用できます。CDB全体のバックアップを管理するには、ルートに接続し、この項で説明している各手順を使用します。単一のPDBのバックアップを管理するには、対象のPDBに接続し、この項で説明している各手順を使用します。単一のコマンドを使用して複数のPDBのバックアップを管理するには、ルートに接続し、PLUGGABLE DATABASE
句の後にPDBのリストを指定して使用します。
この項では、次の項目について説明します。
9.6.1 バックアップ管理について
バックアップおよびリカバリ計画で重要なことは、作成後のバックアップの管理です。バックアップ管理には不要なバックアップの削除、およびバックアップが使用可能であるかを確認する定期的なチェックの実行が含まれます。
Oracle Recovery Manager (RMAN)リポジトリに記録されたバックアップには次のステータス値のいずれかがあります。
-
期限切れ。これはバックアップがディスクまたはテープにはすでに存在せず、リポジトリにはまだリストされていることを意味します
-
使用不可。これは、バックアップがデータ・リカバリ操作に一時的に使用できないことを意味します(たとえば、オフサイトに保管されているテープや現在マウントされていないディスクに保存されているため)
バックアップは不要になることもあります。不要なバックアップは、現在構成されている保存ポリシーに基づいて、データ・リカバリの目的を満たすために必要でなくなったバックアップです。
RMANで実行できるメンテナンス・タスクは次のとおりです。
-
バックアップの詳細の表示
-
リポジトリのクロスチェック(リポジトリにリストされているバックアップが存在するかどうか、使用可能であるかどうか、またクロスチェック時に使用不可のバックアップに期限切れのマークが付いているかどうかのクロスチェック)
-
期限切れバックアップ・レコードのRMANリポジトリからの削除
-
不要なバックアップのリポジトリおよびバックアップ・メディアからの削除
-
特定のバックアップが使用可能で破損していないかを確認するバックアップ検証
注意:
バックアップがすでに存在しない場合は、RMANリポジトリからバックアップ・レコードをただちに削除してください。使用可能なバックアップの正確なレコードがないと、リカバリの実行が必要なときに、データベースの完全なバックアップが存在しないことが判明する可能性があります。
バックアップの定期的なクロスチェックなどのタスクは、バックアップ計画の一環として定期的にスケジュールしてください。
高速リカバリ領域をバックアップ記憶域に使用している場合、多くのメンテナンス・アクティビティが不要になるか、または削減されます。バックアップ・ファイルおよびその他のファイルは、必要に応じて自動記憶領域管理メカニズムにより削除されるため、保存ポリシーに違反することなく、進行中のデータベース操作での記憶領域要求に応えることができます。ただし、高速リカバリ領域の領域使用量を監視して、バックアップおよびその他のリカバリ関連ファイルの格納に十分な大きさがあることを確認する必要があります。
9.6.2 バックアップのクロスチェック
ディスクへのバックアップは、RMANリポジトリに表示された場所のディスクにある場合、およびファイル・ヘッダーに破損がない場合、使用可能としてリストされます。テープへのバックアップは、バックアップがテープ上にある場合に使用可能としてリストされます。テープ上のファイル・ヘッダーの破損はチェックされません。欠落していたり破損しているバックアップは期限切れとしてリストされます。
個別のファイルをクロスチェックするには、次の手順を実行します。
-
「RMANを使用したターゲット・データベースへの接続」で説明されているとおりに、RMANをターゲット・データベースに接続します。
-
既存のバックアップのサマリーを表示して、クロスチェックするバックアップを決定します。
LIST BACKUP SUMMARY;
-
前の
LIST
コマンドの出力から、クロスチェックするバックアップを識別します。 -
CROSSCHECK
コマンドを使用して、識別されたファイルをクロスチェックします。-
バックアップ・セット1345をクロスチェックする場合:
CROSSCHECK BACKUPSET 1345; using channel ORA_DISK_1 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/ade/b/191802369/oracle/work/orcva/RDBMS/backupset/2012_04_05/o1_mf_annnn_TAG20120405T075520_7qvdlrsl_.bkp RECID=1345 STAMP=779788520 Crosschecked 1 objects
-
データファイル1と5をクロスチェックする場合:
CROSSCHECK DATAFILECOPY 1,5;
-
すべてのファイルをクロスチェックするには、次の手順を実行します。
注意:
RMANリポジトリのすべてのバックアップ、特にテープのバックアップのクロスチェックには時間がかかります。個別のファイルのクロスチェックとは異なり、すべてのファイルのクロスチェックはスケジュールされたジョブとして処理されます。
関連項目:
マルチテナント・コンテナ・データベース(CDB)およびプラガブル・データベース(PDB)のバックアップをクロスチェックするために使用する構文の詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください
9.6.3 期限切れバックアップの削除
EXPIRED
としてリストされたバックアップがOracle Recovery Manager (RMAN)リポジトリから削除されます。期限切れバックアップとは、クロスチェック中にアクセス不可能であることが判明したバックアップです。バックアップを含むファイルがディスクまたはテープから削除されることはありません。この操作ではRMANリポジトリの更新のみが実行されます。
関連項目:
マルチテナント・コンテナ・データベース(CDB)およびプラガブル・データベース(PDB)の期限切れバックアップを削除するために使用する構文の詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください
期限切れのバックアップを削除するには、次の手順を実行します。
9.6.4 バックアップ使用可能または使用不可のマーク付け
注意:
高速リカバリ領域に保存されたバックアップは使用不可とマークを付けることはできません。
RMANリポジトリには、使用不可のバックアップのレコードが保持されていて、期限切れバックアップを削除する場合、使用不可としてリストされたバックアップがRMANに削除されることはありません。使用不可のバックアップが再度アクセス可能になると、使用可能のマークを付けられます。
関連項目:
マルチテナント・コンテナ・データベース(CDB)およびプラガブル・データベース(PDB)に使用する構文の詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください
バックアップに使用可能または使用不可のマーク付けをするには、次の手順を実行します。
9.6.5 不要なバックアップの削除
関連項目:
CDBおよびPDBの不要になったバックアップの削除に使用する構文は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください
不要なバックアップを削除するには、次の手順を実行します。
9.6.6 高速リカバリ領域の領域使用状況の監視
V$RECOVERY_FILE_DEST
およびV$RECOVERY_AREA_USAGE
が提供されます。
V$RECOVERY_FILE_DEST
ビューを使用して、高速リカバリ領域に関する情報(ファイル合計数、現在の位置、ディスク割当て制限、使用領域およびファイル削除による再利用可能な領域)を取得します。領域の詳細はバイト単位で示されます。V$RECOVERY_FILE_DEST
を問い合せると、次の出力が生成されます。
SELECT * FROM V$RECOVERY_FILE_DEST; NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES -------------- ----------- ---------- ----------------- --------------- /mydisk/rcva 5368709120 109240320 256000 28
V$RECOVERY_AREA_USAGE
ビューには、異なるタイプのファイルで使用されるディスクの割当ての割合と、不要なファイル、冗長なファイルまたはテープにバックアップされているファイルを削除することによって再利用できる領域の割合が含まれます。V$RECOVER_AREA_USAGE
ビューを問い合せると、次の出力が生成されます。
SELECT * FROM V$RECOVERY_AREA_USAGE; FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES ------------ ------------------ ------------------------- --------------- CONTROLFILE 0 0 0 ONLINELOG 2 0 22 ARCHIVELOG 4.05 2.01 31 BACKUPPIECE 3.94 3.86 8 IMAGECOPY 15.64 10.43 66 FLASHBACKLOG .08 0 1
関連項目:
9.7 オラクル社が推奨するリカバリの実行
注意:
データ・リカバリ・アドバイザは、マルチテナント・コンテナ・データベース(CDB)の障害の診断および修復にのみ使用できます。プラガブル・データベース(PDB)に対してはサポートされていません。
RMANはデータ・リカバリ・アドバイザにコマンドライン・インタフェースを提供します。次のRMANコマンドを使用して、Oracle RACデータベースを含むOracle Databaseに対するデータ障害を診断および修復できます。
-
LIST FAILURE
このコマンドを使用すると、障害に関する問題の説明およびデータベースの操作に対するそれらの障害の影響を表示できます。各障害は、障害番号によって識別されます。
-
ADVISE FAILURE
このコマンドを使用すると、自動および手動の両方の修復オプションを表示できます。
-
REPAIR FAILURE
このコマンドを使用すると、最新の
ADVISE FAILURE
コマンドによってリストされた障害を自動的に修復できます。
関連項目:
CHANGE FAILURE
コマンドの使用による障害のステータスまたは優先度の変更については、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
この項では、次の項目について説明します。
9.7.1 データ・リカバリ・アドバイザについて
データ・リカバリ・アドバイザにおける状態チェックとは、データベースまたはデータベース・コンポーネントの状態を評価するために状態モニターが実行する診断手順です。状態チェックは、エラーの発生を受けて実行されます。手動で実行することもできます。
障害とは、状態チェックで検出された永続的なデータ破損です。通常、障害は発生後に検出されます。データベース操作によってデータが破損するとエラーになり、データベースで状態チェックが自動的に実行されます。このチェックでは、エラーに関連した障害がないかどうかデータベースが調査されます。診断された障害は、自動診断リポジトリ(ADR)に記録されます。
データベースによって障害が検出され、ADRに格納された後にのみ、データ・リカバリ・アドバイザを使用して、修復アドバイスを生成し、障害を修復できます。データ・リカバリ・アドバイザは、アクセス不可能なファイル、物理および論理ブロック破損、I/O障害などの障害をレポートし、修復します。すべての障害に、CRITICAL、HIGH、LOWのいずれかの障害優先度が設定されます。OPENまたはCLOSEDの障害ステータスも設定されます。
また、データ・リカバリ・アドバイザを使用して修復オプションを表示することもできます。修復とは、1つ以上の障害を修正する処理です。修復の例としては、ブロック・メディア・リカバリ、データファイル・メディア・リカバリ、Oracle Flashback Databaseなどがあげられます。通常、データ・リカバリ・アドバイザは、自動修復オプションと手動修復オプションの両方を提供します。必要に応じて、修復を実行するために、自動修復オプションを選択できます。その場合、データ・リカバリ・アドバイザは修復が正常に行われたことを確認し、該当する修復済の障害をクローズします。
9.8 ユーザー指定リカバリの実行
-
論理的なフラッシュバック機能によるデータベース・オブジェクトへの不要な変更の修復
-
Oracle Flashback Databaseを使用したデータベース全体の巻戻し
-
データベースの完全なリストアおよびリカバリ
-
データベースまたは選択した表領域のPoint-in-Timeリカバリの実行
-
破損ブロックを含むデータファイルのブロック・メディア・リカバリの実行
データベース操作に影響を与える前に、破損したデータベース・ファイルがあるなどの状況の検出を含め、データベースのどの部分をリストアおよびリカバリする必要があるかを決定できます。
この項には、いくつかの一般的なリカバリの例が含まれているため、Oracle Recovery Manager (RMAN)を使用したデータベース全体またはオブジェクトレベルのリカバリの実行の理解を深めることができます。データベース全体またはオブジェクトレベルのリカバリを実行するには、RESTORE
およびRECOVER
コマンドを使用します。
この項では、次の項目について説明します。
9.8.1 Oracle Flashback Tableを使用した表の巻戻し
この例では、hr
スキーマのemployees
表にあるフラッシュバック表を使用します。想定として、2005年10月23日15時30分00秒の直後の誤った更新により、すべての従業員のlastname
列が空の文字列に変更されたため、元のlastname
値を表に戻す必要があります。
この項では、次の項目について説明します。
9.8.1.1 表における行の移動の有効化
表における行の移動を有効にするには、次の手順を実行します。
9.8.2 Oracle Flashback Dropを使用した削除された表のリカバリ
フラッシュバック表と同様に、フラッシュバック・ドロップはデータベースがオープンしているときに使用できます。また、フラッシュバックを行っても、フラッシュバック・ドロップ操作の影響を受けないオブジェクトの変更が取り消されることはありません。フラッシュバック表は、データベースをオフラインにしてバックアップからファイルをリストアする必要のあるメディア・リカバリ形式より便利です。
注意:
フラッシュバック・ドロップの使用によりリカバリ可能な表は、ローカル管理表領域に存在する必要があります。また、SYSTEM
表領域では、表領域のタイプにかかわらず、フラッシュバック・ドロップを使用しても表をリカバリできません。
この項では、次の項目について説明します。
9.8.2.1 表の削除
reg_hist
という表を新しく作成して、後で削除します。フラッシュバック・ドロップ機能で取得できるように、表はごみ箱に配置されます。
表を作成して削除するには、次の手順を実行します。
9.8.3 Oracle Flashback Databaseを使用したデータベースの巻戻し
フラッシュバック・データベースでは、データ・ブロックの旧バージョンへのアクセスにフラッシュバック・ログが使用され、アーカイブREDOログ・ファイルのデータも一部使用されます。フラッシュバック・データベースを使用してデータベースを修復するには、「リカバリ設定の構成」の説明に従って、フラッシュバック・ログが生成されるようにデータベースを構成する必要があります。
注意:
Oracle Recovery Manager (RMAN)のFLASHBACK DATABASE
コマンドを使用して巻き戻すことができるのは、個々のプラガブル・データベース(PDB)ではなくマルチテナント・コンテナ・データベース(CDB)全体です。
フラッシュバック・データベース操作を行う手順
9.8.4 データベースのリストアおよびリカバリ
データベース全体をリストアおよびリカバリするには、次の手順を実行します。
関連項目:
-
マルチテナント・コンテナ・データベース(CDB)およびプラガブル・データベース(PDB)のリカバリの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
-
制御ファイルおよびサーバー・パラメータ・ファイルがバックアップでのみ使用可能な場合に、データベースをリカバリする方法の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
-
デフォルトの場所とは異なる場所にデータファイルをリストアする方法の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください
9.9 バックアップおよびリカバリの実行: Oracle By Example Series
Oracle by Example(OBE)には、『Oracle Database 2日でデータベース管理者』に関するシリーズが含まれています。このOBEでは、この項のタスクを段階的に説明し、注釈付きのスクリーンショットを使用します。
バックアップおよびリカバリの実行に関するOBEを参照するには、ご使用のWebブラウザで次のURLを入力してください。
https://apexapps.oracle.com/pls/apex/f?p=44785:24:::NO:24:P24_CONTENT_ID:16832