DBA之路---oracle故障诊断框架ADR

ADR故障诊断架构-11g后引入

ADR架构由11g版本引入,用于防止、检测、诊断用以解决数据库bug或者崩溃等问题。对于备份和恢复操作,无论是否使用rman。架构中用以展示得信息都能用来为我们解决错误提供捷径。

ADR实际部署在数据库外部目录结构,所以当数据库关闭时是可以用于问题诊断得

**对于c版本中,**虽然产生了CDB和PDB容器概念,但作为根容器的CDB$ROOT的ADR会存储所有PDB的ADR错误日志,PDB的专有目录并不会记录产生的错误内容。排查时只需要参考CDB内容即可,ADR目录也不会对PDB做进一步命名区分

diagnostic_dest #该参数用于定义adr根目录,默认情况下都处于$oracle_base参数指定的位置,即oracle的根目录下。如果$oracle_base没有指定,则会指定为$oracle_home的参数位置

如果数据库$oracle_base参数内容为/u01/oracle,数据库实例名为mydb,则ADR实际目录结构为/u01/oracle/diag/rdbms/mydb

ADR基础目录架构

#依照具体配置不同,ADR可能会创建其他子目录或者会自动清楚诊断数据,这里只讲解主要常见目录
  alert #为cml格式警报日志位置
  cdump #数据库核心转储位置
  trace #oracle系统生成得跟踪文件和警报日志文本副本
  incident #事件打包存储位置,每个子目录都对应一个事件
#以上内容都可通过 v$diag_info视图查询到,该视图用于展示所有adr排查所需要得内容


#ADR_base
默认情况下ADR_base都处于 $oracle_base/diag目录下,目前先默认ADR_base=$oracle_base/diag
 #针对不同实例情况,ADR目录略有不同,但归根到底时按照下面方式命名
  ADR_base/rdbms/db_unique_name/sid
  #此为ADR根目录得模板,db_unique_name  
  #举例
  ADR_base/rdbms/实例名/实例名 #针对数据库唯一名称和sid都相同得情况
  ADR_base/asm/+asm/+asm #针对单实例得asm实例情况
  ADR_base/rdbms/db_unique_name/sid #

ADR基础构件

  • 自动诊断存储库ADR

    ADR常用下面四个排查日志进行问题处理

    • 数据库警报日志

      记录数据库中所有重要事件,启动关闭、故障以及用于诊断数据库问题的信息。

    • DDL日志

      c版本新引进日志,记录所有DDL事件,使用前需要先开启参数

      enable_ddl_logging为true

      show parameter enable_ddl_logging;
      alter system set enable_ddl_logging=true;
      
    • 调试日志

      c版本新引进日志,记录数据库中不正常但是缺不影响数据库自身状态的时间,g版本以前这些是存放在警报日志中的

    • 跟踪文件trace

      跟踪文件时排查故障的重要工具,可以用来分析和查看给定数据库目前在做什么,过去做了什么。该文件可以用来调整数据库性能

  • 事件打包服务IPS

    用于收集存储打包ADR获取到的诊断信息,并确定oracle需要那些文件来诊断问题,完成后会打包一个压缩包存放在ADR处

  • SQL test case builder

    创建测试用例,依照给定问题内容创建问题重建信息

  • 警报日志及支持故障诊断得各种视图

    v$dia_info #得出日志位置 重要
    #该视图用于提供各种有关ADR的信息,c版本后提供总计11种特定的信息片段当前存在问题、事件数量、不同ADR组件的各种诊断目录位置,ADR基本位置以及是否启用ADR
    
    dba_outstanding_alerts 
    #用以查看当前处于活动状态的任意警报,基本上会存储所有报警内容,但是c版本后不影响当前数据库状态的报警不会再这里出现
    
    v$diag_critical_error;#呈现ORA等在内的重要报错,附带自动事件包
    
    v$database_block_corruption#呈现受损的数据块,执行块级介质恢复视图非常有用
    
    v$corrupt_xid_list#呈现受损的撤销段
    #撤销段受损一般都是由事务造成的。如果oracle尝试的自动修复没有左右,则将对应信息插入到此视图
    
    V$HM_RUN #用于呈现历史进行过的健康检查和运行状态
    
  • 跟踪文件、转储文件和核心文件

  • DDL及调试日志

  • ADRCI命令行工具

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值