Oracle细碎笔记之存储过程日志记录

Oracle零碎笔记之存储过程日志记录

    在编写存储过程时,一般情况直接调试,或者使用dbms_output.putline等来输出日志信息,便于诊断错误等。

    但在有些时候,上面的方法就不行了。比如某些作为回调而编写的存储过程。
    这时,可以采用oracle提供的utl_file接口,来将调试信息等写入文件,便于后期查看。
 
    基本操作:
    首先创建Oracle目录utl,指定目录位置,也即日志存放目录:
CREATE DIRECTORY utl AS '/home/dev/app/dev/util';
 
    授权:
GRANT EXECUTE ON utl_file TO strmadmin;
    测试:
  declare  
  f_output utl_file.file_type;
begin
 f_output := utl_file.fopen('UTL','log.txt','a',1024);
 utl_file.put_line(f_output, 'hello world.');
 utl_file.fclose(f_output);
end;
 
    执行完成以后,到/home/dev/app/dev/util目录查看日志文件,即可看到存储过程中输出的日志信息。