- 论坛徽章:
- 0
|
本帖最后由 ppgpsj 于 2010-12-02 17:22 编辑
问三个很菜的问题,
1.比如执行了一条语句
update xsjbxxb
set zymc='AA'
where xm='李四'
EXECUTE dbms_logmnr.start_logmnr后,从V$logmnr_contents查询对这条记录的更改。
如果使用
SELECT operation,sql_redo,sql_undo FROM V$logmnr_contents WHERE sql_redo like '%李%'
就无法查询到
但如果使用
select * from V$logmnr_contents where sql_redo like '%AA%' ;
就可以查询到。
通过查询到的记录,发现在sql中把“where xm='李四'”改为了“where ROWID = 'AAAHZjAALAAAAANAAC';”
所以用第一种方法查询不到。
想问下如何才能显示完整的where后的条件,另外显示rowid的原理是什么?
2.操作归档后,若add_logfile的仍是REDO01.LOG等文件,测试了一下,还是可以找到记录变更的情况。
那是不是就不存在会add_logfile某归档文件的情况呢?为何我在有些地方看到有人是add_logfile某些归档文件呢?
归档文件,每天都会生成很多个,如果加载归档文件,似乎很复杂
谢谢各位大侠!
3.在另一台服务器上,addfile,和start_logmnr都比较顺利,最后在查询的时候碰到一个问题
SELECT operation,sql_redo,sql_undo FROM V$logmnr_contents where sql_undo like '%生产%'
ORA-00600: internal error code, arguments: [krvxbpns01], [], [], [], [], [], [], []
请问这是什么原因呢?但是如果不加where条件
SELECT operation,sql_redo,sql_undo FROM V$logmnr_contents
这样执行是没有问题的 |
|