

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

# 遷移選項詳細資訊
<a name="migration-option-details"></a>

下列各節提供與上一節圖表相對應之選項的詳細資訊。

## 1. 離線備份和還原
<a name="offline-backup-restore"></a>

原生 Db2 備份會備份整個資料庫。它可用來將資料庫重新建立 （還原） 至任何主機。
+ 離線備份和還原是將資料庫從內部部署遷移到 的最基本方法 AWS。
+ Db2 內部部署資料庫必須位於小端平台上。
+ 需要停機時間才能進行離線備份、將備份映像傳輸至 Amazon S3，以及從備份還原資料庫。

## 2. HADR 容錯移轉
<a name="hadr-failover"></a>

Db2 HADR （高可用性災難復原） 透過將稱為主要資料庫的來源資料庫資料變更複寫至稱為待命資料庫的目標資料庫，來提供高可用性解決方案。HADR 最多支援三個遠端待命伺服器。
+ HADR 容錯移轉最適合在小端平台上執行的非DPF 執行個體。
+ 必須記錄來源資料庫上的所有交易。
+ HADR 支援透過日誌串流，將資料變更從來源資料庫 （主要資料庫） 複寫到目標資料庫 （待命資料庫）。HADR 使用 TCP/IP 在主要和待命資料庫之間進行通訊。
+ 完成業務驗證後，HADR 可以在不中斷的情況下下架，且內部部署的 Db2 資料庫可以停用。

## 3. 使用交易日誌運送進行線上備份和還原
<a name="online-backup-restore-with-log-shipping"></a>

與離線備份和還原 （選項 1) 不同，線上備份不需要對來源資料庫停機。在來源資料庫上的備份完成後，它會使用資料庫交易日誌將變更套用至目標資料庫。 
+ 使用備份和還原搭配交易日誌運送，最適合小端平台上的 Db2 DPF 執行個體。由於 Db2 DPF 資料型的大小通常很大，一般備份和還原 （選項 1) 的中斷時間可能會超過 12 小時。Db2 DPF 資料庫不支援 HADR。
+ 必須記錄來源資料庫上的所有交易。
+ 您可以使用備份和還原搭配交易日誌運送，將中斷時段降至最低。
+ 具有日誌運送的備份和還原也可以用於非DPF 執行個體。不過，具有容錯移轉的 HADR 選項更容易為非DPF 執行個體實作 。
+ 與 HADR 容錯移轉 （選項 2) 不同，反向同步並非自動執行。手動設定。
+ 完成業務驗證後，您可以停用內部部署 Db2 資料庫。

## 4. Q 複寫
<a name="q-replication"></a>

Q Replication 是一種大量、低延遲的複寫解決方案，使用 IBM MQ 訊息佇列來傳輸來源和目標資料庫之間的交易。

最常見的組態如下圖所示。



![架構圖顯示Db2 上的 Db2 的內部部署 Db2。 Site-to-Site EC2](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/rehost-db2-database-on-aws/images/migration-db2-q-replication.png)


