Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

53

积分

0

好友

3

主题
1#
发表于 2012-8-6 10:33:06 | 查看: 5356| 回复: 5
我想用logmnr分析redlog,但是最后的结果和实际的不一致:
三次insert操作,一次delete操作,logmnr分析的结果只有一次insert操作。
不知道是哪做错了,请各位帮忙看看,谢谢!

OS:oracle linux 6.2
database:oracle 10.2.0.5

主要过程摘录:
  1. 09:59:48 SQL> select * from v$log;

  2.     GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS            FIRST_CHANGE# FIRST_TIME
  3. ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
  4.          1            1               0   52428800             1 NO  UNUSED                   498033 2012-08-06:09:53:06
  5.          2            1              59   52428800             1 NO  CURRENT                   498188 2012-08-06:09:59:04
  6.          3            1               0   52428800             1 NO  UNUSED                   477703 2012-08-06:09:31:05

  7. 09:59:55 SQL>

  8. 在另一个session scott用户操作操作数据:
  9. 10:00:24 SQL> insert into tt values(1,'1');

  10. 1 row created.

  11. 10:00:42 SQL> commit;

  12. Commit complete.

  13. 10:00:45 SQL> insert into tt values(2,'2');

  14. 1 row created.

  15. 10:00:58 SQL> commit;

  16. Commit complete.

  17. 10:01:05 SQL> insert into tt values (3,'3');

  18. 1 row created.

  19. 10:01:19 SQL> insert into tt values(4,'4');

  20. 1 row created.

  21. 10:01:32 SQL> commit;

  22. Commit complete.

  23. 10:01:37 SQL> insert into tt values(5,'5');

  24. 1 row created.

  25. 10:01:48 SQL> commit;

  26. Commit complete.

  27. 10:01:51 SQL> select * from tt;

  28.         ID NAME
  29. ---------- ----------
  30.          1 1
  31.          2 2
  32.          3 3
  33.          4 4
  34.          5 5

  35. -- 删除一条数据
  36. 10:01:58 SQL> delete from tt where id=4;

  37. 1 row deleted.

  38. 10:02:13 SQL> commit;

  39. Commit complete.

  40. -- 查看提交后结果
  41. 10:02:16 SQL> select * from tt;

  42.         ID NAME
  43. ---------- ----------
  44.          1 1
  45.          2 2
  46.          3 3
  47.          5 5

  48. 10:02:21 SQL>

  49. 回到sys session:
  50. 10:02:33 SQL> select * from scott.tt;

  51.         ID NAME
  52. ---------- ----------
  53.          1 1
  54.          2 2
  55.          3 3
  56.          5 5

  57. -- 确认当前redo log,切换日志组
  58. 10:02:42 SQL> select * from v$log;

  59.     GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS            FIRST_CHANGE# FIRST_TIME
  60. ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
  61.          1            1               0   52428800             1 NO  UNUSED                   498033 2012-08-06:09:53:06
  62.          2            1              59   52428800             1 NO  CURRENT                   498188 2012-08-06:09:59:04
  63.          3            1               0   52428800             1 NO  UNUSED                   477703 2012-08-06:09:31:05

  64. 10:02:53 SQL> alter system switch logfile;

  65. System altered.

  66. 10:03:02 SQL> select * from v$log;

  67.     GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS            FIRST_CHANGE# FIRST_TIME
  68. ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
  69.          1            1              60   52428800             1 NO  CURRENT                   498350 2012-08-06:10:03:02
  70.          2            1              59   52428800             1 NO  ACTIVE                   498188 2012-08-06:09:59:04
  71.          3            1               0   52428800             1 NO  UNUSED                   477703 2012-08-06:09:31:05

  72. -- 向logmnr添加文件,分析
  73. 10:03:12 SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME => '/oradata10/fac/redo02.log',OPTIONS => DBMS_LOGMNR.NEW);

  74. PL/SQL procedure successfully completed.

  75. 10:04:19 SQL> execute dbms_logmnr.start_logmnr(DICTFILENAME => '/opt/app/oracle/utlfile/fac_dict.ora');

  76. PL/SQL procedure successfully completed.

  77. -- 查看分析结果
  78. 10:04:29 SQL> SELECT SCN,OPERATION, SQL_REDO, SQL_UNDO,timestamp FROM V$LOGMNR_CONTENTS WHERE SEG_OWNER='SCOTT' AND SEG_NAME='TT';

  79.        SCN OPERATION
  80. ---------- --------------------------------
  81. SQL_REDO
  82. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  83. SQL_UNDO
  84. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  85. TIMESTAMP
  86. -------------------
  87.     498229 INSERT
  88. insert into "SCOTT"."TT"("ID","NAME") values ('1','1');
  89. delete from "SCOTT"."TT" where "ID" = '1' and "NAME" = '1' and ROWID = 'AAAMB+AAEAAAAGcAAA';
  90. 2012-08-06:10:00:45


  91. 10:05:31 SQL> col sql_redo for a50
  92. 10:05:47 SQL> col sql_undo for a50
  93. 10:05:53 SQL> /

  94.        SCN OPERATION                            SQL_REDO                                               SQL_UNDO                                           TIMESTAMP
  95. ---------- -------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------
  96.     498229 INSERT                            insert into "SCOTT"."TT"("ID","NAME") values ('1', delete from "SCOTT"."TT" where "ID" = '1' and "NAM 2012-08-06:10:00:45
  97.                                             '1');                                               E" = '1' and ROWID = 'AAAMB+AAEAAAAGcAAA';

  98. -- 结果只看到一条数据
复制代码
详细见附件!
[local]sys session[/local]
[local]scott session[/local]

[ 本帖最后由 zhm2815 于 2012-8-6 10:40 编辑 ]

session-scott.txt

901 Bytes, 下载次数: 1166

session-sys.txt

5.04 KB, 下载次数: 1170

2#
发表于 2012-8-6 10:53:34
看看是否设置了附加日志。
select SUPPLEMENTAL_LOG_DATA_MIN,SUPPLEMENTAL_LOG_DATA_PK,SUPPLEMENTAL_LOG_DATA_UI,SUPPLEMENTAL_LOG_DATA_FK,SUPPLEMENTAL_LOG_DATA_ALL from V$database;

回复 只看该作者 道具 举报

3#
发表于 2012-8-6 10:55:46
参考:Effect of Supplemental Logging on LogMiner with Example [ID 750198.1]

回复 只看该作者 道具 举报

4#
发表于 2012-8-6 16:41:03
action plan:

提供以下查询的结果:

select SUPPLEMENTAL_LOG_DATA_MIN from v$database;

回复 只看该作者 道具 举报

5#
发表于 2012-8-14 21:01:48
多谢各位的回复,这个确实是没有开的。

回复 只看该作者 道具 举报

6#
发表于 2013-1-18 13:17:27
附加日志有什么作用?

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-11-16 06:30 , Processed in 0.050911 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569