messages报logger: Waiting minutes for filesystem containing crsctl

messages报logger: Waiting  minutes for filesystem containing crsctl
现象:
发现每次REBOOT主机之后CRS启动都非常慢,发现messages有如下信息:
Dec 5 18:20:40 saprac4 logger: Oracle Cluster Ready Services starting up automatically.
Dec 5 18:20:40 saprac4 logger: Waiting 10 minutes for filesystem containing /apps/oracle/11gR2/crs/bin/crsctl.
Dec 5 18:20:54 saprac4 ntpd[4060]: synchronized to LOCAL(0), stratum 10
Dec 5 18:21:40 saprac4 logger: Waiting 9 minutes for filesystem containing /apps/oracle/11gR2/crs/bin/crsctl.
Dec 5 18:22:40 saprac4 logger: Waiting 8 minutes for filesystem containing /apps/oracle/11gR2/crs/bin/crsctl.
Dec 5 18:23:40 saprac4 logger: Waiting 7 minutes for filesystem containing /apps/oracle/11gR2/crs/bin/crsctl.
Dec 5 18:24:40 saprac4 logger: Waiting 6 minutes for filesystem containing /apps/oracle/11gR2/crs/bin/crsctl.
Dec 5 18:25:40 saprac4 logger: Waiting 5 minutes for filesystem containing /apps/oracle/11gR2/crs/bin/crsctl.
Dec 5 18:26:40 saprac4 logger: Waiting 4 minutes for filesystem containing /apps/oracle/11gR2/crs/bin/crsctl.
Dec 5 18:27:40 saprac4 logger: Waiting 3 minutes for filesystem containing /apps/oracle/11gR2/crs/bin/crsctl.
Dec 5 18:28:40 saprac4 logger: Waiting 2 minutes for filesystem containing /apps/oracle/11gR2/crs/bin/crsctl.
Dec 5 18:29:40 saprac4 logger: Waiting 1 minutes for filesystem containing /apps/oracle/11gR2/crs/bin/crsctl.

分析:
该主机之前安装过11GR2(当前11GR1),但安装完成之后未正确卸载,导致有残留的文件,导致会先启动之前的CRS(11GR2),
但/apps文件系统已经被删除,所以messages会一致wait该文件系统的挂载,一直等待时间达到9min之后才启动后安装的CRS(11GR1)。
解决方法:
清楚11GR2残留CRS文件:
#cd /etc/init.d
#mkdir bak
#mv init.ohasd bak
#mv ohasd bak


附:
How to Deconfigure/Reconfigure(Rebuild OCR) or Deinstall Grid Infrastructure

A. Grid Infrastructure Cluster - Entire Cluster
 
Deconfigure and reconfigure entire cluster will rebuild OCR and Voting Disk, user resources (database, instance, service, listener etc) will need to be added back to the cluster manually after reconfigure finishes.
 
Why is deconfigure needed?
 
Deconfigure is needed when:
 ?OCR is corrupted without any good backup
 ?Or GI stack will not come up on any nodes due to missing Oracle Clusterware related files in /etc or /var/opt/oracle, i.e. init.ohasd missing etc. If GI is able to come up on at least one node, refer to next Section "B. Grid Infrastructure Cluster - One or Partial Nodes".
 ?$GRID_HOME should be intact as deconfigure will NOT fix $GRID_HOME corruption
 
Steps to deconfigure
 
Before deconfiguring, collect the following as grid user if possible to generate a list of user resources to be added back to the cluster after reconfigure finishes:
 
$GRID_HOME/bin/crsctl stat res -t
 $GRID_HOME/bin/crsctl stat res -p
 $GRID_HOME/bin/crsctl query css votedisk
 $GRID_HOME/bin/ocrcheck
 $GRID_HOME/bin/oifcfg getif
 $GRID_HOME/bin/srvctl config nodeapps -a
 $GRID_HOME/bin/srvctl config scan
 $GRID_HOME/bin/srvctl config asm -a
 $GRID_HOME/bin/srvctl config listener -l <listener-name> -a
 $DB_HOME/bin/srvctl config database -d <dbname> -a
 $DB_HOME/bin/srvctl config service -d <dbname> -s <service-name> -v
 


To deconfigure:
 ?If OCR and Voting Disks are NOT on ASM, or If OCR and Voting Disks are on ASM but there's NO user data in OCR/Voting Disk ASM diskgroup:
 
On all remote nodes, as root execute:
 
# <$GRID_HOME>/crs/install/rootcrs.pl -deconfig -force -verbose
 
Once the above command finishes on all remote nodes, on local node, as root execute:
 
# <$GRID_HOME>/crs/install/rootcrs.pl -deconfig -force -verbose -lastnode
 
To reconfigure, run $GRID_HOME/crs/config/config.sh, refer to note 1354258.1 for details ?If OCR or Voting Disks are on ASM and there is user data in OCR/Voting Disk ASM diskgroup:
 
?If GI version is 11.2.0.3 AND fix for bug 13058611 and bug 13001955 has been applied, or GI version is 11.2.0.3.2 GI PSU (includes both fixes) or higher:
 
On all remote nodes, as root execute:
 
# <$GRID_HOME>/crs/install/rootcrs.pl -deconfig -force -verbose
 
Once the above command finishes on all remote nodes, on local node, as root execute:

# <$GRID_HOME>/crs/install/rootcrs.pl -deconfig -force -verbose -keepdg -lastnode
 
To reconfigure, run $GRID_HOME/crs/config/config.sh, refer to note 1354258.1 for details
?If fix for bug 13058611 and bug 13001955 has NOT been applied:
 
On all nodes, as root execute:
 
# <$GRID_HOME>/crs/install/rootcrs.pl -deconfig -force -verbose
 

To reconfigure:
 