IBM MQ 會在與 Db2 相同的伺服器上執行。有兩個 IBM MQ 執行個體，一個在內部部署伺服器上，另一個在 Amazon EC2 上。擷取程式會在來源資料庫上執行。它會讀取交易日誌，並將遞交的變更 （插入、更新或刪除） 傳送至內部部署的 IBM MQ。內部部署的 IBM MQ 會將訊息透過 AWS Site-to-Site VPN 傳送至 Amazon EC2 上的 IBM MQ。Apply 程式會在具有目標資料庫的 EC2 執行個體上執行。首先，它會對資料表進行完全載入。然後，它會從 Amazon EC2 上的 IBM MQ 讀取變更資料訊息，並將其套用至目標資料表。
+ 內部部署的 Db2 是來源，而 Amazon EC2 上的 Db2 是目標。 Amazon EC2 兩個資料庫都在線上。
+ 內部部署 Db2 資料庫可以位於任何平台系列。
+ 必須記錄來源資料庫上的所有交易。
+ IBM MQ 提供高效能、高可用性和保證訊息傳遞。
+ 在目標資料庫上遞交變更之後，訊息會從 IBM MQ 刪除。
+ 雙向複寫是備用選項。不過，它需要額外的設定。
+ 結構描述遷移是必要的。如需詳細資訊，請參閱[結構描述遷移](#schema-migration)一節。
+ Q 複寫需要[從 11.5 版開始的額外授權。](https://www.ibm.com/support/pages/ibm-db2-11-changes-data-replication)
+ 成功切換後，停止複寫並停用 IBM MQ 執行個體。您也可以視需要停用現場部署資料庫。

## 5. SQL 複寫
<a name="5-sql-replication"></a>

SQL 複寫包含下列主要元件：擷取、套用、GUI 和 CLI 介面，以及警示監控。

擷取程式會在來源資料庫上執行。它會讀取交易日誌，並將遞交的變更 （插入、更新或刪除） 儲存至變更的資料 (CD) 資料表。每個來源資料表都有一個 CD 資料表。

工作單位的 Db2 遞交點存放在工作單位 (UOW) 資料表中。在使用者指定的時間點，擷取程式會刪除 CD 和 UOW 資料表中不再需要的資料。這稱為剔除。

Apply 程式會在目標資料庫上執行。它會連線至來源資料庫、擷取存放在 CD 資料表中的資料、將擷取的資料列儲存到一或多個溢出檔案中，然後將它們套用到目標資料庫。
+ 內部部署 Db2 資料庫可以位於任何平台系列。
+ 必須記錄來源資料庫上的所有交易。
+ 來源資料庫上的額外負荷會被視為高，因為每次寫入都必須執行多次 （在 型資料表、CD 資料表和 UOW 資料表上）。一般而言，我們建議對寫入流量低的系統進行 SQL 複寫。
+ 雙向複寫是備用選項。不過，它需要額外的設定。
+ 結構描述遷移是必要的。如需詳細資訊，請參閱[結構描述遷移](#schema-migration)一節以取得詳細資訊。
+ 與 Q 複寫不同，SQL 複寫包含在所有 Db2 版本中。它不需要額外的授權。
+ 成功切換後，請停止複寫，並視需要停用現場部署資料庫。

## 6. AWS DMS
<a name="aws-dms"></a>

[AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 是一種受管遷移和複寫服務，可協助將資料庫和分析工作負載 AWS 安全地移至 ，並將停機時間降至最低，且不會遺失資料。
+  AWS DMS 複寫執行個體會執行資料庫遷移。
+ AWS DMS 來源和目標端點可讓 AWS DMS 執行個體連接來源和目標資料庫以進行遷移。
+  AWS DMS 任務會連線至來源端點，並將資料複寫至目標端點。
+ 您可以開啟資料驗證，以驗證資料是否準確從來源遷移至目標。
+ 您可以使用 Amazon CloudWatch 啟用記錄。

## 7. 第三方複寫工具
<a name="third-party"></a>

例如 [Infosphere CDC、](https://www.ibm.com/docs/da/iis/11.7?topic=sources-infosphere-change-data-capture)[Qlik Replicate](https://help.qlik.com/en-US/replicate/May2025/Content/Replicate/Main/Introduction/replicat_concepts.htm)、[精確即時 CDC](https://www.precisely.com/solution/real-time-cdc-and-etl-solutions) 和 [Oracle GoldenGate](https://www.oracle.com/integration/goldengate/) 等第三方複寫工具，可以支援將 Db2 for LUW 的資料遷移作為目標。

對於 Qlik Replicate，必須將 LUW 的 Db2 設定為開放資料庫連線 (ODBC) 目標。

## 8. InfoSphere Optim 高效能卸載和載入
<a name="hpu"></a>

InfoSphere Optim 高效能卸載會略過 Db2 引擎，並直接從實體檔案卸載資料。
+ 最佳化高效能卸載通常會比 Db2 `EXPORT`命令卸載 Db2 資料快上數倍。它可以透過直接從磁碟讀取資料檔案來略過 Db2 資料庫管理員。它也可以避免在控制檔案中指定多個`SELECT`陳述式或多個檔案格式時多次掃描 Db2 資料表。
+ 最佳化高效能卸載也可以從備份映像卸載 Db2 資料。這表示您可以在另一部機器上執行最佳化高效能卸載，以減少對來源資料庫伺服器的效能影響。這對於大型歷史資料表或資料表分割區非常有用。
+ 資料輸出檔案可以傳輸到 Amazon S3，該檔案可由 Db2 EC2 伺服器存取。
+ Db2 Load 支援直接存取 Amazon S3。舉例而言，您可以使用下列命令：

  ```
  db2 load from DB2REMOTE://<storage access alias>//<storage-path>/<file-name> replace into mytable
  ```
+ 結構描述遷移是必要的。如需詳細資訊，請參閱[結構描述遷移](#schema-migration)一節。
+ InfoSphere Optim 高效能卸載需要額外的授權。

## 9. 從游標載入
<a name="load-from-cursor"></a>

LOAD FROM CURSOR 是 Db2 載入公用程式選項，使用目標上的資料表做為來源，而不會將資料卸載至檔案。
+ 需要在目標資料庫上建立聯合連結，並連結到來源資料庫。
+ 針對每個資料表，會建立連結至內部部署來源資料表的暱稱。如果涉及許多資料表，建議您使用自動化指令碼來產生暱稱和載入陳述式。
+ LOAD FROM CURSOR 會略過預備儲存體，而資料表可以分成不同的蒸汽以平行執行。我們建議在大型負載期間監控網路擁塞。
+ 透過在游標定義中操作`SELECT`陳述式，您可以選取完整資料表、略過您不想載入的資料，或將範圍型分割區資料表分割成多個載入陳述式 （例如每季和每月）。
+ 結構描述遷移是必要的。如需詳細資訊，請參閱[結構描述遷移](#schema-migration)一節。

## 10. db2move
<a name="db2move"></a>

`db2move` 命令用於 `EXPORT`、 `IMPORT`或 `LOAD` 模式時，有助於在 Db2 資料庫之間移動大量資料表。
+ 結構描述遷移是必要的。如需詳細資訊，請參閱[結構描述遷移](#schema-migration)一節。
+ 您可以使用 `db2move`命令將資料表中的資料卸載至檔案，並將資料載入至 Db2 資料表。這很有用，因為 db2move 公用程式可以下載來源資料庫中的所有資料表，並使用幾個命令將其載入目標資料庫。

1. 若要使用 LOBs 將來源資料庫中的所有資料表匯出至 `<lob-path>`，請執行下列命令：

   ```
   db2move <db-name> export -l /<lob-path>/<lobfile>
   ```

1. 將檔案傳輸到 Amazon S3，Db2 EC2 伺服器可在其中擷取這些檔案。

1. 若要將所有資料表載入目標資料庫，請執行下列命令：

   ```
   db2move <db-name> load -l /<lob-path>/<lobfile>
   ```

## 結構描述遷移
<a name="schema-migration"></a>

對於備份和還原、HADR 容錯移轉，以及使用日誌運送進行備份和還原 （選項 1–3)，結構描述遷移會包含在資料遷移中。不需要額外的步驟。

對於邏輯複寫和大端遷移 （選項 4–10)，您必須在目標上手動建立資料庫和結構描述。我們建議您避免在遷移期間變更來源的結構描述。雖然實際中斷時間短得多，但遷移可能需要幾天的時間。

在來源伺服器上：

1. 使用 db2look 公用程式擷取資料定義語言 (DDL)，並將輸出儲存至 `db2look.ddl`。

1. `db2look.ddl` 轉移至 Amazon S3。

在目標伺服器上：

1. `db2look.ddl` 從 Amazon S3 取得。

1. 移除外部金鑰限制條件、檢查限制條件和`CREATE TRIGGER`陳述式。將它們儲存到分隔的檔案。此程序並不困難，因為 db2look 輸出將這些陳述式分組在一起。

1. 建立不含外部索引鍵的資料庫和結構描述、檢查限制條件和觸發條件。

1. 將具有身分資料欄的資料表轉換為 `GENERATED ALWAYS` `GENERATED BY DEFAULT`。

1. 對於邏輯複寫選項 4、5、6 和 7，啟動複寫。您可以在完全載入完成後重新建立外部金鑰並檢查限制條件。不過，您必須在切換之前重新建立觸發。

1. 對於選項 8、9 和 10，在資料載入完成後，重新建立外部索引鍵、檢查限制條件和觸發條件。

1. 將您在步驟 4 中變更的具有身分資料欄的資料表還原為 `GENERATED ALWAYS`。

1. 在切換之前重新執行身分資料欄和序列。