我需要将一个数据库A的归档日志文件放在另一个数据库B里面用Logmnr进行解析。
现在还存在一个头疼的问题,就是解析出来的脚本不能唯一确定一条记录。
比如:
我修改的语句为
update table1 set col1='test' where id=1;
结果解析出来的就成了(加了Options=>dbms_logmnr.NO_ROWID_IN_STMT):
update table1 set col1='test' where col1='oldvalue';
这样是不对的。
加Options=>dbms_logmnr.NO_ROWID_IN_STMT的原因是不同数据库的rowid是不同的,所以rowid我不能用。
有谁知道这个问题怎么解决啊?!!
先谢了!!
现在还存在一个头疼的问题,就是解析出来的脚本不能唯一确定一条记录。
比如:
我修改的语句为
update table1 set col1='test' where id=1;
结果解析出来的就成了(加了Options=>dbms_logmnr.NO_ROWID_IN_STMT):
update table1 set col1='test' where col1='oldvalue';
这样是不对的。
加Options=>dbms_logmnr.NO_ROWID_IN_STMT的原因是不同数据库的rowid是不同的,所以rowid我不能用。
有谁知道这个问题怎么解决啊?!!
先谢了!!
update table1 set col1='test' where id=1;
结果解析出来的就成了(加了Options=> dbms_logmnr.NO_ROWID_IN_STMT):
update table1 set col1='test' where col1='oldvalue';
这样是不对的。
刚才我已经找到问题了,我需要修改源数据库:
alter database add supplemental log data (primary key, unique index) columns;
这样写在redo里面的语句就会包含id字段了。
再将解析出来的脚本在另一个数据库里面执行的时候就可以去掉rowid也能唯一确定修改的是那条记录了。
还有,我是“她”不是“他”
对了,你们能帮我看看
http://topic.csdn.net/u/20071130/16/79ac8058-38b6-4f2c-af43-aecf5a9e0464.html 吗?