网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle9i到10g,空闲等待事件的变.
.Oracle9i初始化参数中文说明11.
.RedHat Linux7.2 上 Oracle 8i R.
.Oracle数据库连接池下如何跟踪终.
.优化数据库的三板斧 大幅提高Ora.
.SSH进阶(二):FTP转发.
.查找bad sql的方法.
.从MySQL到ORACLE程序迁移的注意事.
.Oracle9i初始化参数中文说明(7).
.Oracle回滚表空间数据文件误删除.
.Oracle的自动数据库诊断监控程序.
.优化Oracle数据 获取角斗士般的性.
.ORACLE在HP-UX下的系列问题处理(.
.解析Oracle 8i/9i的计划稳定性.
.感受“酷”的力量.
.SQL语句性能调整(1).
.一个优秀的分析trace文件的脚本.
.Oracle调优与深入之灌水篇.
.讲解删除部分控制文件后的数据库.
.ORACLE常用傻瓜問題1000問(之五).

如何在Oracle的报警日志添加自定义的消息

发表日期:2008-2-9



  Oracle把所有的主要系统消息都写入Oracle报警日志里。要为所有的Oracle 系统消息创建唯一的一个存放地点,Oracle 专业人士必须学会一种方法来把应用程序的消息写入到报警日志里去。
  
  把所有的Oracle消息集中起来(不管是系统消息还是应用程序消息)确实能够简化数据库的治理,因为所有与Oracle相关的报警消息都存放在一个集中的文件里。
  
  Oracle DBA可以创建一个全局的PL/SQL存储过程来处理与报警日志文件的交互过程,然后他们调用这个全局软件包,将合适的消息传递给这个存储过程。下面是这种调用的一个例子:
  
  when others then
  
    dbms_custom.write_alert
  
    (:p_sysdate' Application error':var1' encountered');
  
  要完成写的过程,你可以使用Oracle的UTL_FILE 包,它答应Oracle SQL 和PL/SQL 直接从服务器的文本文件进行读写。
  
  要向Oracle 报警日志写入自定义的消息,应该遵循下面的步骤:
  
  1.     找到后台转储路径(报警日志的位置)。
  
  2.     设置UTL_FILE_DIR 初始化参数。
  
  3.     执行UTL_FILE.FOPEN打开文件进行写访问。
  
  4.     使用DBMS_OUTPUT.PUT_LINE向报警日志写入自定义的消息。
  
  5.     执行UTL_FILE.FCLOSE来关闭文件。
  
  下面是一个Oracle9i的程序例子:
  
  -- ******************************************************
  
  -- 取得报警日志文件的路径
  
  -- ******************************************************
  
  select
  
    name into :alert_loc
  
  from
  
    v$parameter
  
  where
  
    name = 'background_dump_destination';
  
  -- ******************************************************
  
  -- 设置utl_file_dir
  
  --  (在Oracle9i 以前,你必须返回数据库)
  
  -- ******************************************************
  
  alter system set utl_file_dir = ':alert_log');
  
  -- ******************************************************
  
  -- 打开报警文件进行写操作
  
  -- ******************************************************
  
  utl_file.fopen(':alert_loc','alertprod.log','W');
  
  -- ******************************************************
  
  -- 将自定义的消息写入报警日志文件里
  
  -- ******************************************************
  
  dbms_output.put_line('invalid_application_error');
  
  -- ******************************************************
  
  -- 关闭报警日志文件
  
  -- ******************************************************
  
  utl_file.fclose(':alert_loc');
上一篇:实现数据仓库的upsert 人气:591
下一篇:Oracle 10G 最佳20位新特性:回滚监视 人气:622
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