加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据库 – 如何区分两个Oracle 10g模式?

发布时间:2020-12-12 16:53:39 所属栏目:MsSql教程 来源:网络整理
导读:我觉得两个大型复杂的Oracle模式之间存在一些区别,这些模式应该是相同的,所以决定将它们转储并进行差异调查.我找到了一篇文章( http://www.dba-oracle.com/art_builder_get_schema_syntax.htm),它提供了以下命令来转储表和索引定义. SELECT DBMS_METADATA.GET
我觉得两个大型复杂的Oracle模式之间存在一些区别,这些模式应该是相同的,所以决定将它们转储并进行差异调查.我找到了一篇文章( http://www.dba-oracle.com/art_builder_get_schema_syntax.htm),它提供了以下命令来转储表和索引定义.
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u;
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) FROM USER_INDEXES u;

但是,当我将输出的模式转储并扩散到模式时,几乎每条线上都存在微不足道的差异,这使得差异变得毫无价值.例如,模式名称包含在每个表定义中.

是否有更好的方法可以使用diff工具轻松比较格式,从而提供最重要的架构数据.我对表,索引和触发器感兴趣.

我使用的是Oracle数据库10g企业版10.2.0.3.0版

解决方法

我编写的免费和开源SchemaCrawler工具将满足您的需求. SchemaCrawler以可扩展的纯文本格式(文本,CSV或XHTML)输出模式的详细信息(表,视图,过程等). SchemaCrawler还可以输出数据(包括CLOB和BLOB)
以相同的纯文本格式.您可以使用标准差异程序将当前输出与输出的参考版本区分开来.

https://www.SchemaCrawler.com

您需要为数据库提供JDBC驱动程序.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读