由于报警日志文件很大,而每天都应该查看报警日志(查看有无“ORA-”,Error”,“Failed”等出错信息),故想找到一种比较便捷的方法,查看当天报警日志都有哪些错误。

在网上查了几天的资料,尝试综合清除告警日志内容及建外部表的方式来解决这一问题。

一:备份并清除告警日志内容

将每天的告警日志备份好,然后进行清除。

1:备份报警日志

在$ORACLE_HOME/SID/bdump/   目录下,

按日期备份alert_ORACLE_你的实例名.LOG这个文件,如:alert_ORACLE_orcl_201408111639_bak.LOG。

2:清除日志内容

打开报警日志文件,用true > 文件名 可清除掉里面的内容

具体示例:

假如,我现在第一次进行该设置,我先把现有的告警日志进行备份,如:

--备份文件名称:今天16点24分前的告警日志信息

[oracle@rac2 bdump]$ cp alert_orcl2.log alert_orcl2_before_201408111624_bak.log

-清空报警日志

[oracle@rac2 bdump]$ true > alert_orcl2.log

现在告警日志是空的。

切换下归档日志,检查报警日志里是否出现了新内容:

SQL> alter system switch logfile;

System altered.

则现在alert_orcl2.log记录的是2014年8月11日16点24分后至你下次对报警日志进行备份,截取前的信息。

二:建外部表查看报警日志错误

如果已建立了一个用户,并赋相应的权限,所以直接建立目录对象并建立外部表就可以了。

1.建立目录对象SQL> conn test / 123

Connected.

SQL> create directory bdump as '/oracle/u01/app/oracle/admin/db2/bdump';

Directory created.

2.建立外部表SQL> 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的内容

SQL> 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.

测试成功

然后我们测试查报警信息’ORA-%’

SQL> select * from alert_log where text like 'ORA-%';

TEXT

--------------------------------------------------------------------------------

ORA-00202: control file: '/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2

.dbf'

ORA-27037: unable to obtain file status

ORA-205 signalled during: ALTER DATABASE   MOUNT...

ORA-00301: error in adding log file '/home/oracle/oracle/oradata/testdb/redo01.l

og' - file cannot be created

ORA-27040: file create error

ORA-1501 signalled during: CREATE DATABASE db2

ORA-00200: control file could not be created

TEXT

--------------------------------------------------------------------------------

ORA-00202: control file: '/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2

.dbf'

ORA-27038: created file already exists

ORA-1501 signalled during: CREATE DATABASE db2

ORA-00200: control file could not be created

ORA-00202: control file: '/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2

.dbf'

ORA-27038: created file already exists

ORA-1501 signalled during: CREATE DATABASE db2

--假如,你的报警日志文件只包含今天的信息(可以通过备份并清除告警日志内容实现),则通过外部表可以查到当天产生了哪些错误。

--本篇文章参考自:http://blog.csdn.net/lpioneer/article/details/5935533

http://edu.cnzz.cn/200907/654584d4.shtml