For 11.2.0.1 - deinstall and reinstall with OCR/Voting Disk on a new ASM diskgroup or supported cluster/network filesystem
 
For 11.2.0.2 and onward - run $GRID_HOME/crs/config/config.sh and place OCR/Voting Disk on a new ASM diskgroup or support cluster/network filesystem. Refer to note 1354258.1 for more details of config.sh/config.bat
 
 
 
B. Grid Infrastructure Cluster - One or Partial Nodes
 
This procedure applies only when all the followings are true:
 ?One or partial nodes are having problem, but one or other nodes are running fine - so there's no need to deconfigure the entire cluster
 ?And GI is a fresh installation (NOT upgrad) without any patch set (interim patch or patch set update(PSU) is fine). A direct patch set installation is considered as a fresh installation regardless how long it has been running, as long as there was no Oracle Clusterware running when it is first installed.
 ?And cluster parameters have not been changed since original configuration, eg: OCR/VD on same location, network configuration has not been changed etc
 ?And $GRID_HOME is intact as deconfigure will NOT fix $GRID_HOME corruption
 ?If any of the above is NOT true, node removal/addition procedure should be used
 
Steps to deconfigure and reconfigure
 
As root, on each problematic node, execute:
 

# <$GRID_HOME>/crs/install/rootcrs.pl -deconfig -force
 # <$GRID_HOME>/root.sh
 
C. Grid Infrastructure Standalone (Oracle Restart)
 
Why is deconfigure needed?
 
Deconfigure is needed when:
 ?OLR is corrupted without any good backup
 ?GI stack will not come up due to missing Oracle Clusterware related files in /etc or /var/opt/oracle, i.e. init.ohasd is missing etc
 ?Nodename needs to be changed
 
Steps to deconfigure
 
Before deconfiguring, collect the following if possible:
 
$GRID_HOME/bin/crsctl stat res -t
 $GRID_HOME/bin/crsctl stat res -p
 $GRID_HOME/bin/srvctl config asm -a
 $GRID_HOME/bin/srvctl config listener -l <listener-name> -a
 $DB_HOME/bin/srvctl config database -d <dbname> -a
 $DB_HOME/bin/srvctl config service -d <dbname> -s <service-name> -v
 


To deconfigure:
 
As root execute:
 

# <$GRID_HOME>/crs/install/roothas.pl -deconfig -force -verbose
 
To reconfigure, refer to note 1354258.1
 


D. Grid Infrastructure Deinstall
 
As grid user, execute:
 
$ <$GRID_HOME>/deinstall/deinstall
 

 For details, refer to the following documentation for your platform:
 
Oracle Grid Infrastructure
 Installation Guide
 
How to Modify or Deinstall Oracle Grid Infrastructure
If there's any error, deconfigure the failed GI with steps in Section A - C, and deinstall manually with note 1364419.1
For searchability: recreate OCR, recreate Voting Disk, rebuild OCR

### 回答1: dlib::logger::global_data::global_data() 372是指dlib库中的logger模块中的全局数据构造函数。在创建logger对象时,会自动调用该构造函数进行初始化。 这个构造函数的主要作用是设置全局数据相关的参数和变量。在第372行,可能是进行某种数据初始化或者赋值操作。 以dlib库为例,该库是一个功能强大的C++工具包,用于开发机器学习和计算机视觉应用。其中的logger模块主要用于日志记录和调试。在构造global_data对象时,可能会初始化一些全局变量,如日志文件路径、日志等级等。 该构造函数的实际代码可能会比较复杂,具体的操作和赋值内容需要查看dlib库的源码才能确定。 ### 回答2: dlib::logger::global_data::global_data() 是dlib库中的一个构造函数。这个构造函数的作用是初始化全局日志数据。 在dlib库中,logger用于记录和输出程序的日志信息。为每个线程维护一个logger范围,可以在开发过程中调试和跟踪代码的执行流程。 该构造函数的编号为372,表示它是dlib::logger::global_data类中的第372个构造函数。 通过调用这个构造函数,可以创建一个全局的logger数据对象。这个全局数据对象将被用作所有线程中日志记录的基础。在全局数据对象的构造函数中,可以进行一些初始化工作,例如获取日志文件路径、设置日志记录级别等。 在dlib库中,全局数据对象是唯一的,它会在程序启动时创建,并在程序结束时销毁。在多线程环境下,全局数据对象提供了线程间共享和同步日志记录的功能。 具体而言,dlib::logger::global_data::global_data()函数的实现会在全局数据对象的构造过程中调用,完成一些全局性的初始化工作,并确保线程间的日志记录操作是安全和同步的。 总而言之,dlib::logger::global_data::global_data() 372这个构造函数的作用是初始化全局日志数据,为dlib库中的日志记录提供线程间共享和同步的功能。 ### 回答3: dlib::logger::global_data::global_data() 是dlib图像处理库中的一个函数。 这个函数的作用是初始化dlib库中的全局数据,为日志系统提供必要的数据结构和配置。在dlib库中,日志系统允许用户在程序中记录信息,便于排查错误和调试。global_data() 函数在程序开始运行时被调用,用于为日志系统做准备工作。 在函数内部,初始化了一些全局变量和数据结构,用于存储日志信息。例如,该函数可能会创建一个全局的日志文件管理器,用于管理写入日志文件的操作。此外,还可能会初始化一些全局配置参数,如日志级别、日志格式等。 函数的返回值为无,即不返回任何数值。 函数命名中的 "372" 可能是指该函数在dlib库的源代码中的行数。通过行号可以方便地在代码中定位该函数的具体位置。 总结来说,dlib::logger::global_data::global_data() 函数是一个用于初始化dlib库中日志系统的函数,它在程序开始时被调用,为日志的记录和管理提供必要的基础数据结构和配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值