我已经试用了一个名为 TOYS 的工具。我发现它是免费的,但不幸的是它没有用。
然后,我尝试了“RED-Gate Schema Compare for Oracle”,但它使用该技术来删除和重新创建表,而我只需要使用新添加/删除的列来更改表。
非常感谢任何帮助
谢谢
从 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");