正文

一:查看警告日志文件的位置

Oracle 12c环境下查询,alert日志并不在bdump目录下,看到网上和书上都写着可以通过初始化参数background_dump_dest来查看alter日志路径,还说警告日志文件的缺省位置是%Oracle_base%\admin\orcl\bdump,其实12c中,上述路径都不是真正存放警告日志的路径。

真是路径是要需要通过v$diag_info视图来查询,为什么呢?

因为在ORACLE 12c中,引入了ADR(Automatic Diagnostic Repository(自动诊断仓库):一个存放数据库诊断日志、跟踪文件的目录,关于ADR对应的目录位置可以通过查看v系统视图。其实中也有

diag_inifo,说是可以直接通过show parameter background_dump_dest来查看警告日志路径,但我没有测试过。

下面我是我本机测试结果,数据库版本的是12.2.0.1

SQL> set linesize 1000;

SQL> col name for  a40;
SQL> col value for a100;
SQL> select name ,value from v$diag_info; NAME VALUE
---------------------------------------- ----------------------------------------------------------------------------------------------------
Diag Enabled TRUE
ADR Base /u01/app/oracle
ADR Home /u01/app/oracle/diag/rdbms/orcl/orcl
Diag Trace /u01/app/oracle/diag/rdbms/orcl/orcl/trace
Diag Alert /u01/app/oracle/diag/rdbms/orcl/orcl/alert
Diag Incident /u01/app/oracle/diag/rdbms/orcl/orcl/incident
Diag Cdump /u01/app/oracle/diag/rdbms/orcl/orcl/cdump
Health Monitor /u01/app/oracle/diag/rdbms/orcl/orcl/hm
Default Trace File /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_28952.trc
Active Problem Count 1
Active Incident Count 1 11 rows selected. SQL>

二:警告日志内容

那么告警日志非常关键与重要,那么告警日志里面包含了那些内容信息呢?告警日志包含了下面一些内容的信息。像一些ORA错误,对于监控数据库有极其重要的作用。

1:所有的内部错误(ORA-600)信息,块损坏错误(ORA-1578)信息,以及死锁错误(ORA-60)信息等。

2:管理操作,例如CREATE、ALTER、DROP语句等,以及数据库启动、关闭以及日志归档的一些信息。

2.1 涉及物理结构的所有操作:例如创建、删除、重命名数据文件与联机重做日志文件的ALTER DATABASE命令,此外还涉及重新分配数据文件大小以及将数据文件联机与脱机的操作。

2.2 表空间操作,例如DROP与CREATE命令,此外还包括为了进行用户管理的备份而将表空间置入和取出热备份模式的操作

3:与共享服务器或调度进程相关功能的消息和错误信息。

4:物化视图的自动刷新过程中出现的错误。

5:动态参数的修改信息。

三:告警日志监控:

既然告警日志如此重要,而我们也不可能随时手工去查看告警日志文件,那么我们就必须监控告警日志,那么监控告警日志有哪些方案呢?下面归纳一下

方案1:

Tom大师给出的一个方案(仅适用于ORACLE 10g),将告警日志文件信息读入全局临时表,然后我们就可以定制一些SQL语句查询告警日志的信息。

但是这又一个问题,如果数据库宕机了的情况下,是无法获取这些错误信息,比方案3(从操作系统监控告警日志)对比,有些特定场景不适用。另外有一定不足之处,就是日志文件比较大的时候,监控告警日志信息比较频繁的时候,会产生不必要的IO操作。

方案2:

通过外部表来查看告警日志文件的内容。相当的方便。然后也是使用定制SQL语句来查询错误信息。

方案3:

查看此文:http://www.cnblogs.com/kerrycode/p/3168662.html

归档告警日志文件

告警日志文件如果不加管理的话,那么文件会持续增长,有时候文件会变得非常大,不利于读写。一般建议将告警日志按天归档,归档文件保留三个月(视情况而定),下面来看看将告警日志文件归档的两个Shell脚本:

其实脚本1和脚本差别不大,仅仅是mv与cat >>的区别

alert_log_archive.sh version 2

然后在crontab定时任务里面加上下面语句,每天23点59对告警日志进行归档。

[oracle@DB-Server scripts]$ crontab -l

# the alert log archived every day                    Add by kerry 2013-07-02

59 23 * * * /home/oracle/scripts/alert_log_archive.sh >/dev/null 2>$1

细心的朋友可能已经发现上面的脚本、配置错误了,我在部署测试的过程中,是指定二十分钟执行一次,但是等了四十分钟,发现定时任务一次都没有执行,手工执行上面脚本是完全没有问题的,最后仔细的检查一遍,居然发现悲剧的发现时自己一时粗心将&符号写成了$,真是很二的一个错误

59 23 * * * /home/oracle/scripts/alert_log_archive.sh >/dev/null 2>$1

59 23 * * * /home/oracle/scripts/alert_log_archive.sh >/dev/null 2>&1

接下来测试发现脚本执行有问题,在crontab 里执行该shell脚本时,获取不到ORACLE的环境变量,这是因为crontab环境变量问题,Crontab的环境默认情况下并不包含系统中当前用户的环境。所以,你需要在shell脚本中添加必要的环境变量的设置,修改的脚本如下:

Oracle12c 数据库 警告日志的更多相关文章

  1. 第十五章:Oracle12c 数据库 警告日志

    一:查看警告日志文件的位置 Oracle 12c环境下查询,alert日志并不在bdump目录下,看到网上和书上都写着可以通过初始化参数background_dump_dest来查看alter日志路径 ...

  2. SQL Server数据库事务日志存储序列

    原文 原文:http://blog.csdn.net/tjvictor/article/details/5251351   如果你的数据库运行在完整或是批量日志恢复模式下,那么你就需要使用作业(job ...

  3. oracle 12c 警告日志位置

    Oracle 12c环境下查询,alert日志并不在bdump目录下,看到网上和书上都写着可以通过初始化参数background_dump_dest来查看alter日志路径,还说警告日志文件的缺省位置 ...

  4. SQL2008R2 收缩数据库问题 - 日志文件不变小

    数据库的日志文件(*.ldf)越来越大,怎么办? 收缩吧.收缩日志文件的操作真不简单哟,还跟数据库的恢复模式有关啊. 一.“简单恢复模式”时的日志收缩 1. 截断日志 当数据库的恢复模式为“简单”的时 ...

  5. Linux如何用脚本监控Oracle发送警告日志ORA-报错发送邮件

    Linux如何用脚本监控Oracle发送警告日志ORA-报错发送邮件 前言 公司有购买的监控软件北塔系统监控,由于购买的版权中只包含了有限台数据库服务器的监控,所以只监控了比较重要的几台服务器. 后边 ...

  6. MySQL 数据库通过日志恢复

    http://blog.csdn.net/hanxin1987216/article/details/5976856 要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名.一般可以从选 ...

  7. 归档—监控ORACLE数据库告警日志

    ORACLE的告警日志里面包含许多有用的信息,尤其是一些ORACLE的ORA错误信息,所以有必要及时归档.监控数据库告警日志的ORA错误,及时提醒数据库管理员DBA处理这些错误信息,那么我们首先来看看 ...

  8. (转)对SQLSERVER数据库事务日志的疑问

    本文转载自桦仔的博客http://www.cnblogs.com/lyhabc/archive/2013/06/10/3130856.html 对SQLSERVER数据库事务日志的疑问 摸不透SQLS ...

  9. 机器数据的价值 - Web 访问日志和数据库审计日志

    计算机数据 大量的数据流,不断增长的来源,蕴含着巨大的价值 在 Splunk,我们大量谈及计算机数据.这些数据是指在数据中心.“物联网”和互联设备世界中运行的所有系统产生的数据.其中包括支撑组织的应用 ...

  10. Linux 查询oracle错误日志&警告日志

    1 通过命令查看错误日志目录:show parameter background_dump_dest /usr/oracle/app/diag/rdbms/orcl/orcl/trace   2 根据 ...

随机推荐

  1. 『AotuHotKey』——一个小巧却高效的实用效率工具

    [!note] 本来主要是想找一下「」和『』,然后这个方法直接可以找到大部分的特殊字符 通过输入法输出 『Ctr + shift + Z』进入搜狗输入法的『符号大全』 在『标点符号』项可以找到「」和『 ...

  2. JMeter 采样器超详细教程

    宝子们,今天咱就来好好唠唠 JMeter 里那些厉害的采样器,让你轻松拿捏性能测试和接口测试! 一.采样器大集合 先给宝子们来个采样器的 "全家福",让你们心里有个底: HTTP ...

  3. vue+element项目部署到线上,所有icon图标不显示,解决方案

    build里边utils.js加publicPath if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, f ...

  4. Android开发快速入门iOS开发概览

    注:本文同步发布于微信公众号:stringwu的互联网杂谈 Android开发快速入门iOS开发概览 1 前言 笔者总结了自己在拥有Android开发的相关基础后入门iOS开发时遇到的点点滴滴给其他想 ...

  5. asp.net core 3.x 通用主机是如何承载asp.net core的-中

    便于理解直接录制视频了 必备知识: 依赖注入.配置系统.选项模式.推荐参考:A大博客 通用主机(参考:https://www.cnblogs.com/jionsoft/p/12154519.html) ...

  6. 微服务实战系列(四)-注册中心springcloud alibaba nacos-copy

    1.场景描述 因要用到微服务,关于注册中心这块,与同事在技术原型上做了讨论,初步定的方案是使用:阿里巴巴的nacos+springcloud gateway,下面表格是同事整理的注册中心对比,以前用的 ...

  7. Overleaf使用技巧

    插入图片 %插入图片% \begin{figure} \centering %居中% \resizebox{0.8\hsize}{!}{\includegraphics[clip=true]{Imag ...

  8. win10 linux子系统的一些想法

    什么是linux子系统 具体的概念网上很多,作为个技术人简单粗暴来说就是微软脑子瓦特,突然爱上了linux, 可以在win10安装linux子系统 子系统不同于虚拟机,但是其优点是安装很快,对于新手和 ...

  9. 为什么UNIX使用init进程启动其他进程?

    为什么UNIX使用init进程启动其他进程? 在UNIX系统中,当系统启动时,内核完成初始化后会启动第一个用户空间进程,通常是init进程.init进程负责启动和管理其他用户空间进程,而内核本身并不直 ...

  10. 登上国际舞台!天翼云P4 EIP网关流量管理创新方案亮相CCGrid 2024!

    5月8日,第24届IEEE/ACM集群.云和互联网计算国际研讨会(CCGrid 2024)在美国费城隆重举行.来自中国.美国.印度.法国等国家的学术及产业界代表齐聚一堂,围绕云计算相关议题进行深入探讨 ...