在我的开发环境中,我们在MSSQL Server和Oracle上都支持应用程序。这两个RDBMS的数据库模式是相同的。
在开发过程中,我们发现开发人员犯了一个错误并忘记在过去1年内更改oracle数据库。因此,oracle脚本在SQL Server架构脚本的架构方面非常落后。现在的问题是我如何比较两个RDBMS系统来找到差异并更新oracle脚本
答案 0 :(得分:1)
如果没有跟踪日志,可以从中找到并重现应用于SQL Server的所有更改,因为首次检测到与Oracle版本不一致,或者应用了更改,但只是部分更改,您确实需要进行比较两个数据库中提供的对象 在这种情况下,在任何一方的数据库之间建立一个链接,并使用系统字典视图来比较表结构和其他对象以查找差异,并且可能为Oracle方案汇总生成脚本。
如果您想从MS SQL Server端执行操作:
dba
角色的用户(或使用对象所在的相同Oracle架构)从MS SQL数据库连接到Oracle 如果您想从Oracle Server端采取行动:
成功配置后,您可以在SQL端加入Information schema views,在Oracle端加Data dictionary views以查找差异。
当然,像different data types这样有很多麻烦,但它有机会自动完成至少部分工作。