Oracle Real Application Clusters(Oracle RAC),相对于Oracle单实例来说部署安装和维护都增加了难度,尤其在日常的维护和故障处理过程中,各种日志的查看更加重要,本文主要对Oracle 11g 集群下的目录结构和路径进行介绍和说明。

  以下是集群目录下日志结构,以及对应目录的功能说明,对排查问题尤其重要。

[grid@dbrac1 dbrac1]$ tree -d
.
├── acfslog
├── acfsrepl
├── acfsreplroot
├── acfssec
├── admin
├── agent <==========包含CRSD和OHASD守护进程的oraagent、orarootagent、oracssdagent和oracssdmonitor的跟踪及诊断日志文件
│ ├── crsd
│ │ ├── application_root
│ │ ├── oraagent_grid
│ │ ├── oraagent_oracle
│ │ ├── orarootagent_root
│ │ └── scriptagent_grid
│ └── ohasd
│ ├── oraagent_grid
│ ├── oracssdagent_root
│ ├── oracssdmonitor_root
│ └── orarootagent_root
├── client <==========包含各种GI客户端(如CLSCFG/GPNP/OCRCONFIG/OLSNODES/OIFCFG)的跟踪和诊断日志。
├── crflogd <==========包含由Oracle集群健康监控器(Oracle CHM)提供的集群记录器服务记录的跟踪和诊断日志文件。
├── crfmond <==========包含由Oracle集群健康监控器(Oracle CHM)提供的系统监控服务记录的跟踪和诊断日志文件。
├── crsd <==========包含Oracle CRSD守护进程的跟踪和诊断日志文件,在发生任何Oracle集群件问题时,从该目录开始着手处理是很不错的起点
├── cssd <==========包含集群同步CSS日志,其中包括来自客户端CSS侦听器的操作
├── ctssd <==========包含用于排除Oracle集群时间同步服务故障的调试日志文件,这一服务在Oracle GI中引入,用于同步集群节点上的时钟。
├── cvu <==========包含由Oracle集群验证实用工具生成的跟踪和调试日志
│ ├── cvulog
│ └── cvutrc
├── diskmon <==========用于排除Oracle磁盘监控器守护进程故障的调试日志文件。
├── evmd <==========包含事件卷管理器(EVM)和evmlogger守护进程的跟踪及诊断文件。它在调试中使用频率要低于crsd和cssd目录。
├── gipcd <==========包含用于排除Oracle网格进程间通信守住程序进程故障的调试和跟踪文件。
├── gnsd <==========包含用于排除Oracle网格命名服务相关问题的跟踪和调试日志文件,这一服务是在Oracle GI中引入的。
├── gpnpd <==========包含Oracle网格即插即用守护进程的日志和输出文件。
├── mdnsd <==========包含用于排除多播域名服务故障的跟踪和诊断日志文件。Oracle网格命名服务使用这一服务来管理名称解析和服务发现。
├── ohasd <==========包含Oracle高可用性服务守护进程的日志和输出文件。ohasd日志文件是对于Oracle11g以及更高版本中诊断集群启动问题是真正重要的文件
├── racg <==========包括各个Oracle RACG可执行文件中跟踪和调试日志
│ ├── racgeut
│ ├── racgevtf
│ └── racgmain
└── srvm <==========包含Oracle服务器管理器服务的日志文件 38 directories
[grid@dbrac1 dbrac1]$ pwd
/u01/app/11.2.0/grid/log/dbrac1

除以上目录外,/u01/app/11.2.0/grid/log/dbrac1/alertdbrac1.log日志也相当重要,出问题第一个需要查看的目录。

  介绍完集群的日志后,下面说一则案例,关于客户集群单节点服务器重启,日志查看顺序。与客户沟通确认,大概下午3点左右重启。

  1、查看系统日志,排查重启时间,确实14:51:38,系统日志开始清理集群进程,并重启了系统,但是谁发起了本次请求,还需要进一步查看集群日志

  思考:1、集群仲裁会发生节点重启(引起仲裁的机制较多)

     2、服务器级别故障

3、其他未知原因 

2、检查集群日志的alert,/u01/app/11.2.0/grid/log/dbrac1/alertdbrac1.log,在14:52:04时,接收到agent的关集群命令开始关闭相关进程,在这个日志暂时没有发现异常错误。

    3、排查/u01/app/11.2.0/grid/log/dbrac1/agent目录下的相关日志,agent有两个目录crsd、ohasd,先排查crsd下日志,发现类似消息,均为接收到关闭集群的请求,未发现异常的报错信息,如此看来,需要进一步查看ohasd目录下日志。

    4、通过对/u01/app/11.2.0/grid/log/dbrac1/agent/ohasd目录下的日志进行排查,在oracssdmonitor_root日志中发现如下异常,大致异常是存储链接中断,不可用,这就是集群重启的首要因素,通知客户检查自己的光纤链路情况。

   至此,问题得以解决。

