Oracle差别数据库间比较解析脚本[Oracle防范]
本文“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,也用来对比两个数据库间的差别.
其实关于普通的数据库开辟在某种程度上说根本不需求上面提到的这些工具软件,何况这些产品不是随便可以得到并且利用的.针对上面提到的这些问题,供应了两个SQL脚本,可以轻松实现比较解析两个差别数据库实例间对象的差别以及表定义的差别.
1、比较两个差别实例下某情势中对象差别
在运行下面的脚本之前,必须首先成立当然数据库用户和需求比较的两个实例间的数据库联接.下面是运行该脚本的一个例子.在SQL/PLUS下运行该脚本,系统呈现以下提醒:
对象属主(情势): repadmin
第一个实例的数据库联接名称 (包含 @):@ora_zs
第一个实例的数据库联接名称 (包含 @):@ora_sjjk
以上是“Oracle差别数据库间比较解析脚本[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |