任重道远迁移路之Oracle到DB2 |
本文标签: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生产环境数据库未使用存储过程就不详细说明 原文链接:http://272426068.iteye.com/blog/1204561 |