RAC Debug开关修改工具
Oracle RAC是一个比较复杂的东西,拥有众多进程和组件,每个进程都会写入自己的日志文件。
对于这些日志文件,有一些开关,可以控制写入信息的详细程度,这些开关,在Oracle文档光盘里面并未提供,要修改这些开关,大致有三种方法:
一、通过配置文件来修改
二、通过环境变量来修改
三、通过为每个组件设置debug等级来修改
以下介绍每一种和第三种方法,附件的脚本,是将第三种方法做了自动化,只需要按照以下方法使用,即可完成debug开关的修改:
perl crs_debug_level.pl level=1
要禁用debug模式,则设置level为0:
perl crs_debug_level.pl level=0
推荐将level设置为1,最高可设置为5,但是设置得太高,输出的信息太多,而且基本上我们也看不懂,只有ORACLE专门做研发和测试的部门才能看懂。
因此,在诊断RAC问题时,建议使用附件的工具,来设置日志文件的debug等级,这样,我们能够看到更详细的日志,更加有利于快速定位问题。
以下是方法介绍:
方法一:通过配置文件来修改
1、vi $ CRS_HOME/bin/racgvip
将
# _USR_ORA_DEBUG=1
修改为
_USR_ORA_DEBUG=1
2、vi $CRS_HOME/bin/racgwrap
将
#_USR_ORA_DEBUG=1 && export _USR_ORA_DEBUG
修改为
_USR_ORA_DEBUG=1 && export _USR_ORA_DEBUG
3、修改$ORACLE _HOME/bin/racgwrap
将
#_USR_ORA_DEBUG=1 && export _USR_ORA_DEBUG
修改为
_USR_ORA_DEBUG=1 && export _USR_ORA_DEBUG
方法三:为每个组件设置debug 等级
1、crsctl lsmodules css
CSSD
COMMCRS
COMMNS
2、crsctl lsmodules crs
CRSUI
CRSCOMM
CRSRTI
CRSMAIN
CRSPLACE
CRSAPP
CRSRES
CRSOCR
CRSTIMER
CRSEVT
CRSD
CLUCLS
CSSCLNT
COMMCRS
COMMNS
3、crsctl lsmodules evm
EVMD
EVMDMAIN
EVMDCOMM
EVMEVT
EVMAPP
EVMAGENT
CRSOCR
CLUCLS
CSSCLNT
COMMCRS
COMMNS
4、对以上输出,分别执行命令:
crsctl debug log <component> <module>:<level>{,<module>:<level>]
如:crsctl debug log crs "CRSCOMM:2"
由于以上操作有规律可循,因此用附件的脚本,可以轻易完成这项工作。