专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » oracle自定义函数:如何在Oracle的报警日志添加自定义的消息 »正文

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

来源: 发布时间:星期四, 2009年2月12日 浏览:115次 评论:0



  Oracle把所有主要系统消息都写入Oracle报警日志里要为所有Oracle 系统消息创建唯个存放地点Oracle 专业人士必须学会种思路方法来把应用消息写入到报警日志里去
  
  把所有Oracle消息集中起来(不管是系统消息还是应用消息)确实能够简化数据库管理所有和Oracle相关报警消息都存放在个集中文件里
  
  Oracle DBA可以创建个全局PL/SQL存储过程来处理和报警日志文件交互过程然后他们这个全局软件Software包将合适消息传递给这个存储过程下面是这种个例子:
  
  when others then
  
    dbms_custom.write_alert
  
    (:p_sysdate||\' Application error\'||:var1||\' encountered\');
  
  要完成写过程你可以使用OracleUTL_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 o :alert_loc
  
  from
  
    v$parameter
  
  where
  
    name = \'background_dump_destination\';
  
  -- ******************************************************
  
  -- 设置utl_file_dir
  
  --  (在Oracle9i 以前你必须返回数据库)
  
  -- ******************************************************
  
  alter system 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\');
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: