Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > This script allows capturing and storing occured errors
【标  题】:This script allows capturing and storing occured errors
【关键字】:This,script,allows,capturing,and,storing,occured,errors
【来  源】:http://blog.csdn.net/jiawancai/archive/2007/01/16/1484437.aspx

This script allows capturing and storing occured errors

Your Ad Here ----------------------------------------------------------------------------------
--- Filename:   log_errors.sql
--- Purpose:    captures all database errors and writes error
---             message and statement to a table alowing  error analysis
---             Oracle9i and above
--- Date:       January 10, 2007
--- Author:     Nake Micev (nake.micev@codex.com.mk)
----------------------------------------------------------------------------------
drop trigger error_capture;
drop table   error_log;

create table ERROR_LOG
(
  TIME_STAMP    DATE not null,
  APP      VARCHAR2(80),
  TERMINAL VARCHAR2(30),
  OS_USER    VARCHAR2(30),
  ORACLE_USER VARCHAR2(30),
  ERROR_TEXT   CLOB,
  STMT_TEXT     CLOB
)
tablespace TOOLS
  pctfree 10
  pctused 40
  initrans 1
  maxtrans 255
  storage
  (
    initial 512K
    minextents 1
    maxextents unlimited
  );


CREATE OR REPLACE TRIGGER ERROR_CAPTURE
AFTER SERVERERROR ON DATABASE
 
DECLARE
v_curr_sid number;
v_sys_time date;
v_terminal varchar2(15);
v_app_name varchar2(80);
v_os_user varchar2(30);
l_err long;
l_stmt long;
l_sql_text ora_name_list_t;
l_n number;
BEGIN

  select  sid into v_curr_sid from v$mystat where  rownum = 1;
  select  sysdate, substr(program, 1, 80), substr(osuser, 1, 30), substr(terminal, 1, 15)
  into v_sys_time, v_app_name, v_os_user, v_terminal from v$session where sid = v_curr_sid;

  l_n := ora_sql_txt(l_sql_text);
  for i in 1 .. l_n
  loop
         l_stmt := l_stmt || l_sql_text(i);
  end loop;
  l_err:=l_err||dbms_utility.format_error_stack;

  insert into error_log values (v_sys_time, v_app_name,v_terminal , v_os_user, user, l_err, l_stmt);

END;
/
 
Oracle PL/SQL语言基础之一:【上一篇】
Database realtime monitoring:【下一篇】
【相关文章】
  • 为 Javascript 数组添加一个 inArray 方法
  • ActionScript 3 Cookbook 中文版
  • 用jscript 实现postback
  • Installing and Starting JDeveloper on Windows
  • FF不支持Cursor:hand的写法的解决方法
  • 在Javascript或者Java当中判断润年【最最简单的】方法
  • 怎样写一个通用的JavaScript效果库!
  • The C++ Standard Library Extensions
  • Learning----Advanced Bash-Scripting Guide
  • Learning----Advanced Bash-Scripting Guide 2
  • 【随机文章】
  • 怎样在UNIX系统下安装MySQL
  • 用纯C写的游戏
  • Atlas UpdatePanel使用技巧以及常见问题
  • php写的发送附件的程序(二)
  • Linux下安装Subversion (版本控制)笔记
  • Informix Online数据库日常管理及维护[共享]
  • mysql远程登录
  • FLTK简介
  • 妙计加快WindowsXP的启动速度
  • 改变Linux系统的启动LOGO
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.