数据库 – 如何区分两个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驱动程序. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |