Oracle11g RAC数据库alert日志告警+短信推送方案实现【企业实战应用】

Oracle数据库的alert日志文件,记录了数据库的运行状态,包括数据库的报错信息,如ORA-600等数据库核心事件,数据库资源不足等关键信息,所以平时对该日志文件的关注,是保证数据库稳定运行的重要因素,也是DBA对数据库巡检的重点检查方面!然而alert日志是存在于磁盘目录里,平时检查比较麻烦,而且也不够实时,为了确保对alert日志的及时监控,下面方案通过对数据库alert日志文件映射到数据库表当中,然后通过存储过程的设计+作业调用的形式,定期将报错的alert日志信息推送到短信表当中,从而让维护人

预览截图

应用介绍

前言:

      Oracle数据库的alert日志文件,记录了数据库的运行状态,包括数据库的报错信息,如ORA-600等数据库核心事件,数据库资源不足等关键信息,所以平时对该日志文件的关注,是保证数据库稳定运行的重要因素,也是DBA对数据库巡检的重点检查方面!然而alert日志是存在于磁盘目录里,平时检查比较麻烦,而且也不够实时,为了确保对alert日志的及时监控,下面方案通过对数据库alert日志文件映射到数据库表当中,然后通过存储过程的设计+作业调用的形式,定期将报错的alert日志信息推送到短信表当中,从而让维护人员或DBA及时掌握数据库的动态,及时作出响应处理,保证了数据库的安全稳定!

方案部分内容展示:

  1. 创建alert日志外部表
    首先登录RAC源端的各节点分别执行下列PL/SQL块,创建各节点的ALERT日志外部表,以下以orcl1为例,在ORCL1命令窗口执行:
declare
  path_bdump varchar2(4000);
  name_alert varchar2(4000);
  ins_name varchar2(200);
begin

  select value
    into path_bdump
    from sys.v_$parameter
   where name = 'background_dump_dest';
  select 'alert_' || value || '.log'
    into name_alert
    from sys.v_$parameter
   where name = 'instance_name';

  select value
    into ins_name
    from sys.v_$parameter
   where name = 'instance_number';

  if ins_name = '0' then
    ins_name := '';
  end if;

  execute immediate 'create or replace directory bdump'||ins_name||' as ''' || path_bdump || '''';
  execute immediate 'create table ALERT_LOG_VIEW' || ins_name ||
                    ' (MSG_line varchar2(4000) ) ' ||
                    ' organization external ' || ' (type oracle_loader ' ||
                    ' default directory bdump' || ins_name ||
                    ' access parameters ( ' ||
                    ' records delimited by newline ' || ' nobadfile ' ||
                    ' nologfile ' || ' nodiscardfile ' || ' skip 0 ' ||
                    ' READSIZE 10485760 ' || ' FIELDS LDRTRIM ' ||
                    ' REJECT ROWS WITH ALL NULL FIELDS ' ||
                    ' (MSG_LINE (1:1000) CHAR(1000)) ' || ' ) ' ||
                    ' location (''' || name_alert || ''') )' ||
                    ' reject limit unlimited ' ||
                    ' noparallel nomonitoring ';

end;
/
  1. 创建日志推送存储过程
    在orcl1创建推送日志存储过程,该过程是负责把该节点的alert错误信息推送到ods库的日志表(目前创建在dba_ftc下):
  2. 详情方案请下载源文档方案!

点赞(0) 打赏

立即下载

温馨提示! 你需要支付 ¥2.00 元后才可以下载

Comment list 共有 0 条评论

暂无评论
点击可QQ在线咨询 请致电手机:13926108245
天凯科技-数据库运维服务

天凯科技微信客服

微信扫一扫咨询

立即
投稿
广州天凯科技微信公众号

广州天凯科技微信公众号

微信扫一扫加关注

发表
评论
返回
顶部