首页 > 数据库 >Oracle12c 数据库 警告日志

Oracle12c 数据库 警告日志

时间:2024-01-24 11:44:36浏览次数:42  
标签:app diag 数据库 orcl Oracle12c oracle 日志 告警

目录

 

正文

 

回到顶部

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

         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语句查询告警日志的信息。

View Code

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

方案2:

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

 

View Code

 

方案3:

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

 

归档告警日志文件

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

 

View Code

 

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

alert_log_archive.sh version 2

View Code

然后在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脚本中添加必要的环境变量的设置,修改的脚本如下:

标签:app,diag,数据库,orcl,Oracle12c,oracle,日志,告警
From: https://www.cnblogs.com/lcword/p/17984340

相关文章

  • 【产品兼容认证】WhaleStudio 成功兼容TiDB数据库软件
    平凯星辰和白鲸开源宣布成功完成产品兼容认证北京,2023年12月27日-平凯星辰(北京)科技有限公司(以下简称平凯星辰)旗下的TiDB产品与白鲸开源的WhaleStudio已成功完成产品兼容性认证。这一重要合作旨在为全球客户提供更大的价值。关于WhaleStudioWhaleStudio是一款由Apache......
  • 【产品兼容认证】WhaleStudio 成功兼容TiDB数据库软件
    平凯星辰和白鲸开源宣布成功完成产品兼容认证北京,2023年12月27日-平凯星辰(北京)科技有限公司(以下简称平凯星辰)旗下的TiDB产品与白鲸开源的WhaleStudio已成功完成产品兼容性认证。这一重要合作旨在为全球客户提供更大的价值。关于WhaleStudioWhaleStudio是一款由Apache......
  • 元数据数据库 PostgreSQL 改造实践
    元数据数据库是一种强大的关系型数据库管理系统,本文将介绍如何通过改造实践来提高其在元数据数据库中的应用效率。在这个二级标题中,我们将简要介绍元数据数据库的概念和作用,并探讨为什么选择使用PostgreSQL进行改造。随着大数据时代的到来,元数据的管理变得愈发重要,它涉及到数据的描......
  • Oracle 21c-PL/SQL连接远程数据库的方式
    1、方式一:使用’IP:端口‘直接链接2、方式二:配置Oracle数据库连接器(1)打开NetManager(2)配置Oracle数据库服务器信息(3)打开PL/SQL,输入用户名、密码;数据库输入框输入'(2)中第4页配置的服务名'即可......
  • SQL的一些通用语句-数据库和表的创建、删除、查询
    SQL的一些通用语句DDL(数据定义语言)-数据库操作查询查询所有数据库SHOWDATABASES;查询当前数据库SELECTDATABASE();创建CREATEDATABASE[IFNOTEXISTS]数据库名[DEFAULTCHARSET字符集][COLLATE排序规则];[IFNOTEXISTS]为可选项[DEFAULTCHARSET字......
  • 数据库性能优化八大方案
    毫不夸张的说咱们后端工程师,无论在哪家公司,呆在哪个团队,做哪个系统,遇到的第一个让人头疼的问题绝对是数据库性能问题。如果我们有一套成熟的方法论,能让大家快速、准确的去选择出合适的优化方案,我相信能够快速准备解决咱么日常遇到的80%甚至90%的性能问题。从解决问题的角度出发,我......
  • 图数据库Neo4j(最详细教程)
    图数据库Neo4j实战(全网最详细教程)1.图数据库Neo4j介绍1.1什么是图数据库(graphdatabase)​ 随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数据量呈几何级数增......
  • 审计日志
    审计日志按照时间顺序记录了每个用户操作记录,并可以将日志存储在文件或webhook。【注意】会增加api-server内存消耗为k8s管理员提供了:发生了什么?什么时候发生的?谁触发的?活动发生在哪个(些)对象上?在哪观察到的?它从哪触发的?活动的后续处理行为是什么?每个请求都可被记录......
  • 初识数据库
    初识数据库数据库管理系统(DBMS)专注于帮助开发者解决数据存储的问题,这样开发者就可以把主要精力放在实现业务功能上了。业内有很多的的数据库管理系统产品,例如:MySQL,原来是sun公司,后来被甲骨文收购。现在互联网企业几乎都在使用。【免费+收费】Oracle,甲骨文。收费,一般国企、......
  • 数据库缓存策略
    数据库缓存策略以下是数据库与缓存的五种常见策略。1缓存旁路缓存旁路(Cache-Aside)在缓存旁路策略中,数据库缓存位于数据库旁边。当应用程序请求数据时,它会首先检查缓存如果缓存中存在数据(缓存命中),则会直接返回数据如果缓存中没有数据(缓存未命中),则应用程序将查询数据库,然......