寻找一种方法来测试2个oracle数据库中的多个表

时间:2017-09-21 18:13:00

标签: python oracle toad

我正在寻找可能的脚本运行的帮助,我可以在两个具有相同名称但位于不同数据库的不同表上测试属性。我们有一个开发DB和一个生产DB。两者在该特定表上的相同模式中具有相同的表。

例如,devdb有一个名为data.abc_001的表。 proddb还有一个名为data.abc_001的表。我想要做的是在名为' updated'的属性上找到两者之间的差异。另一个问题是,由于我们的数据结构,我们有data.abc_001data.abc_999。我认为最好的结果是有一个包含2列的表(每个数据库一个,值为'更新'它们不同)。我正在使用Toad与DB进行交互。

1 个答案:

答案 0 :(得分:0)

如果服务器可以互相访问,我认为最简单的方法就是从prod服务器上做这样的事情:

CREATE DATABASE LINK "DEV"
CONNECT TO data
IDENTIFIED BY "my_password"
USING '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)
  (Host=dev_server)
  (PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=DEV)))';

create table abc_001_differences as
select a.updated as prod_updated, b.updated as dev_updated
  from abc_001 a
  full outer join abc_001@"DEV" b on a.primary_key = b.primary_key
;

您可能会考虑的另一个选项是此TOAD功能:打开数据库菜单,然后转到比较>单个对象。选择您的连接/架构/表,然后查看选项。如果您更喜欢GUI,它是一个强大的工具。