

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

# 使用 SharePlex 和 AWS DMS 從 Oracle 8i 或 9i 遷移至 Amazon RDS for Oracle
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms"></a>

*Ramu Jagini，Amazon Web Services*

## 總結
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms-summary"></a>

此模式說明如何將內部部署 Oracle 8i 或 9i 資料庫遷移至適用於 Oracle 資料庫的 Amazon Relational Database Service (Amazon RDS)。您可以使用此模式，透過使用 Quest SharePlex 進行同步複寫，以縮短停機時間來完成遷移。

您必須使用中繼 Oracle 資料庫執行個體進行遷移，因為 AWS Database Migration Service (AWS DMS) 不支援 Oracle 8i 或 9i 作為來源環境。您可以使用 [SharePlex 7.6.3](https://www.quest.com/community/shareplex/f/forum/20700/where-can-download-7-6-3-or-support-9i-shareplex) 從先前的 Oracle 資料庫版本複寫到更新的 Oracle 資料庫版本。中繼 Oracle 資料庫執行個體與 SharePlex 7.6.3 的目標相容，並支援做為 AWS DMS 的來源或較新版本的 SharePlex。此支援可將資料後續複寫至 Amazon RDS for Oracle 目標環境。

請考慮數種已棄用資料類型和功能可能會影響從 Oracle 8i 或 9i 遷移至最新版 Oracle 資料庫。為了減輕此影響，此模式使用 Oracle 11.2.0.4 做為中繼資料庫版本，以協助在遷移至 Amazon RDS for Oracle 目標環境之前最佳化結構描述程式碼。

## 先決條件和限制
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms-prereqs"></a>

**先決條件**
+ 作用中的 AWS 帳戶
+ 內部部署環境中的來源 Oracle 8i 或 9i 資料庫
+ Amazon Elastic Compute Cloud (Amazon EC2) 上的預備 [Oracle 資料庫 12c 版本](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/index.html) 2 (12CR2)Amazon EC2
+ Quest SharePlex 7.6.3 （商業等級）

**限制**
+ [RDS for Oracle 限制](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Concepts.limitations.html)

**產品版本**
+ 來源資料庫的 Oracle 8i 或 9i
+ 預備資料庫的 Oracle 12CR2 （必須與 Amazon RDS for Oracle 版本相符）
+ 目標資料庫的 Oracle 12CR2 或更新版本 (Amazon RDS for Oracle)

## Architecture
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms-architecture"></a>

**來源技術堆疊**
+ Oracle 8i 或 9i 資料庫
+ SharePlex

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

**遷移架構**

下圖顯示如何將 Oracle 8i 或 9i 資料庫從內部部署環境遷移至 AWS 雲端中的 Amazon RDS for Oracle 資料庫執行個體。

![\[將現場部署 Oracle 資料庫遷移至 Amazon RDS on AWS 的工作流程。\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/6e07d586-fd74-4f3d-8e81-79dd55c445c3/images/36e1a5ff-908b-4cb7-96f7-997eb105f1d6.png)


該圖顯示以下工作流程：

1. 使用封存日誌模式、強制記錄和補充記錄來啟用 Oracle 來源資料庫。

1. 使用 Recovery Manager (RMAN) point-in-time復原和 [FLASHBACK\$1SCN](https://docs.oracle.com/database/121/SUTIL/GUID-D408B112-1A81-4F68-BEFF-7403A9588DDB.htm#SUTIL849)，從 Oracle 來源資料庫還原 Oracle 預備資料庫。

1. 設定 SharePlex 使用 `FLASHBACK_SCN`（用於 RMAN) 從 Oracle 來源資料庫讀取重做日誌。

1. 啟動 SharePlex 複寫，將資料從 Oracle 來源資料庫同步到 Oracle 預備資料庫。

1. 使用 EXPDP 和 IMPDP 搭配 來還原 Amazon RDS for Oracle 目標資料庫`FLASHBACK_SCN`。

1. 使用 `FLASHBACK_SCN`（用於 EXPDP) 將 AWS DMS 及其來源任務設定為 Oracle 預備資料庫，並將 Amazon RDS for Oracle 設定為目標資料庫。

1. 啟動 AWS DMS 任務，將資料從 Oracle 預備資料庫同步至 Oracle 目標資料庫。

## 工具
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms-tools"></a>
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) 可協助您在 AWS 雲端中設定、操作和擴展關聯式資料庫。
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 可協助您將資料存放區遷移至 AWS 雲端，或在雲端和內部部署設定的組合之間遷移。
+ [Quest SharePlex](https://support.quest.com/shareplex/11.0/technical-documents) 是一種 Oracle-to-Oracle的資料複寫工具，可在最短的停機時間下移動資料，而不會遺失資料。
+ [Recovery Manager (RMAN)](https://docs.oracle.com/cd/E11882_01/backup.112/e10642/rcmquick.htm) 是 Oracle 資料庫用戶端，可在資料庫上執行備份和復原任務。它可大幅簡化資料庫檔案的備份、還原和復原。
+ [Data Pump Export](https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_export.htm#SUTIL823) 可協助您將資料和中繼資料上傳到一組稱為傾印檔案集的作業系統檔案中。傾印檔案集只能由 [Data Pump Import](https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_import.htm#SUTIL300) 公用程式或 [DBMS\$1DATAPUMP](https://docs.oracle.com/database/121/ARPLS/d_datpmp.htm#ARPLS356) 套件匯入。

## 史詩
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms-epics"></a>

### 在 Amazon EC2 上設定 SharePlex 和 Oracle 預備資料庫
<a name="set-up-shareplex-and-the-oracle-staging-database-on-amazon-ec2"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 建立 EC2 執行個體。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms.html) | Oracle 管理 | 
| 準備預備資料庫。 | 透過從 Oracle 8i 或 9i 資料庫來源環境取得 RMAN 備份，在 Oracle 12CR2 上準備還原為升級的 Oracle 預備資料庫。如需詳細資訊，請參閱 [Oracle 文件中的 Oracle 9i Recovery Manager 使用者指南](https://docs.oracle.com/cd/B10500_01/server.920/a96566/toc.htm)和[資料庫備份與復原使用者指南](https://docs.oracle.com/database/121/BRADV/rcmcomre.htm#BRADV8005)。 | Oracle 管理 | 
| 設定 SharePlex。 | 將 SharePlex 來源設定為內部部署 Oracle 8i 或 9i 資料庫，並將目標設定為 Amazon EC2 上託管的 Oracle 12CR2 預備資料庫。 Amazon EC2 | SharePlex、Oracle 管理 | 

### 將 Amazon RDS for Oracle 設定為您的目標環境
<a name="set-up-amazon-rds-for-oracle-as-your-target-environment"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 建立 Oracle 資料庫執行個體。 | 建立 Amazon RDS for Oracle 資料庫，然後將 Oracle 12CR2 連線至資料庫。如需詳細資訊，請參閱[《Amazon RDS 文件》中的建立 Oracle 資料庫執行個體並連線至 Oracle 資料庫執行個體上的](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html)資料庫。 | DBA | 
| 從預備資料庫還原 Amazon RDS for Oracle。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms.html)如需詳細資訊，請參閱 Oracle 文件中的 [54 DBMS\$1DATAPUMP](https://docs.oracle.com/en/database/oracle/oracle-database/21/arpls/DBMS_DATAPUMP.html#GUID-AEA7ED80-DB4A-4A70-B199-592287206348)。 | DBA | 

### 設定 AWS DMS
<a name="set-up-aws-dms"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 建立資料庫的端點。 | 為 Oracle 預備資料庫建立來源端點，並為 Amazon RDS for Oracle 資料庫建立目標端點。如需詳細資訊，請參閱 [AWS 知識中心中的如何使用 AWS DMS 建立來源或目標端點？](https://aws.amazon.com/premiumsupport/knowledge-center/create-source-target-endpoints-aws-dms/)。 | DBA | 
| 建立複寫執行個體。 | 使用 AWS DMS 將 Oracle 預備資料庫的複寫執行個體啟動至 Amazon RDS for Oracle 資料庫。如需詳細資訊，請參閱 [AWS 知識中心中的如何建立 AWS DMS 複寫執行個體？](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/)。 | DBA | 
| 建立並啟動複寫任務。 | 使用 `FLASHBACK_SCN` EXPDP （因為已透過 EXPDP 完全載入） 中的 建立變更資料擷取 (CDC) 的 AWS DMS 複寫任務。如需詳細資訊，請參閱 AWS DMS 文件中的[建立任務](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html)。 | DBA | 

### 切換到 Amazon RDS for Oracle
<a name="cut-over-to-amazon-rds-for-oracle"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 停止應用程式工作負載。 | 在計劃的切換時段期間停止應用程式伺服器及其應用程式。 | 應用程式開發人員，DBA | 
| 驗證現場部署 Oracle 預備資料庫與 EC2 執行個體的同步。 | 透過在內部部署來源資料庫上執行幾個日誌切換，確認從 SharePlex 複寫執行個體複寫任務的所有訊息都已張貼到 Amazon EC2 上的 Oracle 預備資料庫。如需詳細資訊，請參閱 Oracle 文件中的 [6.4.2 切換日誌檔案。](https://docs.oracle.com/database/121/ADMQS/GUID-E30B4C65-2AC7-4A44-A58C-D3C121EB152F.htm#ADMQS12075) | DBA | 
| 使用 Amazon RDS for Oracle 資料庫驗證 Oracle 預備資料庫的同步。 | 確認您的所有 AWS DMS 任務沒有延遲和錯誤，然後檢查任務的驗證狀態。 | DBA | 
| 停止 SharePlex 和 Amazon RDS 的複寫。 | 如果 SharePlex 和 AWS DMS 複寫都未顯示任何錯誤，則停止這兩個複寫。 | DBA | 
| 將應用程式重新映射至 Amazon RDS。 | 與應用程式伺服器及其應用程式共用 Amazon RDS for Oracle 端點詳細資訊，然後啟動應用程式以繼續業務操作。 | 應用程式開發人員，DBA | 

### 測試 AWS 目標環境
<a name="test-the-aws-target-environment"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 在 AWS 上測試 Oracle 預備資料庫環境。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms.html) | SharePlex、Oracle 管理 | 
| 測試 Amazon RDS 環境。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms.html)如需詳細資訊，請參閱 [Amazon RDS 文件中的 Amazon RDS for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html)。 | Oracle 管理 | 

## 相關資源
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms-resources"></a>
+ [安心遷移](https://aws.amazon.com/cloud-migration/)
+ [Amazon EC2](https://aws.amazon.com/ec2/)
+ [Amazon RDS for Oracle](https://aws.amazon.com/rds/oracle/)
+ [AWS Database Migration Service](https://aws.amazon.com/dms/)
+ [偵錯 AWS DMS 遷移：發生錯誤時該怎麼做 （第 1 部分）](https://aws.amazon.com/blogs/database/debugging-your-aws-dms-migrations-what-to-do-when-things-go-wrong-part-1/)
+ [偵錯 AWS DMS 遷移：發生錯誤時該怎麼做 （第 2 部分）](https://aws.amazon.com/blogs/database/debugging-your-aws-dms-migrations-what-to-do-when-things-go-wrong-part-2/)
+ [偵錯 AWS DMS 遷移：發生問題時該怎麼辦？ （第 3 部分）](https://aws.amazon.com/blogs/database/debugging-your-aws-dms-migrations-what-to-do-when-things-go-wrong-part-3/)
+ [用於資料庫複寫的 SharePlex ](https://aws.amazon.com/marketplace/pp/B07943W4MJ)
+ [SharePlex：任何環境的資料庫複寫](https://www.youtube.com/watch?v=ygS_ouUaNus)