將資料庫執行個體還原至指定的時間 - Amazon Relational Database Service

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

將資料庫執行個體還原至指定的時間

您可以將資料庫執行個體還原到特定的時間點,建立新的資料庫執行個體而無需修改來源資料庫執行個體。

將資料庫執行個體還原至某個時間點時,您可以選擇預設的 Virtual Private Cloud (VPC) 安全群組。或者,可以將自訂 VPC 安全群組套用至您的資料庫執行個體。

還原的資料庫執行個體會自動與預設資料庫參數和選項群組產生關聯。不過,您可以在還原期間指定要套用的自訂參數群組和選項群組。

如果來源資料庫執行個體具有資源標籤,RDS 會將最新的標籤新增至還原的資料庫執行個體。

RDS 每五分鐘會將資料庫執行個體的交易日誌上傳至 Amazon S3。若要查看資料庫執行個體的最新可還原時間,請使用 AWS CLI 描述be-db-instance 命令,並查看資料庫執行個體在欄位中傳回的LatestRestorableTime值。若要在 Amazon RDS 主控台中查看每個資料庫執行個體的最新可還原時間,請選擇自動備份

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

自動備份
注意

建議您還原到相同或類似的資料庫執行個體大小,而且如果使用佈建 IOPS 儲存體做為來源資料庫執行個體,則包括 IOPS。例如,如果您選擇 IOPS 值不相容的資料庫執行個體大小,則可能會收到錯誤訊息。

如需使用 RDS 延伸 Support 版本還原資料庫執行個體的相關資訊,請參閱使用 Amazon RDS 延伸 Support 將資料庫執行個體或異

從時間點還原時,Amazon RDS 所使用的一些資料庫引擎有特殊考量。

  • 如果您對 Amazon RDS for Db2 資料庫執行個體使用密碼身份驗證,則不會在日誌中擷取使用者管理動作 (包括rdsadmin.add_user)。這些動作需要完整快照備份。

    使用 BYOL 模型時,您的 RDS for Db2 資料庫執行個體必須與包含您IBM Site ID的和. IBM Customer ID 否則,嘗試將資料庫執行個體還原到特定時間點將會失敗。如需詳細資訊,請參閱 為 Db2 帶來您自己的授權rdsadmin.restore_database

    使用 Db2 授權直通 AWS Marketplace 模式時,您需要針對要使用的特定IBM Db2版本提供有效的 AWS Marketplace 訂閱。如果您還沒有,請在該IBM Db2版本中 AWS Marketplace訂閱 Db2。如需詳細資訊,請參閱 通過 Db2 許可證 AWS Marketplace

  • 將 Oracle 資料庫執行個體還原至時間點時,您可以指定要由新的資料庫執行個體使用的 Oracle 資料庫引擎、授權模式和 DBName (SID)。

  • 當您將 Microsoft SQL Server 資料庫執行個體還原至時間點時,該執行個體內的每個資料庫都會還原至執行個體內每個其他資料庫 1 秒內的時間點。可能無法一致地還原橫跨執行個體內多個資料庫的交易。

  • 對於 SQL Server 資料庫執行個體,不支援 OFFLINEEMERGENCYSINGLE_USER 模式。將任何資料庫設為其中一種模式會導致整個資料庫執行個體的最新可還原時間停止向前移動。

  • 某些動作 (例如變更 SQL Server 資料庫的復原模式) 可能會中斷用於 point-in-time 復原的記錄檔順序。在某些情況下,Amazon RDS 可以偵測到這個問題,並防止最近的可還原時間繼續前進。在其他情況下,例如當 SQL Server 資料庫使用 BULK_LOGGED 復原模式時,不會偵測到記錄順序中的中斷。如果日誌順序發生中斷,可能無法將 SQL Server 資料庫執行個體還至時間點。基於這些原因,Amazon RDS 不支援變更 SQL Server 資料庫的復原模型。

您也可以使用 AWS Backup 來管理 Amazon RDS 資料庫執行個體的備份。如果您的資料庫執行個體與中的備份計劃相關聯 AWS Backup,則會使用該備份計劃進行 point-in-time 復原。以 AWS Backup 建立的備份名稱結尾為awsbackup:AWS-Backup-job-number。如需相關資訊 AWS Backup,請參閱開AWS Backup 發人員指南

注意

本主題中的資訊適用於 Amazon RDS。如需還原 Amazon Aurora 資料庫叢集的資訊,請參閱將資料庫叢集還原至指定的時間

您可以使用 AWS Management Console、或 RDS API 將資料庫執行個體還原到 AWS CLI某個時間點。

注意

您無法在還原資料庫執行個體時減少儲存數體的數量。當您嘗試增加配置儲存時,其必須至少是 10%。如果您嘗試以低於 10% 的值增加該值,便會發生錯誤。您無法在還原 RDS for SQL Server 資料庫執行個體時增加已配置的儲存體。

將資料庫執行個體還原至指定時間
  1. 登入 AWS Management Console 並開啟 Amazon RDS 主控台,網址為 https://console.aws.amazon.com/rds/

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

    自動備份顯示在 Current Region (目前區域) 索引標籤上。

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

  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 (資料庫執行個體識別符),輸入目標還原資料庫執行個體的名稱。名稱必須是唯一的。

  7. 視需要選擇其他選項,例如資料庫執行個體類別、儲存體以及是否要使用儲存體自動擴充功能。

    如需每項設定的相關資訊,請參閱 資料庫執行個體的設定

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

若要將資料庫執行個體還原到指定的時間,請使用指 AWS CLI 令恢復-db-Instance 到時間點來建立新的資料庫執行個體。此範例也會設定配置的儲存體大小,並啟用儲存體自動擴展。

此操作支援資源標記。使用 --tags 選項時,會忽略來源資料庫執行個體標籤,並使用提供的標籤。否則,會使用來源執行個體中的最新標籤。

您可以指定其他設定。如需每項設定的相關資訊,請參閱 資料庫執行個體的設定

對於LinuxmacOS、或Unix:

aws rds restore-db-instance-to-point-in-time \ --source-db-instance-identifier mysourcedbinstance \ --target-db-instance-identifier mytargetdbinstance \ --restore-time 2017-10-14T23:45:00.000Z \ --allocated-storage 100 \ --max-allocated-storage 1000

在 Windows 中:

aws rds restore-db-instance-to-point-in-time ^ --source-db-instance-identifier mysourcedbinstance ^ --target-db-instance-identifier mytargetdbinstance ^ --restore-time 2017-10-14T23:45:00.000Z ^ --allocated-storage 100 ^ --max-allocated-storage 1000

若要將資料庫執行個體還原至指定的時間,請搭配下列參數呼叫 Amazon RDS API RestoreDBInstanceToPointInTime 操作:

  • SourceDBInstanceIdentifier

  • TargetDBInstanceIdentifier

  • RestoreTime