如果我有一个数据库的Informix DDL脚本,我想在Oracle上运行此脚本来创建具有相同结构,索引,数据类型和约束的等效数据库 .
成功执行脚本应遵循的步骤是什么?在执行过程中我应该考虑哪些因素?
我使用Informix服务器版IBM Informix Dynamic Server Version 12.10.FC3 .
我使用Informix Client SDK版本3.50 .
我使用的是Oracle 11g .
通常,在Informix和Oracle之间转移甚至只是DDL也是一个非常重要的命题 . 即使您不使用某些更奇特的类型(例如,用户定义的类型,或列表或集合或行类型),语法上也会有许多细微的差异 . 这是从Informix的角度编写的;用温和的盐来处理有关Oracle的陈述 .
Oracle使用VARCHAR2; Informix没有't (but some types that Informix use should not be translated to Oracle' s VARCHAR - 它应该是VARCHAR2) .
Oracle有一个基础数字类型; Informix有很多 . 但是,Oracle会识别大多数类型名称 .
Oracle 's DATE type includes a time component; Informix' s没有 .
Informix具有深奥的类型,例如DATETIME MONTH TO MINUTE(规范的奇数球示例),它在Oracle中没有现成的等效物 .
您需要仔细检查BYTE,TEXT,BLOB和CLOB类型并进行相应的转换 .
某些类型的限制可能存在差异 . 这些可能会导致翻译问题 .
在约束的命名中,Informix与世界其他地方之间存在挑剔的差异(Informix在约束之后放置约束名称;标准将约束名称放在它之前) .
......毫无疑问还有许多其他问题......
有一些工具可以帮助从Oracle迁移到Informix . 我假设有可用的工具来协助反向迁移,但我不熟悉它们 .
在http://www.oracle.com/technetwork/database/migration/informix-085032.html查看Informix到Oracle的官方资源
2 回答
通常,在Informix和Oracle之间转移甚至只是DDL也是一个非常重要的命题 . 即使您不使用某些更奇特的类型(例如,用户定义的类型,或列表或集合或行类型),语法上也会有许多细微的差异 . 这是从Informix的角度编写的;用温和的盐来处理有关Oracle的陈述 .
Oracle使用VARCHAR2; Informix没有't (but some types that Informix use should not be translated to Oracle' s VARCHAR - 它应该是VARCHAR2) .
Oracle有一个基础数字类型; Informix有很多 . 但是,Oracle会识别大多数类型名称 .
Oracle 's DATE type includes a time component; Informix' s没有 .
Informix具有深奥的类型,例如DATETIME MONTH TO MINUTE(规范的奇数球示例),它在Oracle中没有现成的等效物 .
您需要仔细检查BYTE,TEXT,BLOB和CLOB类型并进行相应的转换 .
某些类型的限制可能存在差异 . 这些可能会导致翻译问题 .
在约束的命名中,Informix与世界其他地方之间存在挑剔的差异(Informix在约束之后放置约束名称;标准将约束名称放在它之前) .
......毫无疑问还有许多其他问题......
有一些工具可以帮助从Oracle迁移到Informix . 我假设有可用的工具来协助反向迁移,但我不熟悉它们 .
在http://www.oracle.com/technetwork/database/migration/informix-085032.html查看Informix到Oracle的官方资源