

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

# 使用 AWS DMS 將 Oracle 資料庫遷移至 Amazon DynamoDB
<a name="migrate-an-oracle-database-to-amazon-dynamodb-using-aws-dms"></a>

*Rambabu Karnena，Amazon Web Services*

## 總結
<a name="migrate-an-oracle-database-to-amazon-dynamodb-using-aws-dms-summary"></a>

此模式會逐步引導您使用 AWS Database Migration Service ([AWS DMS](https://aws.amazon.com/dms/)) 將 Oracle 資料庫遷移至 [Amazon DynamoDB](https://aws.amazon.com/dynamodb/) 的步驟。它涵蓋三種類型的來源資料庫：
+ 內部部署 Oracle 資料庫
+ Amazon Elastic Compute Cloud ([Amazon EC2](https://aws.amazon.com/ec2/)) 上的 Oracle 資料庫
+ Oracle 資料庫執行個體的 Amazon Relational Database Service ([Amazon RDS](https://aws.amazon.com/rds/))

在此概念驗證中，此模式著重於從 Amazon RDS for Oracle 資料庫執行個體遷移。

## 先決條件和限制
<a name="migrate-an-oracle-database-to-amazon-dynamodb-using-aws-dms-prereqs"></a>

**先決條件**
+ 作用中的 AWS 帳戶
+ 連線至 Amazon RDS for Oracle 資料庫的應用程式
+ 在來源 Amazon RDS for Oracle 資料庫中建立的資料表，其中包含主索引鍵和範例資料

**限制**
+ 由於 Amazon DynamoDB 不支援這些資料庫物件，因此不會考慮遷移 Oracle 資料庫物件，例如程序、函數、套件和觸發程序。

**產品版本**
+ 此模式適用於 AWS DMS 支援的所有 Oracle 資料庫版本。如需詳細資訊，請參閱使用 [Oracle 資料庫做為 AWS DMS 的來源](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)，以及使用 [Amazon DynamoDB 資料庫做為 AWS DMS 的目標](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html)。我們建議您使用最新版本的 AWS DMS，以獲得最全面的版本和功能支援。

## Architecture
<a name="migrate-an-oracle-database-to-amazon-dynamodb-using-aws-dms-architecture"></a>

**來源技術堆疊**
+ Amazon RDS for Oracle 資料庫執行個體、Amazon EC2 上的 Oracle 或內部部署 Oracle 資料庫

**目標技術堆疊**
+ Amazon DynamoDB

**AWS 資料遷移架構**

![\[資料從 Oracle 資料庫移至 AWS DMS 到 Amazon DynamoDB。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/463fc7d4-ec8d-473b-8c7f-1df31800ee03/images/180e7340-3887-455d-a591-b5850e22770a.png)


## 工具
<a name="migrate-an-oracle-database-to-amazon-dynamodb-using-aws-dms-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 可協助您將資料存放區遷移至 AWS 雲端，或在雲端和內部部署設定的組合之間遷移。
+ [Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html) 是一項全受管 NoSQL 資料庫服務，可提供快速、可預期且可擴展的效能。
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) 可協助您在 AWS 雲端中設定、操作和擴展關聯式資料庫。此模式使用 Amazon RDS for Oracle。

## 史詩
<a name="migrate-an-oracle-database-to-amazon-dynamodb-using-aws-dms-epics"></a>

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


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 建立 VPC。 | 在您的 AWS 帳戶中，建立虛擬私有雲端 (VPC) 和私有子網路。 | 系統管理員 | 
| 建立安全群組和網路存取控制清單。 | 如需詳細資訊，請參閱 [AWS 文件](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)。 | 系統管理員 | 
| 設定和啟動 Amazon RDS for Oracle 資料庫執行個體。 | 如需詳細資訊，請參閱 [AWS 文件](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html)。 | DBA，系統管理員 | 

### 遷移資料
<a name="migrate-data"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 建立 IAM 角色以存取 DynamoDB。 | 在 AWS Identity and Access Management (IAM) 主控台中，建立角色、連接政策 `AmazonDynamoDBFullAccess to it`，然後選取 AWS DMS 做為服務。 | 系統管理員 | 
| 建立 AWS DMS 複寫執行個體以進行遷移。 | 複寫執行個體應與來源資料庫位於相同的可用區域和 VPC 中。 | 系統管理員 | 
| 在 AWS DMS 中建立來源和目標端點。 | 若要建立來源資料庫端點，您有兩個選項：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-an-oracle-database-to-amazon-dynamodb-using-aws-dms.html)若要建立目標資料庫端點，請從先前的任務中選擇角色 Amazon Resource Name (ARN)，以存取 DynamoDB。 | 系統管理員 | 
| 建立 AWS DMS 任務，將來源 Oracle 資料庫資料表載入 DynamoDB。 | 從先前的步驟中選擇來源和目的地端點名稱，以及複寫執行個體。類型可以是完全載入。選擇 Oracle 結構描述，並指定 **%** 來選取所有資料表。 | 系統管理員 | 
| 驗證 DynamoDB 中的資料表。 | 若要檢視遷移結果，請從 DynamoDB 主控台的左側導覽窗格中選擇**資料表**。 | DBA | 

### 遷移應用程式
<a name="migrate-the-application"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 修改應用程式程式碼。 | 若要連線至 DynamoDB 並從 DynamoDB 擷取資料，請更新應用程式程式碼。 | 應用程式擁有者、DBA、系統管理員 | 

### 切換
<a name="cut-over"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 切換應用程式用戶端以使用 DynamoDB。 |  | DBA、應用程式擁有者、系統管理員 | 

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


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 關閉 AWS 資源。 | 例如， 關閉 Amazon RDS for Oracle 執行個體、DynamoDB 和 AWS DMS 複寫執行個體。 | DBA，系統管理員 | 
| 收集指標。 | 指標包括遷移時間、手動工作和工具執行工作的百分比，以及節省成本。 | DBA、應用程式擁有者、系統管理員 | 

## 相關資源
<a name="migrate-an-oracle-database-to-amazon-dynamodb-using-aws-dms-resources"></a>
+ [AWS Database Migration Service 和 Amazon DynamoDB：須知事項 ](https://aws.amazon.com/blogs/database/aws-database-migration-service-and-amazon-dynamodb-what-you-need-to-know/)（部落格文章）
+ [使用 Oracle 資料庫做為 AWS DMS 的來源](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [使用 Amazon DynamoDB 資料庫做為 AWS Database Migration Service 的目標](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html)
+ [從 RDBMS 遷移至 Amazon DynamoDB 的最佳實務](https://docs.aws.amazon.com/whitepapers/latest/best-practices-for-migrating-from-rdbms-to-dynamodb/welcome.html) （白皮書）