

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

# 將內部部署 Oracle 資料庫遷移至 Amazon RDS for Oracle
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle"></a>

*Baji Shaik 和 Pavan Pusuluri，Amazon Web Services*

## 總結
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-summary"></a>

此模式說明將內部部署 Oracle 資料庫遷移至 Amazon Relational Database Service (Amazon RDS) for Oracle 的步驟。作為遷移程序的一部分，您可以建立遷移計劃，並根據來源資料庫考慮有關目標資料庫基礎設施的重要因素。您可以根據您的業務需求和使用案例，選擇兩個遷移選項之一：
+ AWS Database Migration Service (AWS DMS) – 您可以使用 AWS DMS 快速且安全地將資料庫遷移至 AWS 雲端。您的來源資料庫在遷移期間保持完全運作，將依賴資料庫的應用程式停機時間降到最低。您可以使用 AWS DMS 來建立任務，在您透過稱為變更[資料擷取 (CDC) 的程序完成初始完全載入遷移後擷取持續變更](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html)。
+ 原生 Oracle 工具 – 您可以使用原生 Oracle 工具來遷移資料庫，例如 Oracle、[Data Pump Export](https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_export.htm#SUTIL200) 和 [Data Pump Import](https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_import.htm#SUTIL300) with [Oracle GoldenGate](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/introduction-oracle-goldengate.htm#GGCON-GUID-EF513E68-4237-4CB3-98B3-2E203A68CBD4) for CDC。您也可以使用原生 Oracle 工具，例如原始[匯出公用程式](https://docs.oracle.com/cd/E11882_01/server.112/e22490/original_export.htm#SUTIL3634)和原始[匯入公用程式](https://docs.oracle.com/cd/E11882_01/server.112/e22490/original_import.htm#SUTIL001)，以減少完整載入時間。

## 先決條件和限制
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-prereqs"></a>

**先決條件**
+ 作用中的 AWS 帳戶
+ 內部部署 Oracle 資料庫
+ Amazon RDS Oracle 資料庫 (DB) 執行個體

**限制**
+ 資料庫大小限制：64 TB

**產品版本**
+ Oracle 版本 11g （版本 11.2.0.3.v1 和更新版本） 以及最多 12.2 和 18c。如需支援版本的最新清單，請參閱 AWS 文件中的[Amazon RDS for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html)。對於 AWS DMS 支援的 Oracle 版本，請參閱 [AWS DMS 文件中的使用 Oracle 資料庫做為 AWS DMS 的來源](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)。

## Architecture
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-architecture"></a>

**來源技術堆疊**
+ 內部部署 Oracle 資料庫

**目標技術堆疊**
+ Amazon RDS for Oracle

**來源和目標架構**

下圖顯示如何使用 AWS DMS 將內部部署 Oracle 資料庫遷移至 Amazon RDS for Oracle。

![使用 AWS DMS 將 Oracle 資料庫遷移至 Amazon RDS for Oracle 的工作流程。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/25912997-0ac0-4303-9ce5-0621a7e12406/images/20f94a5c-1095-4182-b964-c379414c9a36.png)


該圖顯示以下工作流程：

1. 建立或使用現有的資料庫使用者，將必要的 [AWS DMS 許可](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed)授予該使用者，開啟 [ARCHIVELOG 模式](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed.Configuration.ArchiveLogMode)，然後設定[補充記錄](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed.Configuration.SupplementalLogging)。

1. 設定內部部署和 AWS 網路之間的網際網路閘道。

1. 設定 AWS DMS 的[來源和目標端點](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html)。

1. 設定 [AWS DMS 複寫任務](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html)，將資料從來源資料庫遷移至目標資料庫。

1. 完成目標資料庫上的遷移後活動。

下圖顯示如何使用原生 Oracle 工具將內部部署 Oracle 資料庫遷移至 Amazon RDS for Oracle。

![使用 Oracle 工具將 Oracle 資料庫遷移至 Amazon RDS for Oracle 的工作流程。](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/25912997-0ac0-4303-9ce5-0621a7e12406/images/af8e0e1a-d4c8-4d99-9780-3e093ad9a257.png)


該圖顯示以下工作流程：

1. 建立或使用現有的資料庫使用者，並使用 Oracle Export (`exp`) 和 Import (`imp`) 公用程式授予備份 Oracle 資料庫所需的許可。

1. 設定內部部署和 AWS 網路之間的網際網路閘道。

1. 在[堡](https://www.oracle.com/security/cloud-security/bastion/)壘主機上設定 Oracle 用戶端以取得備份資料庫。

1. 將備份資料庫上傳至 Amazon Simple Storage Service (Amazon S3) 儲存貯體。

1. 將資料庫備份從 Amazon S3 還原至 Amazon RDS for Oracle 資料庫。

1. 為 CDC 設定 Oracle GoldenGate。

1. 完成目標資料庫上的遷移後活動。

## 工具
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 可協助您將資料存放區遷移至 AWS 雲端，或在雲端和內部部署設定的組合之間遷移。
+ 原生 Oracle 工具可協助您執行同質遷移。您可以使用 [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) 在來源和目標資料庫之間遷移資料。此模式使用 Oracle Data Pump 執行從來源資料庫到目標資料庫的完整載入。
+ [Oracle GoldenGate](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/introduction-oracle-goldengate.htm#GGCON-GUID-EF513E68-4237-4CB3-98B3-2E203A68CBD4) 可協助您在兩個或多個資料庫之間執行邏輯複寫。此模式使用 GoldenGate，透過 Oracle Data Pump 在初始載入後複寫差異變更。

## 史詩
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-epics"></a>

### 規劃遷移
<a name="plan-the-migration"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 建立專案文件並記錄資料庫詳細資訊。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA | 
| 識別儲存需求。 | 識別並記錄您的儲存需求，包括下列項目：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html)對於[一般用途 (gp2) SSD 磁碟區](https://aws.amazon.com/ebs/volume-types/)，每 1 GB 的儲存體可獲得三個 IOPS。透過計算來源資料庫上的讀取和寫入 IOPS 總數來分配儲存體。 | DBA、SysAdmin | 
| 根據運算需求選擇適當的執行個體類型。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | SysAdmin | 
| 識別網路存取安全需求。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA、SysAdmin | 
| 識別應用程式遷移策略。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA、SysAdmin、應用程式擁有者 | 
| 識別遷移風險。 | 評估資料庫並記錄遷移的特定風險和緩解措施。例如：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA | 

### 設定基礎設施
<a name="configure-the-infrastructure"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 建立 VPC。 | 為目標資料庫執行個體[建立新的 Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/gsg_create_vpc.html)。 | SysAdmin | 
| 建立安全群組。 | 在新的 VPC 中[建立安全群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#creating-security-group)，以允許與資料庫執行個體的傳入連線。 | SysAdmin | 
| 建立 Amazon RDS for Oracle 資料庫執行個體。 | 使用新的 VPC 和安全群組[建立目標資料庫執行個體](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html)，然後啟動執行個體。 | SysAdmin | 

### 選項 1 - 使用原生 Oracle 或第三方工具來遷移資料
<a name="option-1---use-native-oracle-or-third-party-tools-to-migrate-data"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 準備來源資料庫。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA、SysAdmin | 
| 準備目標資料庫。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA、SysAdmin | 

### 選項 2 - 使用 AWS DMS 遷移資料
<a name="option-2---use-aws-dms-to-migrate-data"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 準備資料。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA | 
| 遷移資料。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA | 

### 切換到目標資料庫
<a name="cut-over-to-the-target-database"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 將應用程式用戶端切換到新的基礎設施。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA、SysAdmin、應用程式擁有者 | 
| 實作您的轉返計劃。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA、應用程式擁有者 | 

### 關閉遷移專案
<a name="close-out-the-migration-project"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 清除資源。 | 關閉或移除臨時 AWS 資源，例如 AWS DMS 複寫執行個體和 S3 儲存貯體。 | DBA、SysAdmin | 
| 檢閱專案文件。 | 檢閱遷移規劃文件和目標，然後確認您已完成所有必要的遷移步驟。 | DBA、SysAdmin、應用程式擁有者 | 
| 收集指標。 | 記錄金鑰遷移指標，包括完成遷移所需的時間、手動與工具型任務的百分比、節省成本和其他相關指標。 | DBA、SysAdmin、應用程式擁有者 | 
| 關閉專案。 | 關閉遷移專案並擷取工作的相關意見回饋。 | DBA、SysAdmin、應用程式擁有者 | 

## 相關資源
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-resources"></a>

**參考**
+ [將 Oracle 資料庫遷移至 AWS 雲端](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html) (AWS 規範指引）
+ [AWS Database Migration Service](https://aws.amazon.com/dms/) (AWS DMS 文件）
+ [Amazon RDS 定價](https://aws.amazon.com/rds/pricing/) (Amazon RDS 文件）

**教學課程和影片**
+ [AWS Database Migration Service 入門](https://aws.amazon.com/dms/getting-started/) (AWS DMS 文件）
+ [Amazon RDS 資源](https://aws.amazon.com/rds/getting-started/) (Amazon RDS 文件）
+ [AWS Database Migration Service (DMS)](https://www.youtube.com/watch?v=zb4GcjEdl8U) (YouTube)