oracle 报警日志详解

oracle报警日志是一个非常重要的日志,其有两种实现方法:

        1、通过全局表来实现,这种方法有一种缺点,就是在关闭数据库后或者数据库宕机后就不能在使用了

        2、通过外部表来实现,这种方法避免了方法一种的情况。特此以方法二为例进行解析。

创建外部表的过程,

查看日志路径,

--创建目录,此目录是日志存放的目录,oracle在linux和windows系统下有所差别,linux下是$ORACLE_home/sid下,创建目录是为了引用目录里的日志文件

create or replace directory bdump as 'c:appadministratordiag dbmsorclorcl race';

--创建外部表,用来存放日志信息

create table alert_logs
   (
     text  varchar2(2000)
   )
    organization external
   (
        type oracle_loader   --载入日志信息
        default directory bdump  --日志导入的目录
        access parameters
     (
        records delimited by newline  fields  --每条记录分隔标志为每一个新行
        reject rows with all null fields          --去掉所有空行
      )
     location
    (
              'alert_orcl.log'              --装在日志到alert_orcl.log文件,alert_后面必须是实例名才行
    )
   )
   reject limit unlimited;       


 
select * from alert_logs where text like 'ORA-'||'%';

3、扩展,常见错误

ORA-29913: 执行 ODCIEXTTABLEOPEN 调出时出错
ORA-29400: 数据插件错误KUP-00554: error encountered while parsing access

原因可能如下:

a、日志路径写错了   b、日志名字写错了      location
    (
              'alert_orcl.log'
    )

原文地址:https://www.cnblogs.com/wind-man/p/5438415.html