当前位置:  数据库>oracle

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

    来源: 互联网  发布时间:2014-09-07

    本文导语:  正在看的ORACLE教程是: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脚本,可以轻松实现对比分析两个不同数据库实例间对象的差异以及表定义的差异。 

  一、对比两个不同实例下某模式中对象差异 

  在运行下面的脚本之前,必须首先创建当然数据库用户和需要对比的两个实例间的数据库联接。下面是运行该脚本的一个例子。在SQL/PLUS下运行该脚本,系统出现如下提示: 

  对象属主(模式): repadmin

  第一个实例的数据库联接名称 (包括 @):@ora_zs

  第一个实例的数据库联接名称 (包括 @):@ora_sjjk 

[NextPage]

其中程序要求输入对象属主,也就是对比那个用户,这里是repadmin用户。然后是需要对比的实例联接名称,这里是ora_zs和ora_sjjk,最后给出对比报告。 

  附:PL/SQL程序脚本清单: 

二、对比两个不同模式下表定义的差异 

  运行方法和前面第一个脚本一样,这里不再详述。下面是一个运行实例结果: 

  对象属主(模式): db_zgxt

  第一个实例的数据库联接名称 (包括 @):@ora_cx

  第一个实例的数据库联接名称 (包括 @):@ora_zs 

上一页    


    
 
 

您可能感兴趣的文章:

  • linux环境下oracle条件导出数据的shell脚本怎么写
  • Oracle新手教程 手工创建数据库的全部脚本及说明
  • 杀掉oracle在线用户脚本分享
  • linux能够通过执行脚本添加oracle数据库的用户吗
  • linux下oracle的自启动脚本解析
  • 怎么写一个Shell来执行这样的功能,访问Oracle数据库,然后执行一个SQL脚本,生成一个文件。急!
  • oracle使用sql脚本生成csv文件案例学习
  • shell 执行oracle sql脚本的问题
  • Linux下Oracle归档日志自动清理脚本代码(sh)
  • 求教:shell 脚本怎么获取ORACLE存储过程的返回值?
  • Oracle 10g在Solaris 10下的自动运行脚本
  • Oracle 获得以百分号结尾的脚本有三种写法
  • Linux下用SHELL脚本执行带输入输出参数的ORACLE存储过程并得到结果
  • Linux oracle数据库自动备份自动压缩脚本代码
  • 高手帮忙solaris中oracle的启动脚本
  • Oracle 下导入txt的shell脚本以及配置
  • Linux下安装ORACLE 10g前的系统设置脚本
  • Oracle 数据库管理脚本命名规范
  • oracle 服务启动,关闭脚本(windows系统下)
  • 请教:如何在java程序里直接执行Oracle的sql脚本,谢谢先!在线等待,有参考意见即可加分。
  • Oracle数据库对比工具 DBT
  • SQL中Charindex和Oracle中对应的函数Instr对比
  • Oracle和MySQL对比
  • oracle 使用递归的性能提示测试对比
  • InnoDB与Oracle单行存储长度对比
  • MSSQL与Oracle数据库事务隔离级别与锁机制对比
  • MySQL与Oracle的语法区别详细对比
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • Oracle 数据库开发工具 Oracle SQL Developer
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • 关于JDBC连接Oracle数据库,是否必须有Oracle客户端
  • ORACLE数据库常用字段数据类型介绍
  • win2000+jbuilder6+oracle817编出的程序,在win2000下执行很好,在win98下却访问不了oracle数据库
  • oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)
  • Oracle发布Oracle SQL Developer 1.2数据库开发工具 帮助用户简化开发工作
  • 怎样调出ORACLE数据库中的数据,该如何连接?
  • Oracle收购TimesTen 提高数据库软件性能
  • 卸载oracle数据库
  • Oracle数据库恢复后心得
  • linux上安装oracle 数据库后,是否能写shell程序实现数据库的自动启动。
  • Linux下如何用C语言操作Oracle数据库相关的图书推荐
  • Oracle数据库运行Oracle form时避免出现提示信息
  • Oracle欲收购开源数据库MySQL未果
  • 如何在JBuilder中连接Oracle数据库?
  • Oracle数据库访问参数文件的顺序
  • 循序渐进学习Oracle数据库
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle 10g和Oracle 11g网格技术介绍
  • Oracle EBS R12 支持 Oracle Database 11g
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3