任重道遠(yuǎn)遷移路之Oracle到DB2
遷移環(huán)境配置:
數(shù)據(jù)源: BNET開發(fā)環(huán)境數(shù)據(jù)
服務(wù)器: SunOS v880 5.8
數(shù)據(jù)庫: Oracle 9.2.0.4 & DB2 8.2
遷移工具:IBM DB2 Migration Toolkit 1.3
一. 表遷移
1. 索引長度的限制
在DB2中單個(gè)索引的所對應(yīng)的字段最大長度限制為1024個(gè)字符
表名:T_BIZPROC_INST_PARAM、T_BIZPROC_INST_ACTIVITY_PARAM
解決方法:
(1)如是組合索引,對不同的字段新建不同索引
(2)修改字段類型長度
2. 表字段類型
無法轉(zhuǎn)換NVARCHAR2字段類型
表名:T_IBSS_REL_TEST
解決方法:修改為varchar字段類型
3. 表的大小長度限制
表的大小超過數(shù)據(jù)庫頁面大小4K
解決方法:新建合適的頁面(8K)的表空間
4. 唯一索引與主鍵字段重復(fù)
DB2不允許唯一索引的字段與主鍵字段重復(fù)
表名:T_NODE
解決方法:刪除唯一索引
5. 大字段(BLOB,LONG)的遷移
解決方法:
(1)DB2遷移工具
(2)單獨(dú)寫INSERT腳本遷移數(shù)據(jù)
二. 同義詞遷移
1.解決方法:單獨(dú)寫腳本 如:create alias alias_name for table_name
三. 序列遷移
1.在DB2中序列可以有兩種形式:
(1)同ORACLE數(shù)據(jù)庫一樣是單獨(dú)存在
(2)同SYBASE數(shù)據(jù)庫類似是可以在表字段中定義
2.解決方法:由于ORACLE的序列的上限設(shè)置的比較大,因此如果通過DB2的轉(zhuǎn)換工具來遷移ORACLE的序列生成的最大長度類型會(huì)出現(xiàn)錯(cuò)誤。 需要手動(dòng)的把DECIMAL(27,0) 字段類型替換為長度為18的 bigint 字段類型
四. 存儲(chǔ)過程遷移
1. 動(dòng)態(tài)SQL語句語法不同
注:現(xiàn)在BNET生產(chǎn)環(huán)境數(shù)據(jù)庫未使用存儲(chǔ)過程就不詳細(xì)說明
原文鏈接:http://272426068.iteye.com/blog/1204561
【編輯推薦】