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
相关文章读者评论发表评论 |