重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛
标题:
Oracle RAC自启动
[打印本页]
作者:
jiawang
时间:
2025-6-29 21:19
标题:
Oracle RAC自启动
一:CRS自启动
默认情况下,crs是随着系统启动自动启动的。
查看版本
[root@rac01 bin]# ./crsctl query crs softwareversion
Oracle Clusterware version on node [rac01] is [11.2.0.4.0]
启动自启动(默认)
[root@rac01 bin]# ./crsctl enable crs
CRS-4622: Oracle High Availability Services autostart is enabled.
查看
[root@rac01 bin]# cat etc/oracle/scls_scr/rac01/root/ohasdstr
enable
禁用自启动
[root@rac01 ./crsctl disable crs
CRS-4621: Oracle High Availability Services autostart is disabled.
查看
[root@rac01 bin]# cat etc/oracle/scls_scr/rac01/root/ohasdstr
disable
二:实例自启动
默认情况下,AUTO_START值为restore。
2.1 AUTO_START=restore
其中restore表示还原、恢复的含义,即将实例状态恢复到crs停止前的状态。
(1)如果crs停止前,手动通过sqlplus或srvctl停止了实例,那么在crs重启后,实例不会跟着自动启动。
(2)如果crs停止前,实例处于open状态,那么重启crs(或操作系统重启),实例会跟着crs启动而启动。
注意:在没有停止实例前直接停止crs,实例是以abort方式停止的[Shutting down instance (abort)]
2.2 AUTO_START=always
将AUTO_START由restore改成always后,无论crs停止前实例是open还是close状态,实例都会跟着crs启动而启动。
2.1 AUTO_START=restore
测试AUTO_START=restore下,实例启动情况。
查看数据库信息
[root@rac01 bin]# ./crsctl start crs
[root@rac01 bin]# ./srvctl config database
cjcdb
[root@rac01 bin]# ./srvctl status database -d cjcdb
Instance cjcdb1 is running on node rac01
Instance cjcdb2 is running on node rac02
默认AUTO_START=restore
[root@rac01 bin]# ./crsctl stat res ora.cjcdb.db -p|grep AUTO_START
AUTO_START=restore
测试:启动crs,实例没有自动启动(srvctl停库)
[root@rac01 bin]# ./crsctl stat res ora.cjcdb.db -p|grep AUTO_START
AUTO_START=restore
[root@rac02 bin]# ./crsctl stat res ora.cjcdb.db -p|grep AUTO_START
AUTO_START=restore
手动停止实例
[root@rac01 bin]# ./srvctl stop database -d cjcdb
###[root@rac01 bin]# ./srvctl stop instance -d cjcdb -i cjcdb1
[root@rac01 bin]# ./crsctl stop crs
[root@rac02 bin]# ./crsctl stop crs
[root@rac01 bin]# ./crsctl start crs
[root@rac02 bin]# ./crsctl start crs
查看实例状态
[root@rac01 bin]# ./crsctl stat res ora.cjcdb.db -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cjcdb.db
1 OFFLINE OFFLINE Instance Shutdown
2 OFFLINE OFFLINE Instance Shutdown
测试:启动crs,实例没有自动启动(SQLPLUS停库)
停止实例
SQL> shutdown immediate
[root@rac01 bin]# ./crsctl stop crs
SQL> shutdown immediate
[root@rac02 bin]# ./crsctl stop crs
重启crs
[root@rac01 bin]# ./crsctl start crs
[root@rac02 bin]# ./crsctl start crs
查看实例状态
[root@rac01 bin]# ./srvctl status database -d cjcdb
Instance cjcdb1 is not running on node rac01
Instance cjcdb2 is not running on node rac02
测试:启动crs,实例自动启动(srvctl)
启动实例
[root@rac01 bin]# ./srvctl start database -d cjcdb
[root@rac01 bin]# ./srvctl status database -d cjcdb
Instance cjcdb1 is running on node rac01
Instance cjcdb2 is running on node rac02
重启crs
[root@rac01 bin]# ./crsctl stop crs
[root@rac01 bin]# ./crsctl start crs
[root@rac02 bin]# ./crsctl stop crs
[root@rac02 bin]# ./crsctl start crs
查看实例状态
[root@rac01 bin]# ./crsctl stat res ora.cjcdb.db -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cjcdb.db
1 ONLINE ONLINE rac01 Open
2 ONLINE ONLINE rac02 Open
查看实例状态
[root@rac01 bin]# ./srvctl status database -d cjcdb
Instance cjcdb1 is running on node rac01
Instance cjcdb2 is running on node rac02
启动crs,实例自动启动(sqlplus)
###节点1###
SQL> startup
###节点2###
SQL> startup
重启crs
[root@rac01 bin]# ./crsctl stop crs
[root@rac01 bin]# ./crsctl start crs
[root@rac02 bin]# ./crsctl stop crs
[root@rac02 bin]# ./crsctl start crs
查看实例状态
[root@rac01 bin]# ./srvctl status database -d cjcdb
Instance cjcdb1 is running on node rac01
Instance cjcdb2 is running on node rac02
2.2 AUTO_START=always
实例自启动
[root@rac01 bin]# ./crsctl stat res ora.cjcdb.db -p|grep AUTO_START
AUTO_START=restore
实例1修改AUTO_START=always
[root@rac01 bin]# ./crsctl modify resource ora.cjcdb.db -attr "AUTO_START=always"
[root@rac01 bin]# ./crsctl stat res ora.cjcdb.db -p|grep AUTO_START
AUTO_START=always
查看实例状态
[root@rac01 bin]# ./srvctl status database -d cjcdb
Instance cjcdb1 is not running on node rac01
Instance cjcdb2 is not running on node rac02
重启crs
[root@rac01 bin]# ./crsctl stop crs
[root@rac01 bin]# ./crsctl start crs
查看实例状态
[root@rac01 bin]# ./srvctl status instance -d cjcdb -i cjcdb1,cjcdb2 -f -v
Instance cjcdb1 is running on node rac01. Instance status: Open.
Instance cjcdb2 is not running on node rac02
[root@rac01 bin]# ./srvctl status database -d cjcdb
Instance cjcdb1 is running on node rac01
Instance cjcdb2 is not running on node rac02
参考:
SRVCTL : Disabled DB Instance Status Changed to Online when ASM Restarted (Doc ID 2299664.1)
Instance Does not Start After 11gR2 Grid Infrastructure Restart or Node Reboot (Doc ID 1149003.1)
欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/)
Powered by Discuz! X3.2