本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Oracle 資料泵和 AWS DMS 將甲骨文 JD 愛德華資料 EnterpriseOne 庫遷移到 AWS
創建者:塔尼蓋威爾·特魯馬萊(AWS)
環境:生產 | 資料來源:甲骨文 JD 愛德華茲 EnterpriseOne | 目標:Amazon RDS for Oracle |
R 類型:重新平台 | 工作量:甲骨文 | 技術:移轉;資料庫 |
AWS 服務:Amazon RDS; AWS DMS |
Summary
您可以在 Amazon Relational EnterpriseOne Database Ser vice 服務 (Amazon RDS) 上遷移和執行 JD 愛德華資料庫。將資料庫遷移到 Amazon RDS 時,AWS 可以處理備份任務和高可用性設定,因此您可以專注於維護 EnterpriseOne 應用程式及其功能。有關遷移過程中要考慮的關鍵因素的完整清單,請參閱 AWS Prescriptive Guidance 中的 Oracle 資料庫遷移策略。
遷移 EnterpriseOne 資料庫的方式有多種,包括:
使用 Oracle 通用 Batch 引擎 (UBE) R98403 建立結構描述和表格,並使用 AWS Database Migration Service (AWS DMS) 進行遷移
使用資料庫原生工具建立結構描述和表格,並使用 AWS DMS 進行遷移
使用資料庫原生工具移轉現有資料 (滿載),並使用 AWS DMS 進行變更資料擷取 (CDC) 任務
此模式涵蓋了第三個選項。本文說明如何透過搭配 AWS DMS
Oracle JD Edwards EnterpriseOne
當您遷移 JD Edwards 等關鍵 ERP 應用程式時 EnterpriseOne,將停機時間降至最低是關鍵。AWS DMS 透過支援從來源資料庫到目標資料庫的全負載和連續複寫,將停機時間降至最低。AWS DMS 也提供移轉的即時監控和記錄功能,協助您識別並解決任何可能導致停機的問題。
使用 AWS DMS 複寫變更時,必須指定時間或系統變更編號 (SCN) 做為從資料庫日誌讀取變更的起點。確保 AWS DMS 能夠存取這些日誌在指定的時間長度 (我們建議使用 15 天),以確保 AWS DMS 能夠存取這些變更是至關重要的。
先決條件和限制
先決條件
在 AWS 雲端環境中佈建的適用於 Oracle 的亞馬遜 RDS 資料庫作為目標資料庫。如需指示,請參閱 Amazon RDS 文件。
在現場部署或 AWS 上 Amazon 彈性運算雲端 (Amazon EC2) 執行個體上執行的 EnterpriseOne 資料庫。
注意:此模式是專為從現場部署遷移到 AWS 而設計,但是已在 EC2 執行個體上使用 EnterpriseOne 資料庫進行測試。如果您打算從內部部署環境移轉,則必須設定適當的網路連線能力。
綱要詳細資料。識別您打算移轉的 Oracle 資料庫結構描述 (例如 DV920) EnterpriseOne。在開始移轉程序之前,請先收集有關結構描述的下列詳細資訊:
綱要大小
每個物件類型的物件數目
無效物件的數目
限制
您必須在適用於 Oracle 資料庫的目標 Amazon RDS 上建立任何所需的結構描述,AWS DMS 不會為您建立這些結構描述。(Epics 一節說明如何使用「資料汲取」來匯出和匯入資料架構。) 目標 Oracle 資料庫的綱要名稱必須已存在。來源結構描述中的表格會匯入使用者或結構描述,而 AWS DMS 則使用管理員或系統帳戶連線到目標執行個體。若要遷移多個結構描述,您可以建立多個複寫任務。您也可以將資料移轉至目標執行個體上的不同結構描述。若要這麼做,請在 AWS DMS 表格對映上使用結構描述轉換規則。
這種模式已通過演示數據集進行了測試。建議您驗證資料集和自訂的相容性。
此模式會使用在 Microsoft 視窗上執行的 EnterpriseOne 資料庫。不過,您可以在 AWS DMS 支援的其他作業系統上使用相同的程序。
架構
下圖顯示在 Oracle 資料庫 EnterpriseOne 上執行的系統做為來源資料庫,以及將 Amazon RDS for Oracle 資料庫做為目標資料庫執行。資料會從來源 Oracle 資料庫匯出,然後使用 Oracle 資料泵將資料匯入目標 Amazon RDS for Oracle 資料庫,然後使用 AWS DMS 複寫以進行 CDC 更新。
Oracle 資料泵浦會從來源資料庫擷取資料,然後將資料傳送至 Amazon RDS for Oracle 資料庫目標。
CDC 資料會從來源資料庫傳送到 AWS DMS 中的來源端點。
從來源端點,資料會傳送至執行複寫任務的 AWS DMS 複寫執行個體。
複寫任務完成後,資料會傳送到 AWS DMS 中的目標端點。
資料會從目標端點傳送至適用於 Oracle 資料庫執行個體的 Amazon RDS。
工具
AWS 服務
AWS Database Migration Service (AWS DMS) 可協助您將資料存放區遷移到 AWS 雲端,或在雲端和現場部署設定的組合之間遷移資料存放區。
適用於甲骨文的 Amazon Relational Database Service 服務 (Amazon RDS) 可協助您在 AWS 雲端中設定、操作和擴展 Oracle 關聯式資料庫。
其他服務
「Oracle 資料汲
取」可協助您將資料和中繼資料從一個資料庫高速移動到另一個資料庫。
最佳實務
移轉 LOB
如果來源資料庫包含需要移轉至目標資料庫的大型二進位物件 (LOB),AWS DMS 會提供下列選項:
完整 LOB 模式 — AWS DMS 會將所有 LOB 從來源移轉到目標資料庫,無論其大小為何。雖然遷移速度比其他模式慢,但優點是數據不會被截斷。為了獲得更好的效能,您可以在新的複寫執行個體上建立個別工作,以移轉具有 LOB 大於幾 MB 的資料表。
受限 LOB 模式 — 您可以指定 LOB 資料行資料的大小上限,這可讓 AWS DMS 預先配置資源並大量套用 LOB。如果 LOB 資料行的大小超過任務中指定的大小,AWS DMS 會截斷資料並將警告傳送到 AWS DMS 日誌檔。如果 LOB 資料大小在有限的 LOB 大小內,您可以使用有限的 LOB 模式來改善效能。
內嵌 LOB 模式 — 您可以透過複寫小型和大型 LOB 來移轉 LOB,而不會截斷資料或降低工作效能。首先,指定
InlineLobMaxSize
參數值,此值只有在完整 LOB 模式設定為時才可用true
。AWS DMS 任務會以內嵌方式傳輸小型 LOB,這樣更有效率。然後,AWS DMS 會透過從來源資料表執行查閱來移轉大型 LOB。不過,內嵌 LOB 模式只能在滿載階段運作。
生成序列值
在 AWS DMS CDC 程序期間,不會從來源資料庫複寫增量序號。為避免序列值出現差異,您必須從所有序列的來源產生最新的序列值,並將其套用至目標 Amazon RDS for Oracle 資料庫。
AWS Secrets Manager
為了協助管理您的登入資料,我們建議您遵循部落格文章中的指示,使用 AWS Secrets Manager 管理您的 AWS DMS 端點登入資料
效能
複寫執行個體-如需選擇最佳執行個體大小的指引,請參閱 AWS DMS 文件中的為複寫執行個體選取最佳大小。
連接選項-為了避免延遲問題,我們建議您選擇正確的連接選項。AWS Direct Connect 提供 AWS 資源的最短路徑,因為它是企業資料中心和 AWS 之間的專用連線。在傳輸過程中,您的網路流量會保留在 AWS 全球網路上,而且永遠不會透過網際網路。與使用 VPN 或公共互聯網相比,這可以減少遇到瓶頸或意外增加延遲的機會。
網路頻寬-若要最佳化效能,請確認您的網路輸送量是否快速。如果您在現場部署來源資料庫和 AWS DMS 之間使用 VPN 通道,請確保頻寬足以滿足您的工作負載。
任務 parallel 性-您可以通過在滿載期間並行加載多個表來加速數據複製。此病毒碼使用 RDBMS 端點,因此此選項僅適用於滿載程序。工作 parallel 處理原則由參數控制,該
MaxFullLoadSubTasks
參數決定平行執行的完整載入子工作數目。依預設,此參數設定為 8,這表示八個表格 (如果在表格對映中選取) 會在完整模式下一起載入。您可以在工作的 JSON 指令碼的完整載入工作設定區段中調整此參數。資料表 parallel 處理原則 —AWS DMS 也可讓您使用多個平行執行緒來載入單一大型資料表。這對於具有數十億筆記錄的 Oracle 來源表格,以及多個分割區和子分割區特別有用。如果來源資料表未分割,您可以使用資料行界限進行 parallel 載入。
分割負載-當您將負載分割到多個任務或 AWS DMS 執行個體時,請在擷取變更時記住交易界限。
史诗
任務 | 描述 | 所需技能 |
---|---|---|
產生 SCN。 | 當來源資料庫處於作用中狀態並由 EnterpriseOne 應用程式正在使用時,請使用「Oracle 資料汲取」啟動資料匯出。您必須先從來源資料庫產生系統變更編號 (SCN),以確保在使用 Oracle 資料泵匯出期間的資料一致性,以及做為 AWS DMS 中 CDC 的起點。 若要從來源資料庫產生目前的 SCN,請使用下列 SQL 陳述式:
儲存產生的 SCN。匯出資料和建立 AWS DMS 複寫任務時,將會使用 SCN。 | DBA |
建立參數檔案。 | 若要建立匯出結構描述的參數檔案,您可以使用下列程式碼。
附註:您也可以根據自己的需求,使用下列指令
| DBA |
匯出結構描述。 | 欲執行匯出,請使用公用
| DBA |
任務 | 描述 | 所需技能 |
---|---|---|
將傾印檔案傳輸到目標執行個體。 | 若要使用公用 或者,您可以將資料泵檔案傳輸到亞馬遜簡單儲存服務 (Amazon S3) 若要建立連線至目標資料庫執行個體上 Amazon RDS 主要使用者的資料庫連結
| DBA |
測試資料庫連結。 | 測試資料庫連結,以確保您可以使用連線到 Amazon RDS 適用於 Oracle 目標資料庫
| DBA |
將傾印檔案傳輸到目標資料庫。 | 若要將傾印檔案複製到 Amazon RDS for Oracle 資料庫,您可以使用預設
下列指令碼會使用名
| DBA |
列出目標資料庫中的傾印檔案。 | PL/SQL 程序完成後,您可以使用下列程式碼在 Amazon RDS 適用於甲骨文資料庫中列出資料傾印檔案:
| DBA |
在目標執行處理中建立 JDE 特定的使用者。 | 在目標執行個體中使用下列命令,建立 JD Edwards 設定檔和角色:
將必要權限授與角色:
| DBA, 傑德數控 |
在目標執行處理中建立表格空間。 | 針對此移轉涉及的綱要使用下列命令,在目標執行處理中建立必要的表格空間:
| DBA, 傑德數控 |
在目標資料庫上起始匯入。 | 在開始匯入程序之前,請使用資料傾印檔案在目標 Amazon RDS for Oracle 資料庫上設定角色、結構描述和表格空間。 若要執行匯入,請使用 Amazon RDS 主要使用者帳戶存取目標資料庫,然後使用 若要開始匯入,請使用下列程式碼:
若要確保匯入成功,請檢查匯入記錄檔案中是否有任何錯誤,並檢閱詳細資訊,例如物件計數、列計數和無效物件。如果有任何無效的物件,請重新編譯它們。此外,請比較來源和目標資料庫物件,以確認它們相符。 | DBA |
任務 | 描述 | 所需技能 |
---|---|---|
下載 範本。 | 下載 AWS CloudFormation DMS 複寫執行個體及其來源和目標 | 雲端管理員,DBA |
開始建立堆疊。 |
| 雲端管理員,DBA |
指定參數。 |
| 雲端管理員,DBA |
建立堆疊。 |
佈建應在大約 5-10 分鐘內完成。當 AWS CloudFormation 堆疊頁面顯示「建立 _ 完成」時,就會完成此操作。 | 雲端管理員,DBA |
設定端點。 |
| 雲端管理員,DBA |
測試連線能力。 | 在來源端點和目標端點顯示狀態為「作用中」之後,請測試連線。選擇為每個端點(來源和目標)執行測試,以確保狀態顯示為成功。 | 雲端管理員,DBA |
任務 | 描述 | 所需技能 |
---|---|---|
建立複寫工作。 | 使用下列步驟建立 AWS DMS 複寫任務:
建立任務之後,AWS DMS 會將持續的變更從您在 CDC 啟動模式下提供的 SCN 遷移到 Amazon RDS for Oracle 資料庫執行個體。您也可以檢閱 CloudWatch 記錄檔來驗證移轉。 | 雲端管理員,DBA |
重複複寫工作。 | 重複上述步驟,為屬於移轉一部分的其他 JD Edwards 結構描述建立複寫工作。 | 雲端管理員、DBA、JDE 數控管理員 |
任務 | 描述 | 所需技能 |
---|---|---|
驗證資料傳輸。 | AWS DMS 任務開始後,您可以查看任務頁面上的 [表格統計資料] 索引標籤,以查看對資料所做的變更。 您可以在 [資料庫移轉工作] 頁面的主控台中監視進行中複寫的狀態。 如需詳細資訊,請參閱 AWS DMS 資料驗證。 | 雲端管理員,DBA |
任務 | 描述 | 所需技能 |
---|---|---|
停止複寫。 | 中止複寫程序並停止來源應用程式服務。 | 雲端管理員,DBA |
啟動 JD 愛德華茲應用程序。 | 在 AWS 上啟動目標 JD 愛德華簡報和邏輯層應用程式,並將其導向至適用於 Oracle 資料庫的 Amazon RDS。 當您存取應用程式時,您應該注意到所有連線現在都已透過 Amazon RDS for Oracle 資料庫建立。 | DBA、JDE 數控管理員 |
關閉來源資料庫。 | 確認沒有其他連線之後,您可以關閉來源資料庫。 | DBA |
故障診斷
問題 | 解決方案 |
---|---|
您會收到警告訊息,啟用來源資料庫中的補充記錄日誌 | 輸入下列命令以啟用補充記錄日誌:
|
AWS DMS 已關閉補充記錄功能。 | AWS DMS 中預設會關閉補充記錄。若要為來源 Oracle 端點開啟它,請執行下列動作:
|
在 CDB 層級未啟用補充記錄。 |
|
您收到錯誤訊息:「測試端點失敗:應用程式狀態:1020912,應用程式訊息:Oracle PDB 環境中 LogMiner 不支援端點初始化失敗」。 | 如果您遇到此錯誤訊息,您可以使用二進位讀取器來取代 LogMiner。 在「端點設定」 下,將此行新增至來源資料庫的額外連線屬性:
|
相關資源
其他資訊
使用 Amazon S3 傳輸文件
若要將檔案傳輸到 Amazon S3,您可以使用 AWS CLI 或 Amazon S3 主控台。將檔案傳輸到 Amazon S3 之後,您可以使用 Amazon RDS for Oracle 文執行個體從 Amazon S3 匯入資料泵檔案。
如果您選擇使用 Amazon S3 整合作為替代方法傳輸傾印檔案,請執行下列步驟:
建立 S3 儲存貯體。
使用「Oracle 資料汲取」,從來源資料庫匯出資料。
將資料汲取檔案上傳到 S3 儲存貯體。
將資料汲取檔案從 S3 儲存貯體下載到目標 Amazon RDS for Oracle 文資料庫。
使用「資料汲取」檔案執行匯入。
備註:若要在 S3 和 RDS 執行個體之間傳輸大型資料檔案,建議您使用 Amazon S3 Transfer Acceleration 功能。