RDS Custom for Oracle インスタンスをポイントインタイムに復元する - Amazon Relational Database Service

RDS Custom for Oracle インスタンスをポイントインタイムに復元する

DB インスタンスを特定の時点に復元し (PITR)、新しい DB インスタンスを作成できます。PITR をサポートするには、DB インスタンスのバックアップ保持がゼロ以外の値に設定されている必要があります。

RDS Custom for Oracle DB インスタンスの最新の復元可能時間はいくつかの要因によって異なりますが、通常は現在時間から 5 分以内です。DB インスタンスの復元可能な直近の時間を確認するには、AWS CLI の describe-db-instances コマンドを使用し、DB インスタンスの [LatestRestorableTime] フィールドに返される値を確認します。Amazon RDS コンソールで各 DB インスタンスの復元可能な直近の時間を表示するには、[自動バックアップ] をクリックします。

バックアップ保持期間の任意の時点に復元できます。各 DB インスタンスの復元可能な最も早い時間を表示するには、Amazon RDS コンソールで [自動バックアップ] をクリックします。

PITR の一般情報については、「Amazon RDS の DB インスタンスを特定の時点に復元する」を参照してください。

RDS Custom for Oracle の PITR に関する考慮事項

RDS Custom for Oracle では、PITR は Amazon RDS の PITR と以下の重要な点で異なります。

  • 復元されたデータベースの名前は、出典 DB インスタンスと同じです。必要に応じて、別の名前を指定できます。デフォルト: ORCL

  • AWSRDSCustomIamRolePolicy は新しいアクセス許可を必要とします。詳細については、「ステップ 2: AWSRDSCustomInstanceRoleForRdsCustomInstance にアクセスポリシーを追加します。」を参照してください。

  • すべての RDS Custom for Oracle DB インスタンスのバックアップ保持は、ゼロ以外の値に設定されている必要があります。

  • OSまたは DB インスタンスのタイムゾーンを変更すると、PITR が機能しない可能性があります。タイムゾーンの変更については、「Oracle のタイムゾーン」を参照してください。

  • オートメーションを ALL_PAUSED に設定すると、RDS Custom は最新の復元可能時間 (LRT) の前に作成されたログを含む、アーカイブされた REDO ログファイルのアップロードを一時停止します。オートメーションは短期間、一時停止することをお勧めします。

    説明のために、LRT が 10 分前だと仮定します。オートメーションを一時停止します。一時停止中は、RDS Custom はアーカイブされた REDO ログをアップロードしません。DB インスタンスがクラッシュした場合、一時停止時に存在していた LRT 以前の時間までしか回復できません。オートメーションを再開すると、RDS Custom はログのアップロードを再開します。LRT は進みます。通常の PITR のルールが適用されます。

  • RDS Custom では、アップロード後に RDS Custom がアーカイブした REDO ログを削除する前に、アーカイブされた REDO ログを保持する時間数をマニュアルで指定できます。時間数を次のように指定します。

    1. /opt/aws/rdscustomagent/config/redo_logs_custom_configuration.json という名前のテキストファイルを作成します。

    2. 以下の形式の JSON オブジェクトを追加します: {"archivedLogRetentionHours" : "num_of_hours"}。数値は 1 ~ 840 の範囲の整数である必要があります。

  • 非 CDB を PDB としてコンテナデータベース (CDB) に接続し、PITR を試みると仮定します。このオペレーションは、以前に PDB をバックアップしている場合のみ成功します。PDB を作成または変更した後は、常にバックアップすることをお勧めします。

  • データベースの初期化パラメータはカスタマイズしないことをお勧めします。例えば、次のパラメータを変更すると PITR に影響します。

    • CONTROL_FILE_RECORD_KEEP_TIMEは、ログのアップロードと削除のルールに影響します。

    • LOG_ARCHIVE_DEST_nでは、複数の復元先をサポートしていません。

    • ARCHIVE_LAG_TARGET は最新の復元可能時間に影響します。目標復旧時点 (RPO) が 5 分であるため、ARCHIVE_LAG_TARGET300 に設定されています。この目標を達成するために、RDS はオンラインの REDO ログを 5 分ごとに切り替えて、Amazon S3 バケットに保存します。ログの切り替え頻度が RDS Custom for Oracle データベースのパフォーマンス上の問題を引き起こす場合は、DB インスタンスとストレージを IOPS およびスループットの高いものにスケーリングできます。リカバリプランに必要な場合は、ARCHIVE_LAG_TARGET 初期化パラメータの設定を 60~7200 の値に調整できます。

  • データベース初期化パラメータをカスタマイズする場合は、以下のカスタマイズのみを強くお勧めします。

    • COMPATIBLE

    • MAX_STRING_SIZE

    • DB_FILES

    • UNDO_TABLESPACE

    • ENABLE_PLUGGABLE_DATABASE

    • CONTROL_FILES

    • AUDIT_TRAIL

    • AUDIT_TRAIL_DEST

    その他の初期化パラメータについては、RDS Custom がデフォルト値を復元します。上記のリストにないパラメータを変更すると、PITR に悪影響を及ぼし、予期しない結果につながる可能性があります。例えば、CONTROL_FILE_RECORD_KEEP_TIMEはログのアップロードと削除のルールに影響します。

AWS Management Console、AWS CLI、またはRDS API を使用して、 RDS Custom DB インスタンスをあるポイントに復元することができます。

特定の時点に RDS Custom DB インスタンスを復元するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/ を開きます。

  2. ナビゲーションペインで、「自動バックアップ」を選択します。

  3. 復元する RDS Custom DB インスタンスを選択します。

  4. アクション」 で、「特定時点への復元」 を選択します。

    [特定時点への復元] ウィンドウが表示されます。

  5. Latest restorable time」 を選択してできるだけ最新の時点に復元するか、「カスタム」 を選択して時刻を選択します。

    カスタム」 を選択した場合、インスタンスクラスターを復元する日時を入力します。

    時刻は、協定世界時 (UTC) からのオフセットとしてローカルタイムゾーンで表示されます。例えば、UTC-5 は東部スタンダード時/中部夏時間です。

  6. DB インスタンス識別子」 に、ターゲットが復元された RDS Custom DB インスタンスの名前を入力します。名前は一意である必要があります。

  7. 必要に応じて、DB インスタンスクラスなどの他のオプションを選択します。

  8. [Restore to point in time] (特定時点への復元) を選択します。

特定のポイントに DB インスタンスを復元するには、restore-db-instance-to-point-in-time AWS CLIコマンドを使用して、RDS Custom DB インスタンスを作成します。

次のいずれかのオプションを使用して、復元元のバックアップを指定します。

  • --source-db-instance-identifier mysourcedbinstance

  • --source-dbi-resource-id dbinstanceresourceID

  • --source-db-instance-automated-backups-arn backupARN

custom-iam-instance-profile オプションは必須です。

次の例は、指定された時刻に my-custom-db-instancemy-restored-custom-db-instance という新しい DB インスタンスに復元します。

Linux、macOS、Unix の場合:

aws rds restore-db-instance-to-point-in-time \ --source-db-instance-identifier my-custom-db-instance\ --target-db-instance-identifier my-restored-custom-db-instance \ --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance \ --restore-time 2022-10-14T23:45:00.000Z

Windows の場合:

aws rds restore-db-instance-to-point-in-time ^ --source-db-instance-identifier my-custom-db-instance ^ --target-db-instance-identifier my-restored-custom-db-instance ^ --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance ^ --restore-time 2022-10-14T23:45:00.000Z