消息关闭
    暂无新消息!
我用logminer工具从源数据库里网目标数据库里同步数据,源数据库里的SQL语句是这样的:update teacher set teaname = '大申' where teaid = '015';
可是从v$logmnr_contents视图里读出来的SQL语句是这样的:update "SCOTT"."TEACHER" set "TEANAME" = '大申' where "TEANAME" = '小申';

可以看出这两个sql语句的where条件是不同的。

长期这样,肯定做不到数据的一致性,那么,为什么会出现这样的情况呢?有什么办法可以让这两种语句完全一致呢?那些利用logminer做数据恢复的大神们有遇到过这种情况吗?怎么解决的呢?

3个回答

︿ 2
我没用logmnr同步过数据,但用过他分析修改痕迹。
这两个SQL断然不是一个,不会说读出来的和实际的不一样。
PS:oracle11G以后用logmnr分析redo时,曾出现过找不到sql的现象
︿ 0
你如何确认两个语句是一个啊。通过什么,时间? 还是什么内容
︿ 0
可我从redo里面读出来的就是上面我贴出来的样子,是我不该从v$logmnr_contents视图里面取sql_redo这个字段,而是其他的字段做数据同步执行的sql?还是我应该分析归档日志,不应该分析联机日志?