Oracle日志读取

本文详细介绍了Oracle日志系统,包括联机重做日志和归档日志,重点讲解了LogMiner的安装、数据字典文件创建、日志文件的选择与分析,以及实例应用,帮助理解并掌握如何在Oracle数据库中使用LogMiner进行日志分析。
摘要由CSDN通过智能技术生成

一、Oracle日志

Oracle的日志分为联机重做日志(Onlineredo log)和归档日志(Archivedredolog)。这两类日志记录了每一个数据库事物。也就是说,这些日志文件中保存了自Oracle运行以来所有的数据修改操作,当然也包括所有对数据的DML操作。

一般数据库至少要有2个联机重做日志组。当一个联机重做日志1被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,同时联机重做日志1就会被拷贝到归档目录中进行归档。当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志1,就这样反复进行。

Oracle8i以前并没有提供任何手段可以让用户来分析重要日志中的内容。但所在Oracle8i以后提供了logminer来分析这些日志文件。

二、LogMiner的安装和使用

2.1 LogMiner的安装

运行以下两个脚本:

$ORACLE_HOME/rdbms/admin/dbmslm.sql

$ORACLE_HOME/rdbms/admin/dbmslmd.sql

这两个脚本必须均以SYS用户身份运行。其中第一个脚本用来创建DBMS_LOGMNR包,该包用来分析日志文件。第二个脚本用来创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。

2.2建立数据字典文件

首先在

Oracle日志管理攻略    ORACLE数据库的日志文件$ORACLE_BASE/admin/orasid/bdump/alert_orasid.log记录了重作日志的转换,数据库启动和关闭,数据库结构的改变,回退段的修改,死锁,内部错误等信息.   数据库管理员需要检查这个文件有无ORA-错误并定期地对这个日志文件进行存档整理。   在UNIX下可以用grep命令把alert_orasid.log里出现的错误保存到另一个文件。然后去找原因。   $grep ORA- alert_orasid.log > error.log   大家都知道,文件越大,其打开和读写的开销越大。如果日志文件太大了(超过5M), 需要对它截断处理。   直接删除它,让ORACLE重新生成不是好的方法。因为ORACLE是通过一个指向文件的指针进行写操作。   在数据库运行时删除了这个文件, ORACLE仍然用原来的文件指针进行写操作,有可能写一个不存在的文件导致硬盘空间占用。   我们要采用以下的方法:   $tail -100 $ORACLE_BASE/admin/orasid/bdump/alert_orasid.log > /tmp/oracle_temp.log   $cp /tmp/oracle_temp.log $ORACLE_BASE/admin/orasid/bdump/alert_orasid.log   $rm /tmp/oracle_temp.log   对日志文件进行截断处理。   listener的日志文件$ORACLE_HOME/network/log/listener.log记录了通过listener处理的网络请求信息,它包含客户端请求的时间,连接方式(专用或共享),连接程序,网络协议,主机名,网络端口号等信息。   我们也需要周期地截断它,方法是先停止listener记日志的工作:   $lsnrctl set log_status off   然后进行文件处理( 把原来的日志保存到备份文件夹, 使原来的listener.log置空 )   $cp $ORACLE_HOME/network/log/listener.log $ORACLE_BACKUP/network/log/listener_1.log   $cp /dev/null $ORACLE_HOME/network/log/listener.log   文件操作完成后,打开listener记日志的工作:   $lsnrctl set log_status on   如果你会写简单的shell程序,可以把上面的步骤固化成一个脚本,定一个时间表, 让操作系统去做。   下面是我写的一个按天分割保存listener.log的文件auto_listener.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值