

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

# Amazon RDS for Db2 接近零的停機時間從 Linux 遷移到 Linux
Linux 到 Linux (接近零停機時間)

您可以使用此遷移方法，將 Linux 型 Db2 資料庫從一個自我管理的 Db2 資料庫 (來源) 遷移至 Amazon RDS for Db2。這種方法會對應用程式或使用者造成最少到零中斷或停機時間。這種方法會備份您的資料庫，並使用日誌重播將其還原，這有助於防止持續作業中斷，並提供資料庫的高可用性。

為了實現接近零的停機時間遷移，RDS for Db2 會使用日誌重播實作還原。這種方法會備份自我管理的 Linux 型 Db2 資料庫，並在 RDS for Db2 伺服器上將其還原。接著，您會使用 Amazon RDS 預存程序套用後續交易日誌，讓資料庫保持最新狀態。

**Topics**
+ [

## 接近零停機時間遷移的限制和建議
](#db2-near-zero-downtime-migration-limitations)
+ [

## 將您的資料庫備份至 Amazon S3
](#db2-near-zero-downtime-backing-up-database)
+ [

## 建立預設自動儲存群組
](#db2-near-zero-migration-creating-auto-storage-group)
+ [

## 遷移 Db2 資料庫
](#db2-migrating-db2-database)

## 接近零停機時間遷移的限制和建議


下列限制和建議適用於使用接近零的停機時間遷移：
+ Amazon RDS 需要接近零停機時間遷移的線上備份。這是因為當您上傳封存的交易日誌時，Amazon RDS 會讓您的資料庫保持向前捲動擱置狀態。如需詳細資訊，請參閱[遷移 Db2 資料庫](#db2-migrating-db2-database)。
+ 您無法從與 RDS for Db2 資料庫執行個體所在區域 AWS 區域 不同的 中的 Amazon S3 儲存貯體還原。
+ Amazon S3 對上傳至 S3 儲存貯體的檔案大小限制為 5 TB。如果資料庫備份檔案超過 5 TB，請將備份檔案分割為較小的檔案。
+ Amazon RDS 不支援非連接 外部常式、增量還原或 Delta 還原。
+ 您無法從加密的來源資料庫還原，但可以還原至加密的 Amazon RDS 資料庫執行個體。

還原程序會根據您的組態而有所不同。

如果您將 `USE_STREAMING_RESTORE`設定為 `TRUE`，Amazon RDS 會在還原期間直接從 S3 儲存貯體串流備份。串流可大幅降低儲存需求。您只需要佈建等於或大於備份大小或原始資料庫大小的儲存空間，以較大者為準。

如果您將 `USE_STREAMING_RESTORE`設定為 `FALSE`，Amazon RDS 會先將備份下載到您的 RDS for Db2 資料庫執行個體，然後擷取備份。擷取需要額外的儲存空間。您必須佈建等於或大於備份大小加原始資料庫大小總和的儲存空間。

還原資料庫的大小上限等於支援的最大資料庫大小減去還原程序期間暫時儲存所需的任何空間。

## 將您的資料庫備份至 Amazon S3


若要在 Amazon S3 上備份資料庫，您需要下列 AWS 元件：
+ *存放備份檔案的 Amazon S3 儲存貯體*：上傳您要遷移至 Amazon RDS 的任何備份檔案。Amazon RDS 需要接近零停機時間遷移的線上備份。如果您已經有 S3 儲存貯體，則可直接使用。如果您沒有 S3 儲存貯體，請參閱《Amazon S3 使用者指南》**中的[建立儲存貯體](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)。
**注意**  
如果您的資料庫很大，需要很長的時間才能轉移到 S3 儲存貯體，您可以訂購 AWS Snow Family 裝置並要求 AWS 執行備份。將檔案複製到裝置並將其傳回給 Snow Family 團隊後，團隊會將備份映像傳輸至 S3 儲存貯體。如需詳細資訊，請參閱 [AWS Snow Family 文件](https://docs.aws.amazon.com/snowball/)。
+ *存取 S3 儲存貯體的 IAM 角色*：如果您已有 AWS Identity and Access Management (IAM) 角色，則可以使用該角色。如果您沒有角色，請參閱 [步驟 2：建立 IAM 角色並附加您的 IAM 政策](db2-s3-integration.md#db2-creating-iam-role)。
+ *將信任關係和許可連接至 IAM 角色的 IAM 政策*：如需詳細資訊，請參閱 [步驟 1：建立 IAM 政策](db2-s3-integration.md#db2-creating-iam-policy)。
+ *新增至 RDS for Db2 資料庫執行個體的 IAM 角色*：如需詳細資訊，請參閱 [步驟 3：將您的 IAM 角色新增至 RDS for Db2 資料庫執行個體](db2-s3-integration.md#db2-adding-iam-role)。

## 建立預設自動儲存群組


您的來源資料庫必須具有預設的自動儲存群組。如果您的資料庫沒有預設的自動儲存群組，則必須建立一個。

**建立預設自動儲存群組**

1. 連接到您的來源資料庫。在下列範例中，將 *source\$1database* 取代為您資料庫的名稱。

   ```
   db2 connect to source_database 
   ```

1. 建立自動儲存群組，並將其設定為預設值。在下列範例中，將 *storage\$1path* 取代為儲存群組所在的絕對路徑。

   ```
   db2 "create stogroup IBMSTOGROUP ON storage_path set as default"
   ```

1. 終止後端程序。

   ```
   db2 terminate
   ```

## 遷移 Db2 資料庫


設定幾近零的停機時間遷移後，您就可以將 Db2 資料庫從 Amazon S3 儲存貯體遷移至 RDS for Db2 資料庫執行個體。

**若要將備份檔案從 Amazon S3 儲存貯體遷移至 RDS for Db2 資料庫執行個體，執行近乎零的停機時間遷移**

1. 執行來源資料庫的線上備份。如需詳細資訊，請參閱 IBM Db2 文件中的 [BACKUP DATABASE 命令](https://www.ibm.com/docs/en/db2/11.5?topic=commands-backup-database)。

1. 將資料庫的備份複製到 Amazon S3 儲存貯體。如需使用 Amazon S3 的相關資訊，請參閱《Amazon Simple Storage Service 使用者指南》[https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)。

1. 使用 RDS for Db2 資料庫執行個體的 *master\$1username* 和 *master\$1password* 連線到 `rdsadmin` 伺服器。

   ```
   db2 connect to rdsadmin user master_username using master_password
   ```

1. （選用） 若要確保您的資料庫已設定最佳設定，請呼叫 來檢查下列參數的值[rdsadmin.show\$1configuration](db2-sp-managing-databases.md#db2-sp-show-configuration)：
   + `RESTORE_DATABASE_NUM_BUFFERS`
   + `RESTORE_DATABASE_PARALLELISM`
   + `RESTORE_DATABASE_NUM_MULTI_PATHS`
   + `USE_STREAMING_RESTORE`

   視需要使用 [rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration) 修改這些值。在還原具有大量資料的資料庫時，正確設定這些參數可大幅改善效能。對於大多數遷移案例，我們建議`USE_STREAMING_RESTORE`將 設定為 ，`TRUE`因為它可以減少儲存需求並提高還原速度。

1. 呼叫 `rdsadmin.restore_database` 以在 RDS for Db2 伺服器上還原備份。將 `backup_type` 設定為 `ONLINE`。如需詳細資訊，請參閱[rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database)。

1. 將封存日誌從來源伺服器複製到 S3 儲存貯體。如需詳細資訊，請參閱 IBM Db2 文件中的[封存記錄](https://www.ibm.com/docs/en/db2/11.5?topic=logging-archive)。

1. 呼叫 `rdsadmin.rollforward_database` 以視需要多次套用封存日誌。將 `complete_rollforward` 設定為 `FALSE` 以保持資料庫處於 `ROLL-FORWARD PENDING` 狀態。如需詳細資訊，請參閱[rdsadmin.rollforward\$1database](db2-sp-managing-databases.md#db2-sp-rollforward-database)。

1. 套用所有封存日誌後，請呼叫 `rdsadmin.complete_rollforward` 將資料庫上線。如需詳細資訊，請參閱[rdsadmin.complete\$1rollforward](db2-sp-managing-databases.md#db2-sp-complete-rollforward)。

1. 透過更新資料庫的應用程式端點或更新 DNS 端點，將流量重新導向至 RDS for Db2 伺服器，以切換應用程式連線至 RDS for Db2 伺服器。您也可以使用自我管理 Db2 資料庫上的 Db2 自動用戶端重新路由功能，搭配 RDS for Db2 資料庫端點。如需詳細資訊，請參閱 IBM Db2 文件中的[自動化用戶端重新路由描述和設定](https://www.ibm.com/docs/en/db2/11.5?topic=reroute-configuring-automatic-client)。

1. (選用) 關閉來源資料庫。