小注释:
相信大家可能遇到plsql developer 工具的compare table data发现同步一次数据之后,再比较还有需要update的数据.
若不是新变动的数据,相比是如下原因咯!
相信大家可能遇到plsql developer 工具的compare table data发现同步一次数据之后,再比较还有需要update的数据.
若不是新变动的数据,相比是如下原因咯!
表结构顺序不同隐藏的2点问题:
1、plsql developer 工具比较时,即使数据一样也提供update语句将原值改为原值,(数据量大/并发)都会对库有性能影响
(例如:LGWR/DBWR redo log,且会触发一次commit等)
2、同步数据(truncate表再insert数据)可能会报错/或者不报错也会导致插入错误数据;
(例如:LGWR/DBWR redo log,且会触发一次commit等)
2、同步数据(truncate表再insert数据)可能会报错/或者不报错也会导致插入错误数据;
查询A 和 B用户 表结构顺序不一致的SQL:
----------------------------------
SELECT TC.TABLE_NAME "表名字",
TC.COLUMN_NAME "字段",
TC.COLUMN_ID "字段顺序号",
TC1.COLUMN_NAME "对照字段",
TC1.COLUMN_ID "对照字段顺序号"
FROM USER_TAB_COLUMNS A
JOIN USER_TAB_COLUMNS@DB_A B --对照A用户的视图
ON A.TABLE_NAME = B.TABLE_NAME
AND A.COLUMN_ID = B.COLUMN_ID --列顺序
AND A.COLUMN_NAME != B.COLUMN_NAME;
TC.COLUMN_NAME "字段",
TC.COLUMN_ID "字段顺序号",
TC1.COLUMN_NAME "对照字段",
TC1.COLUMN_ID "对照字段顺序号"
FROM USER_TAB_COLUMNS A
JOIN USER_TAB_COLUMNS@DB_A B --对照A用户的视图
ON A.TABLE_NAME = B.TABLE_NAME
AND A.COLUMN_ID = B.COLUMN_ID --列顺序
AND A.COLUMN_NAME != B.COLUMN_NAME;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28602568/viewspace-1251270/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28602568/viewspace-1251270/