我已经尝试过一个名为TOYS的工具。我发现它是免费的,但不幸的是它没有用。
然后,我尝试了“RED-Gate Schema Compare for Oracle”,但它使用该技术删除并重新创建表平均值,而我需要使用新添加/删除的列来更改表。
非常感谢任何帮助
由于
答案 0 :(得分:3)
从Oracle 11g开始,您可以使用dbms_metadata_diff包和特定compare_alter()
函数来比较两个模式对象的元数据:
Schema #1 HR
create table tb_test(
col number
)
Schema #2 HR2
create table tb_test(
col_1 number
)
select dbms_metadata_diff.compare_alter( 'TABLE' -- schema object type
, 'TB_TEST' -- object name
, 'TB_TEST' -- object name
, 'HR' -- by default current schema
, 'HR2'
) as res
from dual;
结果:
RES
-------------------------------------------------
ALTER TABLE "HR"."TB_TEST" ADD ("COL_1" NUMBER);
ALTER TABLE "HR"."TB_TEST" DROP ("COL");