Oracle RAC服务器重启故障排查的更多相关文章

  1. Oracle RAC 服务器端连接负载均衡(Load Balance)

    Oracle RAC服务器端的负载均衡是根据RAC中各节点的连接负荷数情况,将新的连接请求分配到负荷最小的节点上去.当数据库处于运行时,RAC中各节点的PMON进程每3秒会将各自节点的连接负荷数更新到 ...

  2. [troubleshoot][daily][redhat] 设备反复重启故障排查

    一台服务器设备,反复重启,每天重启数次. 一: 原因分析及初步排异. 1.  硬件,内存主板,一一更换,甚至除了硬盘将整台机器都换掉了,依然重启. 2.  排除电源问题,换了电源线,换了插座,还是重启 ...

  3. 记录一次MySQL进程崩溃,无法重启故障排查

    最近程序在跑着没几天,突然访问不了,查看应用进程都还在.只有数据库的进程down掉了.于是找到日志文件看到如下错误 -- :: [Note] InnoDB: Initializing buffer p ...

  4. Oracle RAC 环境下的 v$log v$logfile

    通常情况下,在Oracle RAC 环境中,v$视图可查询到你所连接实例的相关信息,而gv$视图则包含所有实例的信息.然而在RAC环境中,当我们查询v$log视图时说按照常理的话,v$log视图应当看 ...

  5. Oracle RAC 负载均衡测试(结合服务器端与客户端)

    Oracle RAC 负载均衡使得从客户端发起的连接能够有效地分配到监听器负载较小的实例上.有两种方式实现客户端负载均衡,一是通过配置客户端的load_balance,一是通过配置服务器端的remot ...

  6. 解决oracle服务器重启之后连接报错的问题

    DB服务器重启之后再连接报错如下: 原因是重启之后listener.ora被还原成初始文件,sid被清空. 解决步骤: 1.查看监听服务和数据库服务: 由此找到listener.ora文件的路径:D: ...

  7. Oracle RAC中的一台机器重启以后无法接入集群

          前天有个同事说有套AIX RAC的其中一台服务器重启了操作系统以后,集群资源CSSD的资源一直都在START的状态,检查日志输出有如下内容: [    CSSD][1286]clssnmv ...

  8. Atitit.播放系统的选片服务器,包厢记时系统 的说明,教程,维护,故障排查手册p825

    Atitit.播放系统的选片服务器,包厢记时系统 的说明,教程,维护,故障排查手册p825 1. 播放系统服务器方面的维护2 1.1. 默认情况下,已经在系统的启动目录下增加了俩个启动项目2 1.2. ...

  9. CentOS服务器上搭建Gitlab安装步骤、中文汉化详细步骤、日常管理以及异常故障排查

    一, 服务器快速搭建gitlab方法 可以参考gitlab中文社区 的教程centos7安装gitlab:https://www.gitlab.cc/downloads/#centos7centos6 ...

随机推荐

  1. tensorflow在文本处理中的使用——Word2Vec预测

    代码来源于:tensorflow机器学习实战指南(曾益强 译,2017年9月)——第七章:自然语言处理 代码地址:https://github.com/nfmcclure/tensorflow-coo ...

  2. ReentrantReadWriteLock 可重入的读写锁

    可重入:就是同一个线程可以重复加锁,可以对同一个锁加多次,每次释放的时候会释放一次锁,直到该线程加锁次数为0,这个线程才释放锁. 读写锁: 也就是读锁可以共享,多个线程可以同时拥有读锁,但是写锁却只能 ...

  3. 2019牛客暑期多校训练营(第二场)F.Partition problem

    链接:https://ac.nowcoder.com/acm/contest/882/F来源:牛客网 Given 2N people, you need to assign each of them ...

  4. Trendalyzer is an information visualization software

    Trendalyzer is an information visualization software for animation of statistics that was initially ...

  5. Java面向对象程序设计第14章3-8和第15章6

    Java面向对象程序设计第14章3-8和第15章6 3.完成下面方法中的代码,要求建立一个缓冲区,将字节输入流中的内容转为字符串. import java.io.*; public class tes ...

  6. java中List 和 Set 的区别

    a. 特性 两个接口都是继承自Collection​,是常用来存放数据项的集合,主要区别如下:      ① List和Set之间很重要的一个区别是是否允许重复元素的存在,在List中允许插入重复的元 ...

  7. java后台防止sql注入的方法

    1.采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setString方法传值即可: String sql= "select * from users where usernam ...

  8. Z字形变换 leetcode 6

    一.按行存储 1.解题思路 1.通过当前行的不断上下循环移动 2.将字符按序存放入vector中 3.最后再按行取出 2.代码及注释 class Solution { public: string c ...

  9. Android Drawable - Shape Drawable使用详解(附图)

    TIPS shape图形 –简单介绍 shape图形 –如何画? shape图形 –参数详细解析 shape图形 –如何用? shape图形 –实际开发应用场景 shape图形简单介绍 用xml实现一 ...

  10. Python学习3月10号【python编程 从入门到实践】---》笔记

    第11章 测试代码 11.1.2 可通过的测试 name_function.py ###创建一个简单的函数,他接受名和性并返回整洁的姓名 def get_formatted_name(first,la ...