ベース・データベース・サービスでのバックアップおよびリカバリ

データベースのバックアップは、データの安全を確保するために重要です。Oracleには、データベースをバックアップするための複数の方法が用意されています。

Oracle管理の自動バックアップ機能は、コンソールを使用してバックアップ設定を簡単に構成できるため、Oracle Cloudデータベースをバックアップするための推奨方法です。自動バックアップ機能では、完全に自動化されたクラウド・バックアップ・ソリューションを提供するために、バックアップの保存先としてリカバリ・サービスおよびオブジェクト・ストレージがサポートされています。手動バックアップまたはバックアップ・ストレージ管理タスクを実行する必要はありません。また、バックアップをローカル・ストレージに格納することもできます。次に示す各バックアップ保存先のメリットと要件を考慮する必要があります。

リカバリ・サービス(推奨)

  • バックアップは、保護されたデータベースとしてリカバリ・サービスに格納されます。
  • 耐久性: 高
  • 可用性: 高
  • バックアップとリカバリ率: 高
  • メリット: 高い耐久性、パフォーマンスおよび可用性。

リカバリ・サービスの詳細は、Oracle Database Autonomous Recovery Serviceについてを参照してください。

オブジェクト・ストレージ

  • バックアップはオブジェクト・ストレージに格納されます。
  • 耐久性: 高
  • 可用性: 高
  • バックアップとリカバリ率: 中
  • メリット: 高い耐久性、パフォーマンスおよび可用性。

オブジェクト・ストレージの詳細は、オブジェクト・ストレージの概要を参照してください。

ローカル・ストレージ

  • バックアップは、DBシステムのFast Recovery Areaにローカルに格納されます。
  • 耐久性: 低
  • 可用性: 中
  • バックアップとリカバリ率: 高
  • メリット: 最適化されたバックアップおよび高速のポイントインタイム・リカバリ。
  • デメリット: DBシステムが使用できなくなった場合、バックアップも使用できません。

現在、OracleではDBシステムにブロック・ストレージ・ボリュームをアタッチする機能が提供されていないため、ネットワークにアタッチされたボリュームにバックアップすることはできません。

管理対象外バックアップの場合は、RMANまたはdbcliを使用でき、バックアップ用に独自のオブジェクト・ストレージ・バケットを作成して管理する必要があります。

ノート

以前にRMANまたはdbcliを使用してバックアップを構成したが、コンソールまたはバックアップ用のAPIの使用に切り替えた場合は、新しいバックアップ構成が作成され、データベースに関連付けられます。このため、以前に構成した管理対象外のバックアップを使用して作業することはできなくなります。

必要なIAMポリシー

Oracle Cloud Infrastructureを使用するには、管理者からポリシーでセキュリティ・アクセス権が付与されている必要があります。コンソールまたは(SDK、CLIまたはその他のツールを使用した) REST APIのどれを使用しているかにかかわらず、このアクセス権が必要です。権限を持っていない、または認可されていないというメッセージが表示された場合は、持っているアクセス権のタイプと作業しているコンパートメントを管理者に確認してください。

ポリシーを初めて使用する場合は、ポリシーの開始および共通ポリシーを参照してください。

前提条件

バックアップおよびリカバリ操作について、次の前提条件が満たされていることを確認します:

リカバリ・サービス

リカバリ・サービスの詳細は、Oracle Database Autonomous Recovery Serviceについてを参照してください。

オブジェクト・ストレージ

  • DBシステムは、該当するSwiftエンドポイントへの接続を含むオブジェクト・ストレージへのアクセスを必要とします。VCNでサービス・ゲートウェイを使用してこのアクセスを有効にすることをお薦めします。VCNおよびサブネットを参照してください。
  • バックアップ保存先として使用する既存のオブジェクト・ストレージ・バケット。コンソールまたはオブジェクト・ストレージAPIを使用してバケットを作成できます。バケットの管理を参照してください。
  • OCIによって生成された認証トークン。コンソールまたはIAM APIを使用してパスワードを生成できます。ユーザー資格証明の管理を参照してください。
  • バックアップ構成ファイルで指定されるユーザー名には、オブジェクト・ストレージへのテナンシレベルのアクセス権が必要です。これを行うための簡単な方法は、ユーザー名を管理者グループに追加することです。ただし、これにより、すべてのクラウド・サービスに対するアクセスが許可されます。そうせずに、管理者は、データベースのバックアップとリストアに必要なオブジェクト・ストレージ内のリソースにのみアクセスできるようにする、次のようなポリシーを作成する必要があります:

    Allow group <group_name> to manage objects in compartment <compartment_name> where target.bucket.name = '<bucket_name>'
    Allow group <group_name> to read buckets in compartment <compartment_name>

    グループへのユーザーの追加の詳細は、グループの管理を参照してください。

オブジェクト・ストレージの詳細は、オブジェクト・ストレージの概要を参照してください。

一般情報

バックアップ操作を成功させるには、データベースとDBシステムが「使用可能」状態になっている必要があります。バックアップ操作の進行中は、可用性を妨げる可能性のあるアクション(パッチ適用やData Guard操作など)の実行を避けることをお薦めします。自動バックアップ操作が失敗した場合、データベース・サービスは、翌日のバックアップ・ウィンドウ中に操作を再試行します。オンデマンド完全バックアップが失敗した場合は、DBシステムおよびデータベースの可用性がリストアされたときに操作を再試行できます。

バックアップの失敗を避けるために、リストされている前提条件の他に、次の条件を満たしていることを確認してください:

  • データベースのアーカイブ・モードはARCHIVELOGに設定されています(デフォルト)。
  • データベース・ホスト・ファイル・システムの/u01ディレクトリに、バックアップ・プロセスを実行するのに十分な空き領域があります。
  • oracleユーザーの.bash_profileファイルに、対話型コマンド(oraenvや、エラーまたは警告メッセージを生成する可能性のあるコマンドなど)は含まれていません。
  • (自動バックアップ用) sqlnet.oraファイルのデフォルトのWALLET_LOCATIONエントリは変更されていません。
  • 標準のRMANコマンドを使用してRMANバックアップ設定が変更されていません。

これらのガイドラインに従わないと発生する可能性のある問題の詳細は、バックアップの失敗のトラブルシューティングを参照してください。

管理対象バックアップ機能

次の情報は、コンソールまたはAPIを使用して構成された管理対象バックアップに適用されます。

ノート

セキュリティ・ゾーン・コンパートメント内のデータベースで自動バックアップが有効になっている必要があります。ベース・データベース・サービス・リソースに影響を与えるポリシーの完全なリストについては、セキュリティ・ゾーン・ポリシーを参照してください。

現在、次の2つのタイプの自動バックアップがサポートされています:

  • リカバリ・サービス: データベース用の集中管理された完全管理型のスタンドアロン・バックアップ・ソリューション。
  • オブジェクト・ストレージ: データベース用のセキュアでスケーラブルなオンデマンド・ストレージ・ソリューション。

バックアップおよびリカバリ操作でSYSBACKUP管理権限を使用するというOracle推奨プラクティスに準拠するため、クラウド自動化によって、CDB$ROOTコンテナ・レベルでSYSBACKUPロールを持つC##DBLCMUSERという共通の管理ユーザーが作成されます。そのため、バックアップおよびリカバリ操作は、最小要件の権限を持つユーザーを使用して実行されます。このユーザーの資格証明は、クラウド自動化によってランダムに生成され、安全に管理されます。ユーザーが見つからないか、LOCKEDおよびEXPIREDである場合、クラウド自動化によって、バックアップまたはリカバリ操作中にこのユーザーが再作成またはロック解除されます。

自動増分バックアップとアーカイブREDOログ・バックアップ

データベースのオブジェクト・ストレージ・バックアップ機能を有効にすると、サービスによって継続的に次のものが作成されます:

  • 週次のレベル0バックアップ。通常は指定した週末に作成されます。レベル0バックアップは完全バックアップに相当します。コンソールでは、週次のレベル0バックアップは、日次のレベル1バックアップと同様に、バックアップ・タイプが「増分」のバックアップのリストに表示されます。
  • 日次のレベル1バックアップ。これは、レベル0バックアップの日から6日間、毎日作成される増分バックアップです。
  • レベル0およびレベル1のバックアップはオブジェクト・ストアに格納され、OCIDが割り当てられます。
  • 進行中のアーカイブREDOログのバックアップ(最小頻度は60分ごと)。OCIコンソールのデータベース詳細ページの「最終バックアップ時間」フィールドに、最後のアーカイブREDOログの時間が表示されます。このバックアップは、レベル0およびレベル1の自動バックアップとは異なり、ログ・データに基づいており、OCIDが割り当てられません。最後のアーカイブREDOログのバックアップを使用して、新しいデータベースを作成したり、最小限のデータ損失でデータベースをリカバリすることができます。

バックアップの保持

