将SQL Server数据库架构与Oracle数据库架构进行比较

时间:2015-04-08 06:24:47

标签: sql-server oracle database-schema rdbms

在我的开发环境中,我们在MSSQL Server和Oracle上都支持应用程序。这两个RDBMS的数据库模式是相同的。

在开发过程中,我们发现开发人员犯了一个错误并忘记在过去1年内更改oracle数据库。因此,oracle脚本在SQL Server架构脚本的架构方面非常落后。

现在的问题是我如何比较两个RDBMS系统来找到差异并更新oracle脚本

1 个答案:

答案 0 :(得分:1)

如果没有跟踪日志,可以从中找到并重现应用于SQL Server的所有更改,因为首次检测到与Oracle版本不一致,或者应用了更改,但只是部分更改,您确实需要进行比较两个数据库中提供的对象 在这种情况下,在任何一方的数据库之间建立一个链接,并使用系统字典视图来比较表结构和其他对象以查找差异,并且可能为Oracle方案汇总生成脚本。

如果您想从MS SQL Server端执行操作:

  1. Install and configure Oracle Instant Client
  2. Install Oracle ODAC
  3. Follow Microsoft recomendations64-bit version
  4. 以任何具有dba角色的用户(或使用对象所在的相同Oracle架构)从MS SQL数据库连接到Oracle
  5. 如果您想从Oracle Server端采取行动:

    1. 安装并配置Oracle Database Gateway for SQL Server

    2. Create database link to MS SQL Server

    3. 成功配置后,您可以在SQL端加入Information schema views,在Oracle端加Data dictionary views以查找差异。

      当然,像different data types这样有很多麻烦,但它有机会自动完成至少部分工作。