Oracle数据库使用logminer查看归档日志

数据库 Oracle
本文通过对一个数据库故障的分析,详细介绍了Oracle数据库使用logminer查看归档日志的方法,希望能够对您有所帮助。

Oracle数据库出现故障,分析后得知是数据库频繁出现归档日志空间不够,导致数据库无法登陆的故障。一查发现原因是归档日志切换频繁,操作系统空间不够。

确定原因:

 

  1. [aix01@oracle]/oracle>df -g  
  2.  
  3. Filesystem GB blocks Free %Used Iused %Iused Mounted on  
  4.  
  5. /dev/hd4 0.50 0.28 44% 13674 17% /  
  6.  
  7. /dev/hd2 3.00 0.67 78% 49208 23% /usr  
  8.  
  9. /dev/hd9var 1.00 0.37 63% 9285 10% /var  
  10.  
  11. /dev/hd3 2.00 1.03 49% 2407 1% /tmp  
  12.  
  13. /dev/fwdump 1.00 0.99 2% 30 1% /var/adm/ras/platform  
  14.  
  15. /dev/hd1 0.25 0.18 28% 465 2% /home  
  16.  
  17. /dev/hd11admin 0.25 0.25 1% 5 1% /admin  
  18.  
  19. /proc - - - - - /proc  
  20.  
  21. /dev/hd10opt 0.50 0.28 44% 10241 14% /opt  
  22.  
  23. /dev/livedump 0.25 0.25 1% 12 1% /var/adm/ras/livedump  
  24.  
  25. /dev/oraclelv 30.00 11.29 63% 161681 6% /oracle  
  26.  
  27. /dev/installlv 15.00 3.38 78% 6478 1% /install  
  28.  
  29. /dev/crslv 10.00 3.35 67% 7807 1% /crs  
  30.  
  31. /dev/wmsapplv 30.00 17.49 42% 15537 1% /wmprod  
  32.  
  33. /dev/archivelv 29.25 29.25 1% 4 1% /arch1  
  34.  
  35. /dev/backuplv 400.00 107.13 74% 306 1% /sysbackup  
  36.  
  37. aix02:arch2 30.25 0.64 99% 3 1% /arch2 

 

可以看到,/arch2里文件系统空间已经达到99%,/arch2是用来存放归档日志的文件系统,进而导致数据库出错。

提出问题:

这下问题来了,/arch2的空间是30G,每天备份脚本都会自动rman备份归档日志,并自动清除归档日志文件,按照正常情况下,数据库不可能一天产生这么大的归档日志量。

如何查询归档日志都是由什么应用产生的,这就是logminer的用途。

使用方法:

-- 1.指定要分析的日志文件

exec sys.dbms_logmnr.add_logfile(logfilename => '/arch2/2_825_733092736.dbf',options => dbms_logmnr.new);

-- 2.使用本地的在线数据字典分析归档日志

exec sys.dbms_logmnr.start_logmnr(options => sys.dbms_logmnr.dict_from_online_catalog);

-- 3.查询分析出来的归档日志内容,例如统计最大修改量的Schema

select seg_owner,count(*) from v$logmnr_contents group by seg_owner;

-- 4.增加别的日志文件

exec sys.dbms_logmnr.add_logfile(logfilename=>'/arch2/2_825_733092736.dbf');

-- 5.结束分析归档日志

exec sys.dbms_logmnr.end_logmnr;

结论:

从上面查询结果可以看出操作量最大的用户是WAS用户,再具体看下v$logmnr_contents可以发现基本修改的内容是一致的。

与开发人员沟通后,最终确认是一个执行update过程存在问题,where条件未正确定位到记录,每执行一次都会导致大规模的修改数据。

关于Oracle数据库使用logminer查看归档日志的方法就介绍到这里了,希望能够给您带来一些收获,谢谢!

【编辑推荐】

  1. Oracle数据库如何定期正确删除archivelog文件
  2. 用一些不常见的SQL语句实现让人意想不到的功能
  3. Oracle数据库基于用户管理的控制文件的备份与恢复
  4. 图解Rational Rose结合SQL Server 2000建立数据库表
  5. 详解Oracle数据货场中三种优化:分区、维度和物化视图

 

责任编辑:赵鹏 来源: ChinaUnix博客
相关推荐

2011-08-19 16:20:14

Oracle数据库查看工具LogMine

2010-04-07 15:22:41

Oracle数据库

2023-03-31 17:33:06

Oracle数据库

2010-11-19 13:28:13

2011-03-28 15:44:45

惠普数据库Oracle数据库

2011-08-01 13:28:09

Oracle归档模式非归档模式

2010-10-29 14:44:35

ORACLE归档日志

2010-10-29 15:07:33

oracle日志

2011-03-23 09:31:26

归档日志文件数据库恢复

2010-04-30 16:34:43

Oracle数据库

2010-04-09 16:40:01

Oracle数据库

2010-10-29 13:34:09

Oracle日志

2010-04-14 16:09:51

Oracle 10g归

2009-11-19 11:28:50

Oracle利用Log

2010-10-28 14:18:01

oracle数据库版本

2010-04-30 16:42:08

Oracle归档模式

2009-11-19 11:12:13

Oracle LogM

2017-06-06 08:10:00

Oracle

2011-08-24 17:08:28

Oracle数据库归档模式

2011-05-24 10:26:12

Oracle数据库日志文件
点赞
收藏

51CTO技术栈公众号