生產環境 AIX 上的 product 資料庫需遷移至本地 Linux 測試環境。因平台不同,無法直接用 Backup/Restore,需結合 db2look(導出 DDL)與 db2move(導出/導入資料) 完成異構遷移。此流程適用於任意平台間遷移。
db2look -d product -a -e -o product.sql
參數說明:-a 所有物件、-e 匯出 DDL、-o 指定輸出檔。輸出包含建表、索引、約束、視圖等完整結構定義。
db2move product export
執行後生成大量 .ixf(資料檔)與 .msg(日誌檔),畫面顯示各表匯出筆數,如:
EXPORT: 3849 rows from table "PROCORE"."PLAN_OBJ"
EXPORT: 26176 rows from table "PROCORE"."REGION"
...
mkdir product
cd product
ftp <AIX_server>
bin
prompt off
mget *
bye
將 product.sql 及所有 .ixf/.msg 檔案下載至本目錄。
create database "PRODUCT"
on '/home/db2inst1/'
alias "PRODUCT"
using codeset ISO8859-1
territory US
collate using compatibility
numsegs 1
dft_extent_sz 32;
編碼、地區、定序需與源庫一致,避免字元集轉換問題。
db2 -vtf product.sql
-v 顯示指令、-t 以分號結束、-f 指定腳本檔。
db2move product import
務必在存放 .ixf/.msg 檔的目錄下執行。工具會依序讀取各表資料檔並匯入。
db2 connect to product
連線成功即表示遷移完成。可進一步抽樣查詢核對筆數與內容。
LOGFILSIZ、LOGPRIMARY、LOGSECOND 避免日誌滿。ALTER TABLE ... ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE 加速清空大表(若重跑)。RUNSTATS 更新統計資訊,確保優化器生成最佳計畫。