將 RDS Custom for Oracle 執行個體還原至某個時間點 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將 RDS Custom for Oracle 執行個體還原至某個時間點

您可以將資料庫執行個體還原至特定時間點 (PITR),建立新的資料庫執行個體。若要支援 PITR,您的資料庫執行個體必須將備份保留設定為非零值。

RDS Custom for Oracle 資料庫執行個體的最晚可還原時間取決於許多因素,但通常是目前時間的 5 分鐘內。若要查看資料庫執行個體的最新可還原時間,請使用 AWS CLI describe-db-instances 命令,並查看在資料庫執行個體的 LatestRestorableTime 欄位內傳回的值。若要在 Amazon RDS 主控台中查看每個資料庫執行個體的最新可還原時間,請選擇自動備份

您可以還原至備份保留期間內的任何時間點。若要查看每個資料庫執行個體的最早可還原時間,請在 Amazon RDS 主控台中選擇自動備份

如需 PITR 的一般資訊,請參閱 將 Amazon RDS 的資料庫執行個體還原至指定時間

RDS Custom for Oracle 的 PITR 考量

在 RDS Custom for Oracle 中,PITR 與 Amazon RDS 中的 PITR 有以下的重要不同:

  • 還原的資料庫名稱與來源資料庫執行個體中的名稱相同。您無法指定不同的名稱。預設值為 ORCL

  • AWSRDSCustomIamRolePolicy 需要新許可。如需更多詳細資訊,請參閱 步驟 2:將存取政策新增至 AWSRDSCustomInstanceRoleForRdsCustomInstance

  • 所有 RDS Custom for Oracle 資料庫執行個體都必須將備份保留設定為非零值。

  • 如果您變更作業系統或資料庫執行個體時區,PITR 可能無法運作。如需變更時區的相關資訊,請參閱 Oracle 時區

  • 如果您將自動化設定為 ALL_PAUSED,RDS Custom 會暫停封存重做日誌檔案的上傳,包括在最近一次可還原時間 (LRT) 之前建立的日誌。我們建議您暫停自動化一段時間。

    舉例來說,假設您的 LRT 是 10 分鐘前。您暫停自動化。暫停期間,RDS Custom 不會上傳封存的重做日誌。如果您的資料庫執行個體當機,您只能復原到暫停時存在的 LRT 之前的時間。當您繼續自動化時,RDS Custom 會繼續上傳日誌。LRT 會繼續。套用一般 PITR 規則。

  • 在 RDS Custom 中,您可以手動指定保留封存的重做日誌的任意時數,以便在 RDS Custom 上傳後刪除之前保留這些封存的重做日誌。請如下指定小時數:

    1. 建立名為 /opt/aws/rdscustomagent/config/redo_logs_custom_configuration.json 的文字檔案。

    2. 以下列格式新增 JSON 物件:{"archivedLogRetentionHours" : "num_of_hours"}。數字必須是介於 1—840 範圍內的整數。

  • 假設您將非 CDB 插入容器資料庫 (CDB) 作為 PDB,然後嘗試 PITR。只在您先前已備份 PDB 時,操作才會成功。建立或修改 PDB 之後,建議您一律將其備份。

  • 我們建議您不要自訂資料庫初始化參數。例如,修改下列參數會影響 PITR:

    • CONTROL_FILE_RECORD_KEEP_TIME 會影響上傳和刪除日誌的規則。

    • LOG_ARCHIVE_DEST_n 不支援多個目的地。

    • ARCHIVE_LAG_TARGET 會影響最新的可還原時間。ARCHIVE_LAG_TARGET 設定為 300,因為復原點目標 (RPO) 為 5 分鐘。為了實現此目標,RDS 每隔 5 分鐘就會切換線上重做日誌,並將其存放在 Amazon S3 儲存貯體中。如果日誌切換太頻繁而導致 RDS Custom for Oracle 資料庫的效能問題,您可以將資料庫執行個體和儲存體擴展為具有更高 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 管理主控台、AWS CLI 或 RDS API 將 RDS Custom 資料庫執行個體還原至某個時間點。

若要將 RDS Custom 資料庫執行個體還原至指定時間
  1. 登入 AWS 管理主控台,開啟位於 https://console.aws.amazon.com/rds/ 的 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Automated backups (自動備份)

  3. 選擇您想要還原的 RDS Custom 資料庫執行個體。

  4. 針對 Actions (動作),選擇 Restore to point in time (還原至時間點)。

    Restore to point in time (還原到時間點) 視窗隨即出現。

  5. 選擇 Latest restorable time (最近的可還原時間) 以還原最近一次的可能時間,或選擇 Custom (自訂) 以選擇一個時間。

    如果您選擇 Custom (自訂),請輸入您希望執行個體叢集還原到什麼日期和時間。

    會以您的當地時區顯示時間,根據國際標準時間 (UTC) 的時差來表示。例如,UTC-5 是東部標準時間/中部日光節約時間。

  6. 對於 DB Instance Identifier (資料庫執行個體識別符),輸入目標還原 RDS Custom 資料庫執行個體的名稱。名稱必須是唯一的。

  7. 視需要選擇其他選項,例如資料庫執行個體類別。

  8. 選擇 Restore to point in time (還原至時間點)

您可以使用 restore-db-instance-to-point-in-time AWS CLI 命令來建立新的 RDS Custom 資料庫執行個體,將資料庫執行個體還原至指定時間。

使用下列其中一個選項來指定要從中還原的備份:

  • --source-db-instance-identifier mysourcedbinstance

  • --source-dbi-resource-id dbinstanceresourceID

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

custom-iam-instance-profile 選項為必要項目。

下列範例會將 my-custom-db-instance 還原至名稱為 my-restored-custom-db-instance 的新資料庫執行個體,截至指定的時間。

對於 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