oracle 19c rac集群管理 —— 日志管理

oracle 19C rac 数据库的目录结构及日志路径

在Oracle 19c RAC(Real Application Clusters)集群中,有多个组件和层级生成的日志文件,记录着集群的活动、事件和错误信息,用于故障诊断、性能优化和集群管理。以下是常见的Oracle 19c RAC集群日志文件的概述:

  1. Grid Infrastructure日志:
    • crsd.log:Cluster Ready Services(CRS)守护进程的日志文件。记录了集群资源的状态、事件处理和集群管理操作的详细信息。位于$GRID_HOME/log//crs/目录下。
    • ohasd.log:Oracle High Availability Services(OHAS)守护进程的日志文件。记录了OHASD的活动和错误信息,包括节点心跳、资源管理和网络通信等。位于$GRID_HOME/log//crs/目录下。
    • crsctl.log:crsctl命令的执行日志。记录了使用crsctl工具执行的命令、选项和输出。位于$GRID_HOME/log//crs/目录下。
  2. ASM(Automatic Storage Management)日志:
    • asm_<INSTANCE_NAME>.log:ASM实例的日志文件。记录了ASM实例的启动、停止和底层磁盘组操作的信息。位于$GRID_HOME/log//asm/目录下。
    • asm_a<INSTANCE_NAME>.log:ASM进程的日志文件。包含了ASM进程的活动日志和错误信息,如LMD(ASM实例的后台进程)等。位于$GRID_HOME/log//asm/目录下。
  3. 数据库实例日志:
    • alert_.log:数据库实例的警报日志。记录了数据库的启动、关闭和重要事件,以及错误和警告信息。位于$ORACLE_BASE/diag///trace/目录下。
    • _.trc:数据库实例进程的跟踪文件。当进程发生错误时,会生成此文件,包含了有关错误和调试信息。位于$ORACLE_BASE/diag///trace/目录下。
  4. 监听器(Listener)日志:
    • listener.log:监听器的日志文件。记录了连接请求、断开连接和其他网络相关的事件。位于$ORACLE_HOME/network/log/目录下。

Grid Infrastructure(GI),集群软件是搭建RAC的基础,是RAC逻辑层次当中的集群层,是RAC重要的组成部分,同样也是RAC高可用性的保障。GI包含两个最主要的组件:Clusterware集群软件和ASM存储软件。Clusterware是Oracle的集群解决方案,ASM是Oracle的存储解决方案,这两大方案的数据库共同构成了RAC高可用解决方案。
相对于Oracle单实例来说,部署安装和维护GI都增加了难度,尤其在日常的维护和故障处理过程中,各种日志的查看更加重要,本文主要对Oracle 19c 下的目录结构和路径进行介绍和说明。

  1. GI软件的安装目录是

image-20240123213818118

2.GI集群的目录结构:
注:当前目录/u01/app/grid/diag

.
├── afdboot
├── apx
├── asm
│   └── +asm
│       ├── +ASM
│       │   ├── alert
│       │   │   └── log.xml
│       │   ├── cdump
│       │   ├── hm
│       │   ├── incident
│       │   ├── incpkg
│       │   ├── ir
│       │   ├── log
│       │   │   ├── attention
│       │   │   ├── attention.log
│       │   │   ├── ddl
│       │   │   ├── debug
│       │   │   ├── hcs
│       │   │   ├── imdb
│       │   │   └── test
│       │   ├── metadata
│       │   │   ├── ADR_INTERNAL.mif
│       │   ├── metadata_dgif
│       │   ├── metadata_pv
│       │   ├── stage
│       │   ├── sweep
│       │   └── trace
│       │       ├── alert_+ASM.log
│       │       └── cdmp_20220614104538
│       └── i_1.mif
├── asmcmd
│   ├── user_grid
│   │   └── dkf
│   │       ├── alert
│   │       │   └── alert.log
│   │       └── trace
│   └── user_oracle
│       └── dkf
│           ├── alert
│           │   └── alert.log
│           └── trace
├── asmtool
│   └── user_grid
│       └── host_626160142_110
│           ├── alert
│           │   └── log.xml
│           ├── cdump
│           ├── incident
│           ├── incpkg
│           ├── log
│           │   ├── attention
│           │   ├── debug
│           │   └── test
│           ├── metadata
│           ├── metadata_dgif
│           ├── metadata_pv
│           ├── stage
│           ├── sweep
│           └── trace
│               └── alert.log
├── bdsql
├── clients
│   └── user_grid
│       └── host_626160142_110
│           ├── alert
│           │   └── log.xml
│           ├── cdump
│           ├── incident
│           ├── incpkg
│           ├── log
│           │   ├── attention
│           │   ├── debug
│           │   └── test
│           ├── metadata
│           ├── metadata_dgif
│           ├── metadata_pv
│           ├── stage
│           ├── sweep
│           └── trace
│               └── sqlnet.log
├── crs
│   └── dkf
│       └── crs
│           ├── alert
│           │   └── log.xml
│           ├── cdump
│           ├── incident
│           ├── incpkg
│           ├── log
│           │   ├── attention
│           │   ├── debug
│           │   └── test
│           ├── metadata
│           ├── metadata_dgif
│           ├── metadata_pv
│           ├── stage
│           ├── sweep
│           └── trace
│               ├── alert.log
├── diagtool
├── dps
├── em
├── gsm
├── ios
├── kfod
│   └── dkf
│       └── kfod
│           ├── alert
│           │   └── log.xml
│           ├── cdump
│           ├── incident
│           ├── incpkg
│           ├── log
│           │   ├── attention
│           │   ├── debug
│           │   └── test
│           ├── metadata
│           ├── metadata_dgif
│           ├── metadata_pv
│           ├── stage
│           ├── sweep
│           └── trace
│               ├── alert_+ASM.log
│               ├── alert_dkf006.log
├── lsnrctl
├── netcman
├── ofm
├── plsql
├── plsqlapp
├── rdbms
└── tnslsnr
    └── dkf
        └── listener
            ├── alert
            │   └── log.xml
            ├── cdump
            ├── incident
            ├── incpkg
            ├── log
            │   ├── attention
            │   ├── debug
            │   └── test
            ├── metadata
            ├── metadata_dgif
            ├── metadata_pv
            ├── stage
            ├── sweep
            └── trace
                └── listener.log

