ITPub博客

捕获ora-报警的trigger

原创 Linux操作系统 作者:cqubityj 时间:2007-12-20 12:03:03 0 删除 编辑
1、建表用来存储捕获的信息
create table ora_error ( msg varchar2(4000) ) tablespace tools;
2、捕获报警的trigger
create or replace trigger grab_info
after servererror on database
declare
  l_sql_text ora_name_list_t;
  l_n        number;
begin
  if ( is_servererror(1652) )
  then
      insert into ora_error values ( 'ora_sysevent = ' || ora_sysevent );
      insert into ora_error values ( 'ora_login_user = ' || ora_login_user );
      insert into ora_error values ( 'ora_server_error = ' || ora_server_error(1) );
      l_n := ora_sql_txt( l_sql_text );
      for i in 1 .. l_n
      loop
          insert into ora_error values ( 'l_sql_text(' || i || ') = ' || l_sql_text(i) );
      end loop;
  end if;
end;
/
根据不同的ora-报警,只需修改is_servererror中的数字即可。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/228190/viewspace-939/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-19

  • 博文量
    133
  • 访问量
    423239