捕获ora-报警的trigger
上一篇 /
下一篇 2007-12-20 12:03:03
/ 个人分类:oracle
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中的数字即可。
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG: