技术开发 频道

log buffer及日志管理深入分析及性能调整(一)


1.3 转储log buffer
oracle对很多内存结构都提供了转储到平面文件的功能,但是并没有直接提供转储日志缓冲区的功能。但是提供了转储日志文件的功能。我们前面已经知道,日志文件的内容就是日志缓冲区的完全拷贝,因此,转储日志文件就等于转储了日志缓冲区。
转储日志文件的命令为:
  alter system dump logfile 'logfilename';
我们的实验过程如下。首先找到当前状态为CURRENT的日志文件是哪一个,以及它的全路径。
SQL> select group#,status from v$log; GROUP# STATUS ---------- ---------------- 1 INACTIVE 2 INACTIVE 3 CURRENT SQL> select member from v$logfile where group#=3; MEMBER -------------------------------------------------------------------------------- /oracle/oradata/ora10g/redo03.log
然后,找到我们的redo_test表的object id,并进行更新操作。 
SQL> desc redo_test Name Null? Type ----------------------------------------- -------- ---------------------------- ID NUMBER NAME VARCHAR2(10) SQL> select object_id from user_objects where object_name='REDO_TEST'; OBJECT_ID ---------- 51367 SQL> select * from redo_test; ID NAME ---------- ---------- 1 abc 2 abc SQL> update redo_test set name='cdf' where id=1; SQL> commit;
最后,我们转储出当前使用的日志文件。
SQL> alter system dump logfile '/oracle/oradata/ora10g/redo03.log';
打开生成的跟踪文件,从中找到含有51367(表redo_test的object id)的所有相关记录,如下图所示。
 
0
相关文章