您的位置:首页 > 其它

用外部表的方式查询alert日志文件中ora-错误信息

2013-10-28 09:38 579 查看
1.创建外部表所需的目录对象

BYS@ bys001>create or replace directory alert as '/home/oracle/' ;

Directory created.

BYS@ bys001>col directory_path for a15

BYS@ bys001>col owner for a10

BYS@ bys001>select * from dba_directories where directory_name like 'ALERT';

OWNER      DIRECTORY_NAME                 DIRECTORY_PATH

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

SYS        ALERT                          /home/oracle/

2.创建外部表。

使用Oracle告警日志文件当作数据库的一个外部数据源来访问,我这里是把alert日志复制到了/home/oracle目录下。

然后用外部表的方式抽取alert日志数据,然后使用SQL语句来检索“ora-错误信息”。

create table test_alert(content varchar2(4000))

  organization external

  (type oracle_loader

  default directory alert

  access parameters(

  records delimited by newline

  nobadfile

  nodiscardfile

  nologfile)

  location('alert_bys001.log'));

 

BYS@ bys001>select count(*) from test;

  COUNT(*)

----------

   1280000
3.查询

BYS@ bys001>select * from test_alert where content like '%ORA-%' and rownum<10;

CONTENT

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

ORA-19815: WARNING: db_recovery_file_dest_size of 2147483648 bytes is 85.21% used

ORA-38701: Flashback database log 252 seq 1408 thread 1: "/backup/flashback_area/BYS001/flashback/o1_mf_8zdfsm83_.flb"

ORA-27072: File I/O error

ORA-38701: Flashback database log 252 seq 1409 thread 1: "/backup/flashback_area/BYS001/flashback/o1

_mf_8zdg3d06_.flb"

ORA-27072: File I/O error
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