如题,
现在有2个数据库,一个是以前的,一个是最新的。
如何编写一个脚本用来查看这2个数据库之间都有哪些进行了改动?
现在有2个数据库,一个是以前的,一个是最新的。
如何编写一个脚本用来查看这2个数据库之间都有哪些进行了改动?
解决方案 »
- 急问大神,关于分组为空的SQL
- Oracle11g(Release2) 命令行删除指定数据库Instance问题,急急急!!!
- 存储过程,如何传入一个数组并进行处理,有样例吗?
- 关于oracle的关闭的一个问题?
- 一个有1年的SQL Server开发经验的人虚心的向您请教Oracle
- oracle9中不能显示新建数据库
- win2000中的管理工具》服务中没有监听服务是怎么回事啊?
- 求一个存储过程,请高手们帮帮忙
- 存储过程、函数中不能用select from sys.obj$等表吗?
- Oracle表ABCD表内容并列显示 求解
- plsql developer的使用方法
- 关于 用OCI 进行insert 的问题
在一个数据库里建立到另一个数据库的database link,如remote
SELECT table_name,column_name,data_type,data_length FROM user_tab_columns
MINUS
SELECT table_name,column_name,data_type,data_length FROM user_tab_columns@remote;如果不方便建database link,
在两库分别查询,把结果保存为文本文件,然后用工具比对两文件。
全表比较,所有的字段进行比较select * from t1 a
where not exists(select 1 from t2 b where nvl(a.c1,0)=nvl(b.c1,0)....)select * from t2 a
where not exists(select 1 from t1 b where nvl(a.c1,0)=nvl(b.c1,0)....)2个表都没有查询出数据,说明2个表的记录都是一致的
checksum_agg,binary_checksum
但oracle中还没找到合适的
1、建立DB LINK
2、选择一个数据库遍历ALL_TABLES得到所有表名。
3、在循环内使用动态SQL,执行相同2表的MINUS,得到差异并记录到某地。
里面有个 compare user object和compare table data
楼主可以试试