Oracle 日志路径查询介绍

本文详细解析了OracleRAC架构中数据库日志的获取方法,包括GI集群管理软件、ASM和Oracle数据库的日志路径。重点介绍了alert、trace和redo日志的作用,以及ocssd、oclsomon、oprocd和evmd进程在检测到异常时引发的数据库重启原因。
摘要由CSDN通过智能技术生成

数据库日志分析详解:
    ORACEL RAC 体系架构分析
    Oracle RAC 包含GI(Grid Infrastructure) 集群软件与Oracle数据库组成。
    GI包含两个最主要的组件:Clusterware集群软件和ASM存储软件,这两个软件提供数据库高可用能力。
    Oracle数据库至少由一个数据库实例和一个数据库文件组成。数据库实例部分处理内存和进程,数据库文件则由数据文件、控制文件、日志文件等组成。

    从集群架构解剖分析日志
    获取GI集群管理软件的日志路径,使用grid 用户登入,执行如下命令:
[grid@db01 ~]$ adrci
ADRCI: Release 19.0.0.0.0 - Production on Wed Aug 16 17:14:12 2023
Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
ADR base = "/u01/app/grid"
adrci> show log
Choose the home from which to view diagnostic logs:
1: diag/asm/+asm/+ASM1
2: diag/crs/db01/crs
3: diag/clients/user_grid/host_2827697755_110
4: diag/clients/user_root/host_2827697755_110
5: diag/tnslsnr/db01/asmnet1lsnr_asm
6: diag/tnslsnr/db01/listener_scan1
7: diag/tnslsnr/db01/listener
8: diag/asmcmd/user_grid/db01
9: diag/asmcmd/user_oracle/db01
10: diag/kfod/db01/kfod

    获取GI 集群asm 的日志路径,使用grid 登入,执行如下命令:
[grid@db01 ~]$ sqlplus / as sysasm
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Aug 16 17:17:55 2023
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle.  All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> set line 500
SQL> set pagesize 500
SQL> col name for a30
SQL> col value for a100    
SQL> select name,value from v$diag_info;
NAME                           VALUE
------------------------------ ----------------------------------------------------------------------------------------------------
Diag Enabled                   TRUE
ADR Base                       /u01/app/grid
ADR Home                       /u01/app/grid/diag/asm/+asm/+ASM1
Diag Trace                     /u01/app/grid/diag/asm/+asm/+ASM1/trace
Diag Alert                     /u01/app/grid/diag/asm/+asm/+ASM1/alert
Diag Incident                  /u01/app/grid/diag/asm/+asm/+ASM1/incident
Diag Cdump                     /u01/app/grid/diag/asm/+asm/+ASM1/cdump
Health Monitor                 /u01/app/grid/diag/asm/+asm/+ASM1/hm
Default Trace File             /u01/app/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_6871.trc
Active Problem Count           0
Active Incident Count          0
ORACLE_HOME                    /u01/app/19c/grid
12 rows selected.

    获取oracle数据库的日志路径,使用oracle 登入,执行如下命令:
[oracle@db01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Aug 16 17:23:25 2023
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle.  All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> set line 500 
SQL> set pagesize 500 
SQL> col name for a30
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/db/db01
Diag Trace                     /u01/app/oracle/diag/rdbms/db/db01/trace
Diag Alert                     /u01/app/oracle/diag/rdbms/db/db01/alert
Diag Incident                  /u01/app/oracle/diag/rdbms/db/db01/incident
Diag Cdump                     /u01/app/oracle/diag/rdbms/db/db01/cdump
Health Monitor                 /u01/app/oracle/diag/rdbms/db/db01/hm
Default Trace File             /u01/app/oracle/diag/rdbms/db/db01/trace/db01_ora_9977.trc
Active Problem Count           0
Active Incident Count          0
ORACLE_HOME                    /u01/app/oracle/product/19c/db

12 rows selected.


    按应用属性分类,主要查看三项日志(alert、trace、redo):
Alert 日志:Alert log files--警报日志。
Trace 日志:主要记录了核心进程运行日志,主要需要关注的进程日志如下:
a)    ohasd变为集群初始化的唯一始点,所有组件的守护进程和集群管理的资源统统被称为资源。
ocssd : 它的主要功能是节点监控(Node Monitoring)和组管理(Group Management),它是CRS的核心进程之一。节点监控是指监控集群中节点的健康状况,监控的方法是通过网络心跳(network heartbeat)和磁盘心跳(disk heartbeat)实现的,如果集群中的节点连续丢失磁盘心跳或网络心跳,该节点就会被从集群中驱逐,也就是节点重启。组管理导致的节点重启,我们称之为node kill escalation。重启需要在指定的时间(reboot time,一般为3秒)内完成。网络心跳: ocssd.bin进程每秒钟向集群中的各个节点通过私网发送网络心跳信息,以确认各个节点是否正常。如果某个节点连续丢失网络心跳达到阀值,misscount(检查数据库心跳超时,默认30s:/oracle/app/19.3.0/grid/bin/crsctl get cssmisscount),集群会通过表决盘进行投票,使丢失网络心跳的节点被主节点驱逐出集群,即节点重启。如果集群只包含2个节点,则会出现脑裂,结果是节点号小的节点存活下来,即使是节点号小的节点存在网络问题。  磁盘心跳:ocssd.bin进程每秒钟都会向所有表决盘(Voting File)注册本节点的状态信息,这个过程叫做磁盘心跳。如果某个节点连续丢失磁盘心跳达到阀值disk timeout(检查数据库IO超时,默认200s:/oracle/app/19.3.0/grid/bin/crsctl get css disktimeout),则该节点会自动重启以保证集群的一致性。另外,CRS只要求[N/2]+1个表决盘可用即可,其中N为表决盘数量,一般为奇数。
b)    oclsomon:这个进程负责监控ocssd是否挂起,如果发现ocssd.bin存在性能问题,则重启该节点。  
c)    oprocd:这个进程只在Linux和Unix系统,并且第三方集群管理软件未安装的情况下才会出现。如果它发现节点挂起,则重启该节点。
d)    evmd:(Event Manager事件管理器):当事情发生时生成事件,生成一个永久的子 evmlogger- Evmlogger,按需生成子级,扫描标注目录并调用标注。作为 Oracle 运行失败时自动重新启动
Redo 日志: 重做日志(记录数据库的更改)。


总结以上日志介绍,从oracle 方面有以下几个原因会触发重启。
    ocssd 进程自检发现网络心跳异常或者磁盘性能延时过高会触发重启。
    oclsomon 监控发现ocssd.bin进程异常会重启。
    oprocd监控到系统异常就重启。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值