今天在修改了数据库参数后,关闭数据库及crs,然后重新启动了服务器,服务器启动完成之后,发现数据库无法启动,过程如下:
step1:重启数据库
$ su - grid $ srvctl stop database -d {DB_NAME} $ root # cd /grid/11.2.0/grid/bin # ./crsctl stop crs #所有节点执行
step2:重启服务器:
xxxdb1#[/root]reboot
等服务器重启完成,发现crs起不来:
xxxdb1$[/home/grid]crs_stat -t CRS-0184: Cannot communicate with the CRS daemon.
根据以前的经验,服务器起来后5分钟左右,crs即可启动完成。然而等待了15分钟,依然无法启动。
step3:于是请求协助,通过手动启动crs,发现crs启动了。
root # cd $ORACLE_HOME/bin # ./crsctl start crs CRS-4123: Oracle High Availability Services has been started.
经过大概4分钟的等待,数据库的资源起来了,这个过程较久,需要耐心等待
xxxdb1$[/home/grid]crsctl status res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.ARC.dg ONLINE ONLINE xxxdb1 ONLINE ONLINE xxxdb2 ora.DAT.dg ONLINE ONLINE xxxdb1 ONLINE ONLINE xxxdb2 ora.INX.dg ONLINE ONLINE xxxdb1 ONLINE ONLINE xxxdb2 ora.LISTENER.lsnr ONLINE ONLINE xxxdb1 ONLINE ONLINE xxxdb2 ora.OCRVOTE.dg ONLINE ONLINE xxxdb1 ONLINE ONLINE xxxdb2 ora.asm ONLINE ONLINE xxxdb1 Started ONLINE ONLINE xxxdb2 Started ora.gsd OFFLINE OFFLINE xxxdb1 OFFLINE OFFLINE xxxdb2 ora.net1.network ONLINE ONLINE xxxdb1 ONLINE ONLINE xxxdb2 ora.ons ONLINE ONLINE xxxdb1 ONLINE ONLINE xxxdb2 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE xxxdb1 ora.cvu ONLINE OFFLINE ora.xxxdb.db ONLINE ONLINE xxxdb1 shutdown immediate 2 ONLINE ONLINE xxxdb2 shutdown immediate ora.xxxdb1.vip ONLINE ONLINE xxxdb1 ora.xxxdb2.vip
ONLINE ONLINE xxxdb2 ora.oc4j OFFLINE OFFLINE ora.scan1.vip 1 ONLINE ONLINE xxxdb1
step4:启动数据库实例
srvctl start instance -d {oracle_name} -i {instance_name}
到这里,数据库是起来了,为什么开机crs未启动的原因还没找到,经过查看crs自启动参数,发现自启动为不可用(disable)状态
xxxdb1#[/grid/0/grid/bin]./crsctl config has CRS-4622: Oracle High Availability Services autostart is disabled.
将其改为enable:
xxxdb1#[/grid/0/grid/bin]./crsctl enable crs
再次查看:
xxxdb1#[/grid/crsctl config crs CRS-4622: Oracle High Availability Services autostart is enabled.
OK,crs无法自启动的问题解决完成。