WEB开发网
开发学院数据库Oracle Oracle不同数据库间对比分析脚本 阅读

Oracle不同数据库间对比分析脚本

 2006-08-05 11:51:19 来源:WEB开发网   
核心提示:Oracle数据库开发应用中经常对数据库管理员有这样的需求,对比两个不同实例间某模式下对象的差异或者对比两个不同实例某模式下表定义的差异性,Oracle不同数据库间对比分析脚本,这在涉及到数据库软件的开发应用中是经常遇到的,一般数据库软件的开发都是首先在开发数据库上进行,该产品一个很大的用途就是对比分析不同实例间的差异

Oracle数据库开发应用中经常对数据库管理员有这样的需求,对比两个不同实例间某模式下对象的差异或者对比两个不同实例某模式下表定义的差异性,这在涉及到数据库软件的开发应用中是经常遇到的。一般数据库软件的开发都是首先在开发数据库上进行,开发到一定程度后,系统投入运行,此时软件处于维护阶段。针对在系统运行中遇到的错误、bug等,还有应用系统的升级,经常需要调整后台程序,数据库开发人员经常遇到这样一种尴尬的事情,维护到一定时期,开发库和运行库之间出现了一些差异,而这些差异又是什么。还有一种情况就是如果应用在很多地方同时使用,每次的后台升级,那些数据库作了升级,那些还没有作升级,如果没有详细记录的话,也会造成我们的尴尬事情。

另外,如果要搭建Oracle的高级表复制环境,在规划好了复制的架构以及复制的表后,在正式将需要复制的表加入到复制组之前,一个重要工作就是检查这些需要复制的表在主节点和主定义节点间的差异性。如果这些表定义间存在任何细微的差别,如某个字段在一个节点是允许Null,而在另一个节点是Not Null,在将表加入到复制组时都会出现这样的错误,“ORA-23309 object string.string of type string exists”,其实造成这个错误的原因就是复制主定义节点和主节点之间表的定义存在某些差异,系统认为是两个不同的表,但是在两个数据库中具有同样的名称。如果需要复制的表很多,手工对比两个节点复制表之间的差异是需要很大工作量,而且不一定准确。

业界有名的数据库软件辅助产品提供商美国Embarcadero公司(www.embarcadero.com)在其全套数据库解决方案中就相应提供了一个叫Change Manager的产品,该产品一个很大的用途就是对比分析不同实例间的差异。Oracle公司的OEM(oracle enterprise manager)包中也相应提供了一个工具叫做DB-Diff,也用来比较两个数据库间的差异。

1 2 3  下一页

Tags:Oracle 不同 数据库

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接