Oracle怎样方便地查看报警日志错误的更多相关文章

  1. oracle 报警日志详解

    oracle报警日志是一个非常重要的日志,其有两种实现方法: 1.通过全局表来实现,这种方法有一种缺点,就是在关闭数据库后或者数据库宕机后就不能在使用了 2.通过外部表来实现,这种方法避免了方法一种的 ...

  2. 前段时间,接手一个项目使用的是原始的jdbc作为数据库的访问,发布到服务器上在运行了一段时间之后总是会出现无法访问的情况,登录到服务器,查看tomcat日志发现总是报如下的错误。    Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected est

    前段时间,接手一个项目使用的是原始的jdbc作为数据库的访问,发布到服务器上在运行了一段时间之后总是会出现无法访问的情况,登录到服务器,查看tomcat日志发现总是报如下的错误. Caused by: ...

  3. Oracle DB 查看预警日志

    “Database(数据库)”主页>“Related Links相关链接)”区域> “Alert Log Content (预警日志内容)” 查看预警日志每个数据库都有一个alert_&l ...

  4. Tomcat学习笔记 - 错误日志 - NetBeans配置tomcat出错情况总结 -- 尚未授予访问 Tomcat 服务器的权限。请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用户名和口令。 有关详细信息, 请查看服务器日志。

    错误描述: 发布时控制台出现: 部署错误: 尚未授予访问 Tomcat 服务器的权限.请在服务器管理器的 Tomcat 定制器中设置 "manager-script" 角色的正确用 ...

  5. oracle 11g查看alert日志方法

    一.第一种方法 1.切换到oracle用户 su - oracle 2.进入sqlplus窗口 sqlplus / as sysdba 3.执行sql命令,查看trace文件位置:background ...

  6. Windows平台下Oracle 11g R2监听文件日志过大,造成客户端无法连接的问题处理

    近期部署在生产环境的应用突然无法访问,查看应用日志发现无法获取数据库连接. SystemErr R Caused by: oracle.net.ns.NetException: The Network ...

  7. 拒绝蛮力,高效查看Linux日志文件!

    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介 日常分析问题时,会频繁地查看分析日志,但如果蛮力去查看日志,耗时费力还不一定有效果,因此我总结了在Linux常用的 ...

  8. Linux下查看alert日志文件的两种方法

    --linux下查看alert日志文件的两种方法: --方法1: SQL> show parameter background_dump_dest; NAME TYPE VALUE ------ ...

  9. ABP大型项目实战(2) - 调试与排错 - 日志 - 查看审计日志

    这是<ABP大型项目实战>系列文章的一篇.   项目发布到生产环境后难免会有错误. 那么如何进行调试和排错呢?   我看到俱乐部里有人是直接登陆生产服务器把数据库下载到开发机器进行调试排错 ...

随机推荐

  1. thinkphp 配置

    ThinkPHP框架中所有配置文件的定义格式均采用返回PHP数组的方式,格式为: //项目配置文件 return array( 'DEFAULT_MODULE' => 'Index', //默认 ...

  2. php实现冒泡排序

    冒泡排序是非常容易理解和实现,,以从小到大排序举例:设数组长度为N.1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换.2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最 ...

  3. JQUERY1.9学习笔记 之基本过滤器(二) 等于选择器

    等于选择器 :eq() 描述:选择与设定下标匹配的元素.jQuery( ":eq(index)" )jQuery( ":eq(-index)" ) <!D ...

  4. UICollectionView 讲解-备

    什么是UICollectionView UICollectionView是一种新的数据展示方式,简单来说可以把他理解成多列的UITableView(请一定注意这是UICollectionView的最最 ...

  5. 转:struct sockaddr与struct sockaddr_in ,struct sockaddr_un的区别和联系

    在linux环境下,结构体struct sockaddr在/usr/include/linux/socket.h中定义,具体如下:typedef unsigned short sa_family_t; ...

  6. 转:Keil MDK从未有过的详细使用讲解

    来自:http://blog.csdn.net/zhzht19861011/article/details/5846510 熟悉Keil C 51的朋友对于Keil MDK上手应该比较容易,毕竟界面是 ...

  7. rownum的使用

    Oracle 提供了rownum,rownum是一个隐含的字段,默认从1开始. 取得前5条记录: 采用rownum进行分页查询: 需要使用三层嵌套查询来完成分页查询: 例如查询第三到第四条记录: se ...

  8. Entity Framework with MySQL 学习笔记一(继承)

    基本上sql中要表示继承关系有3中方式. 分别是,1表继承(TPH),2表继承(TPC),3表继承(TPT) 1表 : Person id type name classroom office 1 s ...

  9. poj2955:括号匹配,区间dp

    题目大意: 给一个由,(,),[,]组成的字符串,其中(),[]可以匹配,求最大匹配数 题解:区间dp: dp[i][j]表示区间 [i,j]中的最大匹配数 初始状态 dp[i][i+1]=(i,i+ ...

  10. 简单javaEE思维导图