eygle.com   eygle.com
eygle.com  
 

« 恩墨科技为某企业提供紧急数据恢复服务 | Blog首页 | 恩墨科技将举行Oracle性能优化与诊断案例培训 »

dbms_system.ksdwrt:向告警日志文件写指定信息

作者:eygle |【转载时请以超链接形式标明文章和作者信息及本声明
链接:
有朋友提问:如何向Oracle的告警日志写入自己指定的信息!
其实Oracle的DBMS_SYSTEM包的KSDWRT过程就可以实现这个功能:

如在SQL*PLUS发出如下命令:
SQL> exec sys.dbms_system.ksdwrt(2, 'ORA-99999 :Just For testing');

PL/SQL procedure successfully completed.

此时在告警日志文件中就会记录如下一行信息:
Tue Jul  7 19:37:46 2009
ORA-99999 :Just For testing

DBMS_SYSTEM包的功能及其强大:
SQL> desc dbms_system
PROCEDURE DIST_TXN_SYNC
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 INST_NUM                       NUMBER                  IN
PROCEDURE GET_ENV
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 VAR                            VARCHAR2                IN
 VAL                            VARCHAR2                OUT
PROCEDURE KCFRMS
PROCEDURE KSDDDT
PROCEDURE KSDFLS
PROCEDURE KSDIND
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 LVL                            BINARY_INTEGER          IN
PROCEDURE KSDWRT
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 DEST                           BINARY_INTEGER          IN
 TST                            VARCHAR2                IN
PROCEDURE READ_EV
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 IEV                            BINARY_INTEGER          IN
 OEV                            BINARY_INTEGER          OUT
PROCEDURE SET_BOOL_PARAM_IN_SESSION
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 SID                            NUMBER                  IN
 SERIAL#                        NUMBER                  IN
 PARNAM                         VARCHAR2                IN
 BVAL                           BOOLEAN                 IN
PROCEDURE SET_EV
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 SI                             BINARY_INTEGER          IN
 SE                             BINARY_INTEGER          IN
 EV                             BINARY_INTEGER          IN
 LE                             BINARY_INTEGER          IN
 NM                             VARCHAR2                IN
PROCEDURE SET_INT_PARAM_IN_SESSION
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 SID                            NUMBER                  IN
 SERIAL#                        NUMBER                  IN
 PARNAM                         VARCHAR2                IN
 INTVAL                         BINARY_INTEGER          IN
PROCEDURE SET_SQL_TRACE_IN_SESSION
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 SID                            NUMBER                  IN
 SERIAL#                        NUMBER                  IN
 SQL_TRACE                      BOOLEAN                 IN
PROCEDURE WAIT_FOR_EVENT
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 EVENT                          VARCHAR2                IN
 EXTENDED_ID                    BINARY_INTEGER          IN
 TIMEOUT                        BINARY_INTEGER          IN

KSDWRT共有两个输入参数,一个用来指定写出的目的地,一个用来指定消息文本:
PROCEDURE KSDWRT
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 DEST                           BINARY_INTEGER          IN
 TST                            VARCHAR2                IN

其中目的地参数有三个选项:
  • 1 - Write to trace file.
  • 2 - Write to alertlog.
  • 3 - Write to both.
较为常见的,在通过触发器屏蔽某些危险操作后,我们可以用这个过程在告警日志中记录提示警告!

-The End-



历史上的今天...
      >> 2008-07-07文章:
             孩子改变世界
      >> 2005-07-07文章:
             瑞典游记-序幕II(关于签证)
             瑞典游记-序幕I
------
这篇 【dbms_system.ksdwrt:向告警日志文件写指定信息】来自 eygle.com | CSDN网摘| del.icio.us|Google订阅 | 鲜果订阅 | 抓虾订阅

By eygle on 2009-07-07 10:11 | Comments (3) | Posted to FAQ | Edit |

相关文章 随机文章
  • xmldom.setCharset无效问题的解决
  • Linux下如何查看文件秒级修改及访问时间
  • 使用Catalog命令注册RMAN备份集
  • 使用dbms_backup_restore修改DBID
  • Using DBMS_SYS_SQL Package to grant Privilege
  • 我的装修以及装修的生意
    Oracle HowTo:如何通过RMAN进行裸设备和文件系统之间的数据文件迁移
    小记《深入解析Oracle》技术交流会
    2008 中国 - 全国人民都在感受地震
    ORA-01599与max_rollback_segments
    搜索本站:

    留言 (3)

    Apress 2007 RMAN Recipes for Oracle Database 11g.pdf

    Posted by: xiaLJ at December 15, 2009 9:45 AM

    这个 Caution 不说明什么,他说,Support不能依赖你写的东西来判断,这是当然的。

    Posted by: eygle Author Profile Page at December 15, 2009 10:49 AM

    今天这个真不错,学习了。

    Posted by: gjhohj at December 15, 2009 11:07 AM

    发表留言:



    Remember Me?
    (输入验证码后方可评论,谢谢支持)



    CopyRight © 2004~2010 eygle.com, All rights reserved.