阿裡雲的亞當(ADAM)是Advanced Database & Application Migration的縮寫,是一款把資料庫和應用遷移到阿裡雲(公共雲或專有雲)的産品,主要面向的是正在使用Oracle資料庫并希望将其替換為阿裡雲資料庫服務的客戶。
就在前一段時間,我獲得POLARDB,阿裡雲一款Oracle替代産品的公測資格,我成功的以手工方式将一款CRM應用從Oracle資料庫遷移到了POLARDB,這次我用ADAM再做一次自動化的遷移,看看會有什麼不同。
ADAM同樣需要申請公測資格,在獲得準許後可以看到進入控制台的入口,在進入控制台之後是這樣的。

- 下載下傳資料采集器、主要采集目标Oracle資料庫的結構和使用方式,資料采集器将相關資料打包到一個壓縮檔案中。
- 建立畫像、将壓縮檔案上傳後ADAM将利用采集到的資訊進行分析,給出目标資料庫的畫像。
- 建立評估項目、根據畫像建立項目項目,阿裡雲會根據Oracle資料庫的規模、熱點、複雜度、負載、會話情況生成遷移計劃。
- 導出計劃、在遷移計劃中,既包括技術方案、運作成本、災備方案這樣的面向管理人員的設計檔案,也包括用于實際控制遷移過程的遷雲計劃。将遷雲計劃導出後可以用于指揮ADAM Studio的遷移過程。
- 下載下傳studio、ADAM studio是一組緊密合作的工具軟體,安裝在能夠同時通路源Oracle資料庫和目标資料庫服務的Linux伺服器上,該伺服器可以是雲伺服器(ECS)也可以是線下IDC中的實體或虛拟伺服器。
- 導入計劃、在studio的控制台上導入遷雲計劃,studio将根據遷移計劃進行後續的結構和資料遷移。
- 結構遷移/訂正、遷移、根據遷移計劃在目标資料庫建立表、視圖等結構對象。
- 資料遷移/校驗、進行資料的遷移,在遷移完成後再進行資料校驗。
以下是一些我對關鍵步驟的記錄,供大家參考。
資料采集
資料采集支援Windows或者Linux作業系統,資料采集程式無需安裝在Oracle資料庫所在的伺服器,之需要能夠通路Oracle資料庫即可。我安裝的是Linux版本,需要在Oracle資料庫上建立一個臨時賬号,并給這個臨時賬号賦予必要的權限以進行資訊收集。
程式執行完畢,會生成一個data.zip檔案,将這個檔案下載下傳并上傳到ADAM控制台用于建立畫像。
建立畫像
建立畫像的必要條件就是上面步驟收集的data.zip檔案。
建立好的資料庫畫像大概都包含這些内容
有了資料庫的畫像資料就可以據此建立遷移評估報告。
建立評估項目
ADAM目前支援将Oracle資料庫遷移到如下4種阿裡雲資料庫服務:
- PPAS
- MySQL
- POLARDB for Oracle
- PostgreSQL
建立評估項目就是選中源庫畫像和目标資料庫類型。
評估完成後,就能生成四類輸出:技術方案、運作成本、災備方案、遷雲計劃。
其中遷雲計劃是為ADAM Studio準備,其餘三項都是給管理人員提供的遷移決策依據。
ADAM Studio的部署和遷雲計劃導入
需要找一台Linux伺服器部署ADAM Studio,伺服器最低配置為8c16G,當資料庫規模較大時推薦8c32G。該伺服器要能夠同時通路源Oracle資料庫和目标阿裡雲資料庫。ADAM Studio 還支援分布式部署,用于更大規模資料庫的遷移。
在ADAM Studio控制台,首要任務是建立檔案,就是輸入源Oracle、目标阿裡雲資料庫服務、OSS的賬号資訊,其中假如Oracle資料庫中沒有BLOB字段就不需要設定OSS,Oracle的BLOG字段資料未來要存儲到OSS中。
大家不要小看這一步,遷移的成功很大程度上就是決定于檔案中的賬号是否擁有必要的權限。
我個人的經驗是源Oracle資料庫的權限可以盡量收窄,而目标阿裡雲資料庫服務的權限可以盡量放寬,因為這個時候業務是運作在Oracle這一端的,且不需要寫入權限,而阿裡雲一端是需要建立各種對象和寫入資料。
有了源和目标的賬号資訊後就可以建立遷移項目,在建立遷移項目時需要送出上一步生成的遷移計劃,一個json檔案。
結構遷移、資料遷移、校驗
隻要上一步做對,遷移就是下一步,下一步,完成。
當然,這隻是一個非常簡單的項目,隻有序列、表、視圖這些基礎對象。假如源資料庫比較複雜可能就需要遷移人員具備一定的專業技能才能完成一次成功的遷移。但無論如何,有了ADAM這樣的專業輔助工具,都會讓遷移工作變得可視、有序、可靠、高效。