教你怎样用Oracle方便地查看报警日志错误
在网上查了几天的资料,尝试综合清除告警日志内容及建外部表的方式来解决这一问题。 一:备份并清除告警日志内容 将每天的告警日志备份好,然后进行清除。 1:备份报警日志 在$ORACLE_HOME/SID/bdump/ 目录下, 2:清除日志内容 打开报警日志文件,用true > 文件名 可清除掉里面的内容 具体示例: --备份文件名称:今天16点24分前的告警日志信息 -清空报警日志 现在告警日志是空的。 则现在alert_orcl2.log记录的是2014年8月11日16点24分后至你下次对报警日志进行备份,截取前的信息。 二:建外部表查看报警日志错误 如果已建立了一个用户,并赋相应的权限,所以直接建立目录对象并建立外部表就可以了。 1.建立目录对象 conn test / 123Connected. SQL> create directory bdump as '/oracle/u01/app/oracle/admin/db2/bdump'; Directory created. 2.建立外部表 create table alert_log( text varchar2(400) )organization external (type oracle_loader default directory bdump access parameters (records delimited by newline )location('alert_db2.log') );3.测试首先查看能否查到alert_db2.log的内容 select * from alert_log where rownum < 10; TEXT -------------------------------------------------------------------------------- Thu Jun 11 00:51:46 2009 Starting ORACLE instance (normal) Cannot determine all dependent dynamic libraries for /proc/self/exe Unable to find dynamic library libocr10.so in search paths RPATH = /ade/aime1_build2101/oracle/has/lib/:/ade/aime1_build2101/oracle/lib/:/a de/aime1_build2101/oracle/has/lib/: LD_LIBRARY_PATH is not set! The default library directories are /lib and /usr/lib Unable to find dynamic library libocrb10.so in search paths Unable to find dynamic library libocrutl10.so in search paths 9 rows selected.测试成功 --假如,你的报警日志文件只包含今天的信息(可以通过备份并清除告警日志内容实现),则通过外部表可以查到当天产生了哪些错误。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |