Oracle数据库出现故障,分析后得知是数据库频繁出现归档日志空间不够,导致数据库无法登陆的故障。一查发现原因是归档日志切换频繁,操作系统空间不够。 确定原因:
可以看到,/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查看归档日志的方法就介绍到这里了,希望能够给您带来一些收获,谢谢! 【编辑推荐】
【责任编辑:赵鹏 TEL:(010)68476606】 |
|
来自: 浸心阁 > 《logminer》