首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 數據庫異構遷移至 Linux 實戰詳解(二):數據導出導入與自增列處理

     編輯:DB2 教學

AIX 源端操作(續)

  1. 生成導出所有表數據腳本 export.sql:
    db2 "select 'export to ' || rtrim(tabname) || '.ixf of ixf select * from ' || rtrim(tabname) || ';' 
    from syscat.tables where tabschema = 'DB2INST1'" > export.sql
  2. 編輯 export.sql,移除頭尾雜訊,保留純導出命令。
  3. 生成導入腳本 load.sql(必須用 LOAD 命令):
    db2 "select 'load from ' || rtrim(tabname) || '.ixf of ixf insert into ' || rtrim(tabname) || ';' 
    from syscat.tables where tabschema = 'DB2INST1'" > load.sql
  4. 編輯 load.sql,移除頭尾雜訊。檢索 sample_tabs.ddl 中含自增列(GENERATED ALWAYS AS IDENTITY)的表,在對應 load 命令中 of ixf 與 insert 間加入 modified by identityoverride,例如: load from MYTABLE.ixf of ixf modified by identityoverride insert into MYTABLE; 此選項保證導入時自增列值與源庫一致。
  5. 執行導出:db2 -tvf export.sql。

文件傳輸

將 sample_tabs.ddl、sample_foreignkeys.ddl、sample_triggers.ddl、load.sql 及所有 .ixf 數據文件複製至 Linux 目標機器。

Linux 目標端操作

  1. 創建數據庫 SAMPLE,建立必要表空間,配置必要參數。
  2. 連接 SAMPLE,執行 sample_tabs.ddl 創建表(db2 -tvf sample_tabs.ddl)。
  3. 進入 .ixf 文件目錄,執行 db2 -tvf load.sql 導入數據。
  4. 執行 sample_foreignkeys.ddl 與 sample_triggers.ddl 創建外鍵與觸發器。
  5. 對每張表運行 runstats 更新統計信息(可按生成 export/load 腳本方法批量生成 runstats 腳本執行)。

至此,數據庫遷移基本成功完成。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved