在Oracle中,如何在Oracle中写操作系统文件,如写日志?
可以利用UTL_FILE包,但是,在此之前,要注意设置好UTL_FILE_DIR初始化参数。
CREATE OR REPLACE PROCEDURE SP_WRITE_LOG(TEXT_CONTEXT VARCHAR2) IS
FILE_HANDLE UTL_FILE.FILE_TYPE;
WRITE_CONTENT VARCHAR2(1024);
WRITE_FILE_NAME VARCHAR2(50);
BEGIN
--open file
WRITE_FILE_NAME := 'db_alert.log';
FILE_HANDLE := UTL_FILE.FOPEN('/u01/logs', WRITE_FILE_NAME, 'a');
WRITE_CONTENT := TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss') || '||' ||TEXT_CONTEXT;
--write file
IF UTL_FILE.IS_OPEN(FILE_HANDLE) THEN
UTL_FILE.PUT_LINE(FILE_HANDLE, WRITE_CONTENT);
END IF;
--close file
UTL_FILE.FCLOSE(FILE_HANDLE);
EXCEPTION
WHEN OTHERS THEN
BEGIN
IF UTL_FILE.IS_OPEN(FILE_HANDLE) THEN
UTL_FILE.FCLOSE(FILE_HANDLE);
END IF;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
END SP_WRITE_LOG;
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:230161599
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。