日期:2014-05-16  浏览次数:20409 次

oracle迁移db2
迁移环境配置:
数据源: BNET开发环境数据
服务器: SunOS v880 5.8
数据库: Oracle 9.2.0.4
DB2 8.2
迁移工具:IBM DB2 Migration Toolkit 1.3
一. 表迁移
1. 索引长度的限制
在DB2中单个索引的所对应的字段最大长度限制为1024个字符
表名:T_BIZPROC_INST_PARAM、T_BIZPROC_INST_ACTIVITY_PARAM
解决方法: (1)如是组合索引,对不同的字段新建不同索引
(2)修改字段类型长度

2. 表字段类型
无法转换NVARCHAR2字段类型
表名:T_IBSS_REL_TEST
解决方法:修改为varchar字段类型

3. 表的大小长度限制
表的大小超过数据库页面大小4K
解决方法:新建合适的页面(8K)的表空间

4. 唯一索引与主键字段重复
DB2不允许唯一索引的字段与主键字段重复
表名:T_NODE
解决方法:删除唯一索引

5. 大字段(BLOB,LONG)的迁移
解决方法:(1)DB2迁移工具
(2)单独写INSERT脚本迁移数据

二. 同义词迁移
1.解决方法:单独写脚本 如:create alias alias_name for table_name
三. 序列迁移
1.在DB2中序列可以有两种形式:
(1)同ORACLE数据库一样是单独存在
(2)同SYBASE数据库类似是可以在表字段中定义

2.解决方法:由于ORACLE的序列的上限设置的比较大,因此如果通过DB2的转换工具来迁移ORACLE的序列生成的最大长度类型会出现错误。 需要手动的把DECIMAL(27,0) 字段类型替换为长度为18的 bigint 字段类型

四. 存储过程迁移
1. 动态SQL语句语法不同

注:现在BNET生产环境数据库未使用存储过程就不详细说明
我的异常网推荐解决方案:oracle存储过程,http://www.aiyiweb.com/oracle-develop/177537.html