自動バックアップを有効にする場合は、提供されている保持期間のいずれかまたはカスタム・ポリシーから選択できます。増分バックアップは、選択した保持期間の終わりに自動的に削除されます。

リカバリ・サービスでは、次の保持期間を使用できます。保持期間(日数)は、リカバリ・サービスの保護ポリシーで定義されます。
  • ブロンズ(14日)
  • シルバー(35日) (デフォルト)
  • ゴールド(65日)
  • プラチナ(95日)
  • カスタム(ユーザー定義の保護ポリシー)
リカバリ・サービスでは、次の保持期間を使用できます。
  • 7日
  • 15日
  • 30日(デフォルト)
  • 45日
  • 60日

保護ポリシー

リカバリ・サービスでは、保護ポリシーを使用してOracle Cloudでのデータベース・バックアップの保持を制御します。

保護ポリシーは、規制された環境の要件を満たす、保護されたデータベースの自動保持管理を提供します。保護された各データベースは1つの保護ポリシーに関連付ける必要があります。

保護ポリシーは、リカバリ・サービスによって作成されたバックアップを保持できる最大期間(日数)を決定します。ビジネス要件に基づいて、保護されているデータベースごとに個別のポリシーを割り当てるか、VCN内のすべての保護されているデータベースに単一のポリシーを使用できます。

詳細は、保護ポリシーの管理を参照してください。

保護されたデータベース

保護されたデータベースとは、バックアップ操作にリカバリ・サービスを使用するOracle Cloudデータベースのことです。

詳細は、保護されたデータベースの管理を参照してください。

リアルタイム・データ保護

リカバリ・サービスではリアルタイムのデータ保護が提供されるため、データベース障害から数秒以内にデータベースをリカバリできます。

リアルタイム保護は、保護されたデータベースからリカバリ・サービスへのREDO変更の継続的な転送です。これにより、データ損失が少なくなり、リカバリ・ポイント目標(RPO)が0に近くなります。これは追加料金のオプションです。

詳細は、リアルタイム・データ保護を参照してください。

データベース終了後のバックアップ削除オプション

データベースを終了すると、そのすべてのリソースと自動バックアップが削除されます。宛先リカバリ・サービスおよびオブジェクト・ストレージを使用する管理対象バックアップは、選択した保持ポリシー・オプションに従って削除されます。

次のオプションを使用して、データベースの終了後に管理対象データベースのバックアップを保持できます。これらのオプションは、データベースに偶発的または悪意のある損傷が発生した場合にバックアップからデータベースをリストアする場合にも役立ちます。

  • 保持期間に従ってバックアップを保持: データベースが終了すると、終了したデータベースとそのすべてのリソースに関連付けられた自動データベース・バックアップは、指定した保持期間の終了時に削除されます。
  • 72時間バックアップを保持してから削除: データベースが終了すると、終了したデータベースとそのすべてのリソースに関連付けられた自動データベース・バックアップは72時間保持され、その後削除されます。ユーザーによる偶発的な削除から保護するために、バックアップは72時間保持されます。

バックアップ・スケジューリング

リカバリ・サービスのバックアップの場合、自動バックアップ・プロセスは、いつでも、または割り当てられたウィンドウ内で開始されます。

オブジェクト・ストレージ・バックアップの場合、レベル0およびレベル1のバックアップの作成に使用される自動バックアップ・プロセスは、日次バックアップ・ウィンドウ内(午前0時から午前6時の間)でいつでも実行できます。ユーザーは、データベースの自動バックアップ・プロセスが開始される2時間のスケジュール・ウィンドウを、オプションで指定できます。偶数時に開始される12のスケジューリング・ウィンドウから選択できます(たとえば、1つ目のウィンドウを午前4時から6時まで、その次のウィンドウを午前6時から8時までに指定できます)。スケジュール・ウィンドウ内にバックアップ・ジョブが完了するとはかぎりません

オブジェクト・ストレージ・バックアップの場合、DBシステム・リージョンのタイム・ゾーンの午前0時から午前6時までのデフォルトのバックアップ・ウィンドウがデータベースに割り当てられます(ウィンドウを指定しない場合)。デフォルトのバックアップ・スケジューリング・ウィンドウは6時間ですが、指定するウィンドウは2時間です。