3.Oracle集群件诊断日志文件存储在diag/目录中,GI中的每个组件在diag/目录中拥有各自的目录:看下跟日志相关的路径如下:

.
├── asm
│   └── +asm
│       ├── +ASM
│       │   ├── alert
│       │   │   └── log.xml
│       │   ├── log
│       │   │   ├── attention
│       │   │   └── attention.log
│       │   └── trace
│       │       ├── alert_+ASM.log
│       │       └── cdmp_20220614104538
│       └── i_1.mif
├── asmcmd
│   ├── user_grid
│   │   └── dkf
│   │       ├── alert
│   │       │   └── alert.log
│   │       └── trace
│   └── user_oracle
│       └── dkf
│           ├── alert
│           │   └── alert.log
│           └── trace
├── asmtool
│   └── user_grid
│       └── host_626160142_110
│           ├── alert
│           │   └── log.xml
│           └── trace
│               └── alert.log
├── clients
│   └── user_grid
│       └── host_626160142_110
│           ├── alert
│           │   └── log.xml
│           └── trace
│               └── sqlnet.log
├── crs
│   └── dkf
│       └── crs
│           ├── alert
│           │   └── log.xml
│           └── trace
│               └── alert.log
├── kfod
│   └── dkf
│       └── kfod
│           ├── alert
│           │   └── log.xml
│           └── trace
│               ├── alert_+ASM.log
│               └── alert_dkf006.log
└── tnslsnr
    └── dkf
        └── listener
            ├── alert
            │   └── log.xml
            └── trace
                └── listener.log

Cluster Ready Services (CRS) 日志是Oracle 19c RAC(Real Application Clusters)集群中用于记录集群资源、事件和管理操作的日志文件。以下是与CRS相关的日志文件:

  1. crsd.log:位于 $GRID_HOME/log//crs/ 目录下,记录了 Cluster Ready Services(CRS)守护进程的活动和事件。这个日志文件中会记录集群资源的状态、资源故障以及处理事件的详细信息。对于故障诊断和集群管理非常有用。
  2. ohasd.log:位于 $GRID_HOME/log//crs/ 目录下,记录了 Oracle High Availability Services(OHAS)守护进程的活动和错误信息。OHASD负责节点心跳、资源管理和网络通信等关键任务,在这个日志文件中可以追踪和诊断集群的各种相关问题。
  3. crsctl.log:位于 $GRID_HOME/log//crs/ 目录下,记录了 crsctl 命令的执行日志。当使用 crsctl 工具执行集群管理命令时,该日志文件会记录命令的执行情况、选项和输出,方便进行调试和分析操作命令的结果。

这些日志文件记录了CRS组件的运行状态、错误和事件信息,对于故障排除、性能优化和集群管理非常重要。通过查看和分析CRS日志,您可以了解集群资源的状态、处理事件的详细信息,以便及时处理和解决集群中的问题。

其中:
在19c中,日志路径发生了非常大的变化,与Oracle集群件相关的调试日志文件存储在/u01/app/grid/diag/crs/dkf/crs/trace目录中。

HAS的日志信息:

路径:

[grid@p19c01:/u01/app/grid/diag/crs/p19c01/crs/trace]$ pwd
/u01/app/grid/diag/crs/p19c01/crs/trace

在这里插入图片描述

OCSSD日志:

路径:

[grid@p19c01:/u01/app/grid/diag/crs/p19c01/crs/trace]$ pwd
/u01/app/grid/diag/crs/p19c01/crs/trace

在这里插入图片描述

EVMD日志:

路径:

[grid@p19c01:/u01/app/grid/diag/crs/p19c01/crs/trace]$ pwd
/u01/app/grid/diag/crs/p19c01/crs/trace

在这里插入图片描述

  1. 对于数据库的日志和ASM的日志,可以使用如下SQL在数据库或ASM实例中查看相应的目录:
select name,value from v$diag_info;
set line 500
set pagesize 500
col name for a30
col value for a100
select name,value from v$diag_info;

在这里插入图片描述

su - grid
sqlplus / as sysasm

4.ASM实例:

在Oracle ASM(Automatic Storage Management)中,有两种类型的日志可以帮助进行故障诊断和性能优化:ASM实例日志和ASM进程日志。下面是关于这两种日志的详细介绍:

  1. ASM实例日志:
    • 日志文件位置:$GRID_HOME/log//asm/
    • asm_<INSTANCE_NAME>.log:该日志文件记录ASM实例的启动、关闭以及底层磁盘组操作的信息。它包含了ASM实例的启动流程、磁盘组的创建、扩展和删除操作,以及其他与ASM实例相关的事件和警告信息。
  2. ASM进程日志:
    • 日志文件位置:$GRID_HOME/log//asm/
    • asm_a<INSTANCE_NAME>.log:ASM进程的日志文件,例如LMD(ASM实例的后台进程)、GMON(ASM守护进程)和ARB(ASM资源代理进程)等。这些日志文件记录了特定ASM进程的活动和错误信息,可以帮助诊断和解决与进程相关的问题。

这些ASM日志文件位于指定的目录下,并根据ASM实例或进程的名称进行命名。通过查看这些日志文件ASM(Automatic Storage Management)在Oracle数据库中负责管理和提供存储的特殊组件,它生成了一系列的日志文件以记录其运行状态和事件。以下是与ASM相关的常见日志文件:

  1. asm_<INSTANCE_NAME>.log:ASM实例的日志文件,记录了ASM实例的启动、关闭和底层磁盘组操作的信息。位于$GRID_HOME/log//asm/目录下。
  2. asm_a<INSTANCE_NAME>.log:ASM进程的日志文件,包含了ASM进程(如LMD、ARB等)的活动日志和错误信息。这些进程在ASM实例中负责执行特定的功能和任务。也位于$GRID_HOME/log//asm/目录下。

这些ASM日志文件记录了ASM实例和相关进程的活动、错误和事件信息,对于故障排查、性能优化和管理ASM非常重要。通过查看日志文件内容,可以了解ASM的运行状况、执行操作的过程以及出现的异常情况。这样有助于诊断和解决与ASM相关的问题,并确保ASM的正常运行和可靠性。

set line 500
set pagesize 500
col name for a30
col value for a100
select name,value from v$diag_info;

在这里插入图片描述

5.其实GI的日志也可以通过adrci工具进行查看:
在grid用户下查看:

[grid@p19c01:/home/grid]$ adrci

ADRCI: Release 19.0.0.0.0 - Production on Tue Jan 23 22:08:31 2024

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

ADR base = "/u01/app/grid"
adrci> show home
ADR Homes:
diag/asm/+asm/+ASM1
diag/crs/p19c01/crs
diag/clients/user_grid/host_1746769204_110
diag/clients/user_root/host_1746769204_110
diag/tnslsnr/p19c01/asmnet1lsnr_asm
diag/tnslsnr/p19c01/listener_scan1
diag/tnslsnr/p19c01/listener
diag/asmcmd/user_grid/p19c01
diag/asmcmd/user_root/p19c01
diag/asmcmd/user_oracle/p19c01
diag/kfod/p19c01/kfod
adrci> show log

Choose the home from which to view diagnostic logs:

1: diag/asm/+asm/+ASM1
2: diag/crs/p19c01/crs
3: diag/clients/user_grid/host_1746769204_110
4: diag/clients/user_root/host_1746769204_110
5: diag/tnslsnr/p19c01/asmnet1lsnr_asm
6: diag/tnslsnr/p19c01/listener_scan1
7: diag/tnslsnr/p19c01/listener
8: diag/asmcmd/user_grid/p19c01
9: diag/asmcmd/user_root/p19c01
10: diag/asmcmd/user_oracle/p19c01
11: diag/kfod/p19c01/kfod
Q: to quit

Please select option:

在这里插入图片描述