バックアップをスケジュールする際は、次の要因を考慮してください。

  • バックアップ・ウィンドウのタイム・ゾーン: 任意のデータベースで2018年11月20日以降に初めて有効化された自動バックアップは、DBシステムのリージョンのタイムゾーンで午前0時から午前6時までの間に実行されます。この日付より前にデータベースの自動バックアップを有効にしていた場合、データベースのバックアップ・ウィンドウは引き続きUTCの夜中の0時から午前6時までになります。選択したバックアップ・ウィンドウで自動バックアップが実行されるように、My Oracle Supportサービス・リクエストを作成できます。
  • Data Guard: Data Guardアソシエーションでは、自動バックアップを構成し、プライマリ・データベースのバックアップを作成できます。ただし、自動バックアップを構成したり、スタンバイ・データベースのバックアップを作成することはできません。また、スイッチオーバー操作の後、Data Guardアソシエーションでプライマリ・ロールを引き受けたデータベースの自動バックアップを再度構成する必要があります。
  • 保持期間変更: 将来、データベースの自動バックアップの保持期間を短くすると、更新された保持期間外の既存のバックアップはシステムによって削除されます。
  • オブジェクト・ストレージのコスト: 自動バックアップによってオブジェクト・ストレージの使用コストが発生します。

オンデマンド完全バックアップ

データベースの完全バックアップは、そのデータベースがData Guardアソシエーションでスタンバイ・ロールを担っていないかぎり、いつでも作成できます。

スタンドアロン・バックアップ

DBシステムまたはデータベースを終了すると、そのすべてのリソースと自動バックアップが削除されます。宛先にリカバリ・サービスおよびオブジェクト・ストレージを使用する管理対象バックアップは、選択した保持ポリシー・オプションに従って削除されます。完全バックアップは、スタンドアロン・バックアップとしてオブジェクト・ストレージに残ります。スタンドアロン・バックアップを使用して、新しいデータベースを作成できます。

ノート

  • コンソールに表示されるバックアップのリストには、管理対象外のバックアップ(RMANまたはdbcliを使用して直接作成されたバックアップ)は含まれません。
  • すべてのバックアップは、Transparent Data Encryption (TDE)ウォレット暗号化に使用されるのと同じマスター・キーで暗号化されます。

実行中の完全または増分バックアップの取消

進行中のバックアップを取り消して、システム・リソースを解放できます。データベースの作成ワークフローの一部として、また(データベースの作成後に)単独で、自動バックアップを有効にし、必要なバックアップの保存先を選択できます。選択したバックアップの保存先によっては、1つ以上の完全バックアップと複数の増分バックアップがある場合があります。これらのバックアップのいずれかの開始後、途中で取り消すことができます。コンソールまたはAPIから、実行中のバックアップ(自動またはスタンドアロン)を取り消すことができます。「バックアップの作成」ボタンをクリックするとトリガーされる手動バックアップを取り消すことができます。取り消された手動バックアップを削除することもできます。

自動バックアップを使用したデータベースの監査ファイルおよびトレース・ファイルの保持

Oracle Databaseは、監査ファイルおよびトレース・ファイルをデータベースのローカル・ストレージの/u01ディレクトリに書き込みます。これらのファイルはデフォルトで30日間保持されますが、この間隔は変更できます。1日に1回、30日(または、該当する場合はユーザーが指定した間隔)を経過した監査ファイルおよびトレース・ファイルは、Oracle Schedulerジョブによって破棄されます。これらのファイルを永続的に保持する場合は、スケジューラ・ジョブを無効にすることもできます。このスケジューラ・ジョブを変更するには、次のdbcliコマンドを使用します。

  • 保持期間をデフォルト設定の30日から変更するには:

    dbcli update-database -in <dbName> -lr <number_of_days_to_retain_files>

    例:

    dbcli update-database -in inventorydb -lr 15
  • 古い監査ファイルおよびトレース・ファイルを破棄する日次のスケジューラ・ジョブを無効にするには:

    dbcli update-schedule -i <schedulerID> -d

    例:

    dbcli update-schedule -i 5678 -d

APIの使用

APIの使用およびリクエストの署名の詳細は、REST APIおよびセキュリティ資格証明を参照してください。SDKについては、ソフトウェア開発キットとコマンドライン・インタフェースを参照してください。

データベース・バックアップを管理するには、次のAPI操作を使用します:

  • ListBackups
  • GetBackup
  • CreateBackup
  • DeleteBackup
  • RestoreDatabase
  • UpdateDatabase - 自動バックアップを有効および無効にします。
  • CreateDbHome - スタンドアロン・バックアップからDBシステム・データベースを作成する場合。

データベース・サービスのAPIの完全なリストは、データベース・サービスAPIを参照してください。