oracle集群 节点切换不,Oracle 11gR2 RAC集群单节点关闭开启
Oracle Product集群因OS需要打patch需要單獨(dú)關(guān)閉節(jié)點(diǎn)進(jìn)行維護(hù),機(jī)器為個(gè)人測(cè)試Oracle 11g R2測(cè)試集群
操作步驟
--確認(rèn)集群的db_unique_name,本初的db_unique_name為orcl
SQL> show parameter name
NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE ? ? ? ?VALUE
------------------------------------ ----------- ------------------------------
cell_offloadgroup_name ? ? ? ? ? ? ? string
db_file_name_convert ? ? ? ? ? ? ? ? string
db_name ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?string ? ? ?orcl
db_unique_name ? ? ? ? ? ? ? ? ? ? ? string ? ? ?orcl
global_names ? ? ? ? ? ? ? ? ? ? ? ? boolean ? ? FALSE
instance_name ? ? ? ? ? ? ? ? ? ? ? ?string ? ? ?orcl2
lock_name_space ? ? ? ? ? ? ? ? ? ? ?string
log_file_name_convert ? ? ? ? ? ? ? ?string
processor_group_name ? ? ? ? ? ? ? ? string
service_names ? ? ? ? ? ? ? ? ? ? ? ?string ? ? ?orcl
--確認(rèn)集群的instance_name
SQL> select instance_name,status from gv$instance;
INSTANCE_NAME ? ?STATUS
---------------- ------------
orcl2 ? ? ? ? ? ?OPEN
orcl1 ? ? ? ? ? ?OPEN
#本處的兩個(gè)實(shí)例名為orcl1 和 orcl2
--關(guān)閉node1監(jiān)聽,確保應(yīng)用無法通過監(jiān)聽連接數(shù)據(jù)庫(kù)
[grid@oranode1 ~]$ srvctl stop listener -n oranode1
#使用crs_stat -t -v命令或者使用srvctl status listener命令檢查監(jiān)聽運(yùn)行情況
[grid@oranode1 ~]$ srvctl status listener -n oranode1
Listener LISTENER is enabled on node(s): oranode1
Listener LISTENER is not running on node(s): oranode1
[grid@oranode2 ~]$ srvctl status listener -n oranode2
Listener LISTENER is enabled on node(s): oranode2
Listener LISTENER is running on node(s): oranode2
#確保關(guān)閉前實(shí)例上沒有session在執(zhí)行,如果有停機(jī)窗口的話建議殺一次local=no的會(huì)話
[oracle@oranode1 ~]$ ps -ef |grep -i local=no |wc -l
1
[oracle@oranode1 ~]$ ps -ef |grep -i local=no |cut -c 10-15|xargs kill -9
kill 7803: No such process
--關(guān)閉集群節(jié)點(diǎn)一上的數(shù)據(jù)庫(kù)實(shí)例
[grid@oranode1 ~]$ srvctl stop instance -o immediate -d orcl -i orcl1
[oracle@oranode1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Thu Apr 13 12:41:30 2017
Copyright (c) 1982, 2013, Oracle. ?All rights reserved.
Connected to an idle instance.
#確保數(shù)據(jù)庫(kù)實(shí)例已經(jīng)被關(guān)閉
[grid@oranode1 ~]$ crs_stat -t -v
Name ? ? ? ? ? Type ? ? ? ? ? R/RA ? F/FT ? Target ? ?State ? ? Host
----------------------------------------------------------------------
ora....DISK.dg ora....up.type 0/5 ? ?0/ ? ? ONLINE ? ?ONLINE ? ?oranode1
ora.DATA.dg ? ?ora....up.type 0/5 ? ?0/ ? ? ONLINE ? ?ONLINE ? ?oranode1
ora....ER.lsnr ora....er.type 0/5 ? ?0/ ? ? ONLINE ? ?ONLINE ? ?oranode2
ora....N1.lsnr ora....er.type 0/5 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora.asm ? ? ? ?ora.asm.type ? 0/5 ? ?0/ ? ? ONLINE ? ?ONLINE ? ?oranode1
ora.cvu ? ? ? ?ora.cvu.type ? 0/5 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora.gsd ? ? ? ?ora.gsd.type ? 0/5 ? ?0/ ? ? OFFLINE ? OFFLINE
ora....network ora....rk.type 0/5 ? ?0/ ? ? ONLINE ? ?ONLINE ? ?oranode1
ora.oc4j ? ? ? ora.oc4j.type ?0/1 ? ?0/2 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora.ons ? ? ? ?ora.ons.type ? 0/3 ? ?0/ ? ? ONLINE ? ?ONLINE ? ?oranode1
ora....SM1.asm application ? ?0/5 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode1
ora....E1.lsnr application ? ?0/5 ? ?0/0 ? ?OFFLINE ? OFFLINE
ora....de1.gsd application ? ?0/5 ? ?0/0 ? ?OFFLINE ? OFFLINE
ora....de1.ons application ? ?0/3 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode1
ora....de1.vip ora....t1.type 0/0 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode1
ora....SM2.asm application ? ?0/5 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora....E2.lsnr application ? ?0/5 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora....de2.gsd application ? ?0/5 ? ?0/0 ? ?OFFLINE ? OFFLINE
ora....de2.ons application ? ?0/3 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora....de2.vip ora....t1.type 0/0 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora.orcl.db ? ?ora....se.type 0/2 ? ?0/1 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora....ry.acfs ora....fs.type 0/5 ? ?0/ ? ? ONLINE ? ?ONLINE ? ?oranode1
ora.scan1.vip ?ora....ip.type 0/0 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode2
#可以看到,未關(guān)閉集群節(jié)點(diǎn)一上的實(shí)例前,ora.orcl.db的服務(wù)是在節(jié)點(diǎn)一上,關(guān)閉節(jié)點(diǎn)一的數(shù)據(jù)庫(kù)實(shí)例后,ora.orcl.db已經(jīng)飄在了節(jié)點(diǎn)二上了。
#或者使用srvctl status database 命令檢查
[grid@oranode1 ~]$ srvctl status database -d orcl
Instance orcl1 is not running on node oranode1
Instance orcl2 is running on node oranode2
--關(guān)閉集群節(jié)點(diǎn)一的ASM服務(wù)
[grid@oranode1 ~]$ srvctl stop asm -n oranode1
PRCR-1014 : Failed to stop resource ora.asm
PRCR-1065 : Failed to stop resource ora.asm
CRS-2529: Unable to act on 'ora.asm' because that would require stopping or relocating 'ora.CLUSTER_DISK.dg', but the force option was not specified
#此處關(guān)閉asm實(shí)例在報(bào)錯(cuò),由于ora.CLUSTER_DISK的存在,指明此需要強(qiáng)制指定參數(shù)-f才能關(guān)閉ASM.此處如果是執(zhí)行-f參數(shù)的話將會(huì)已shutdown abort的方式強(qiáng)制關(guān)閉數(shù)據(jù)庫(kù),生產(chǎn)環(huán)境上執(zhí)行此命令有風(fēng)險(xiǎn)
--#11Gr2下,ASM是cssd下管理的,需要把cssd關(guān)閉后,才能關(guān)閉ASM服務(wù)
--切換到root下執(zhí)行crsctl stop crs的方式關(guān)閉整個(gè)集群節(jié)點(diǎn)一的CRS服務(wù)
[root@oranode1 ~]# find / -name crsctl
/u01/app/11.2.0/grid/bin/crsctl
[root@oranode1 ~]# /u01/app/11.2.0/grid/bin/crsctl stop crs
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'oranode1'
CRS-2673: Attempting to stop 'ora.crsd' on 'oranode1'
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on 'oranode1'
CRS-2673: Attempting to stop 'ora.CLUSTER_DISK.dg' on 'oranode1'
CRS-2673: Attempting to stop 'ora.registry.acfs' on 'oranode1'
CRS-2673: Attempting to stop 'ora.DATA.dg' on 'oranode1'
CRS-2673: Attempting to stop 'ora.oranode1.vip' on 'oranode1'
CRS-2677: Stop of 'ora.oranode1.vip' on 'oranode1' succeeded
CRS-2672: Attempting to start 'ora.oranode1.vip' on 'oranode2'
CRS-2677: Stop of 'ora.registry.acfs' on 'oranode1' succeeded
CRS-2677: Stop of 'ora.DATA.dg' on 'oranode1' succeeded
CRS-2676: Start of 'ora.oranode1.vip' on 'oranode2' succeeded
CRS-2677: Stop of 'ora.CLUSTER_DISK.dg' on 'oranode1' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'oranode1'
CRS-2677: Stop of 'ora.asm' on 'oranode1' succeeded
CRS-2673: Attempting to stop 'ora.ons' on 'oranode1'
CRS-2677: Stop of 'ora.ons' on 'oranode1' succeeded
CRS-2673: Attempting to stop 'ora.net1.network' on 'oranode1'
CRS-2677: Stop of 'ora.net1.network' on 'oranode1' succeeded
CRS-2792: Shutdown of Cluster Ready Services-managed resources on 'oranode1' has completed
CRS-2677: Stop of 'ora.crsd' on 'oranode1' succeeded
CRS-2673: Attempting to stop 'ora.crf' on 'oranode1'
CRS-2673: Attempting to stop 'ora.ctssd' on 'oranode1'
CRS-2673: Attempting to stop 'ora.evmd' on 'oranode1'
CRS-2673: Attempting to stop 'ora.asm' on 'oranode1'
CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'oranode1'
CRS-2673: Attempting to stop 'ora.mdnsd' on 'oranode1'
CRS-2677: Stop of 'ora.crf' on 'oranode1' succeeded
CRS-2677: Stop of 'ora.evmd' on 'oranode1' succeeded
CRS-2677: Stop of 'ora.mdnsd' on 'oranode1' succeeded
CRS-2677: Stop of 'ora.ctssd' on 'oranode1' succeeded
CRS-2677: Stop of 'ora.asm' on 'oranode1' succeeded
CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on 'oranode1'
CRS-2677: Stop of 'ora.drivers.acfs' on 'oranode1' succeeded
CRS-2677: Stop of 'ora.cluster_interconnect.haip' on 'oranode1' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'oranode1'
CRS-2677: Stop of 'ora.cssd' on 'oranode1' succeeded
CRS-2673: Attempting to stop 'ora.gipcd' on 'oranode1'
CRS-2677: Stop of 'ora.gipcd' on 'oranode1' succeeded
CRS-2673: Attempting to stop 'ora.gpnpd' on 'oranode1'
CRS-2677: Stop of 'ora.gpnpd' on 'oranode1' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'oranode1' has completed
CRS-4133: Oracle High Availability Services has been stopped.
#可以看到,CRS命令執(zhí)行輸出,節(jié)點(diǎn)一的cluster服務(wù)已經(jīng)完全飄在了節(jié)點(diǎn)二上。
[grid@oranode2 ~]$ crs_stat -t -v
Name ? ? ? ? ? Type ? ? ? ? ? R/RA ? F/FT ? Target ? ?State ? ? Host
----------------------------------------------------------------------
ora....DISK.dg ora....up.type 0/5 ? ?0/ ? ? ONLINE ? ?ONLINE ? ?oranode2
ora.DATA.dg ? ?ora....up.type 0/5 ? ?0/ ? ? ONLINE ? ?ONLINE ? ?oranode2
ora....ER.lsnr ora....er.type 0/5 ? ?0/ ? ? ONLINE ? ?ONLINE ? ?oranode2
ora....N1.lsnr ora....er.type 0/5 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora.asm ? ? ? ?ora.asm.type ? 0/5 ? ?0/ ? ? ONLINE ? ?ONLINE ? ?oranode2
ora.cvu ? ? ? ?ora.cvu.type ? 0/5 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora.gsd ? ? ? ?ora.gsd.type ? 0/5 ? ?0/ ? ? OFFLINE ? OFFLINE
ora....network ora....rk.type 0/5 ? ?0/ ? ? ONLINE ? ?ONLINE ? ?oranode2
ora.oc4j ? ? ? ora.oc4j.type ?0/1 ? ?0/2 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora.ons ? ? ? ?ora.ons.type ? 0/3 ? ?0/ ? ? ONLINE ? ?ONLINE ? ?oranode2
ora....de1.vip ora....t1.type 0/0 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora....SM2.asm application ? ?0/5 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora....E2.lsnr application ? ?0/5 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora....de2.gsd application ? ?0/5 ? ?0/0 ? ?OFFLINE ? OFFLINE
ora....de2.ons application ? ?0/3 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora....de2.vip ora....t1.type 0/0 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora.orcl.db ? ?ora....se.type 0/2 ? ?0/1 ? ?ONLINE ? ?ONLINE ? ?oranode2
ora....ry.acfs ora....fs.type 0/5 ? ?0/ ? ? ONLINE ? ?ONLINE ? ?oranode2
ora.scan1.vip ?ora....ip.type 0/0 ? ?0/0 ? ?ONLINE ? ?ONLINE ? ?oranode2
--確保ASM服務(wù)已經(jīng)關(guān)閉
[grid@oranode2 ~]$ srvctl status asm -n oranode1
ASM is not running on oranode1
[grid@oranode2 ~]$ srvctl status asm -n oranode2
ASM is running on oranode2
--驗(yàn)證集群節(jié)點(diǎn)一的oracle相關(guān)服務(wù)已經(jīng)完全關(guān)閉
[grid@oranode1 ~]$ ps -ef |grep -i ora
root ? ? ?1555 ? ? 1 ?0 12:03 ? ? ? ? ?00:00:10 /u01/app/11.2.0/grid/jdk/jre/bin/java -Xms64m -Xmx256m -classpath /u01/app/11.2.0/grid/tfa/oranode1/tfa_home/jar/RATFA.jar:/u01/app/11.2.0/grid/tfa/oranode1/tfa_home/jar/je-4.0.103.jar:/u01/app/11.2.0/grid/tfa/oranode1/tfa_home/jar/ojdbc6.jar oracle.rat.tfa.TFAMain /u01/app/11.2.0/grid/tfa/oranode1/tfa_home
root ? ? ?1775 ?1704 ?0 12:03 ? ? ? ? ?00:00:01 hald-addon-storage: polling /dev/sr0 (every 2 sec)
grid ? ? 11980 11916 ?0 13:14 pts/0 ? ?00:00:00 grep -i ora
[grid@oranode1 ~]$ ps -ef |grep -i asm
grid ? ? 11988 11916 ?0 13:14 pts/0 ? ?00:00:00 grep -i asm
--確保集群節(jié)點(diǎn)二可以正常訪問
SQL> select instance_name,status from gv$instance;
INSTANCE_NAME ? ?STATUS
---------------- ------------
orcl2 ? ? ? ? ? ?OPEN
#在配合os補(bǔ)丁打完后需要開啟節(jié)點(diǎn)一上ORACLE服務(wù)
開啟步驟:
[root@oranode1 ~]# /u01/app/11.2.0/grid/bin/crsctl start crs
CRS-4123: Oracle High Availability Services has been started.
--確保節(jié)點(diǎn)一上CRS服務(wù)已經(jīng)開啟成功
[grid@oranode1 ~]$ crs_stat -t
Name ? ? ? ? ? Type ? ? ? ? ? Target ? ?State ? ? Host
------------------------------------------------------------
ora....DISK.dg ora....up.type ONLINE ? ?ONLINE ? ?oranode1
ora.DATA.dg ? ?ora....up.type ONLINE ? ?ONLINE ? ?oranode1
ora....ER.lsnr ora....er.type ONLINE ? ?ONLINE ? ?oranode2
ora....N1.lsnr ora....er.type ONLINE ? ?ONLINE ? ?oranode2
ora.asm ? ? ? ?ora.asm.type ? ONLINE ? ?ONLINE ? ?oranode1
ora.cvu ? ? ? ?ora.cvu.type ? ONLINE ? ?ONLINE ? ?oranode2
ora.gsd ? ? ? ?ora.gsd.type ? OFFLINE ? OFFLINE
ora....network ora....rk.type ONLINE ? ?ONLINE ? ?oranode1
ora.oc4j ? ? ? ora.oc4j.type ?ONLINE ? ?ONLINE ? ?oranode2
ora.ons ? ? ? ?ora.ons.type ? ONLINE ? ?ONLINE ? ?oranode1
ora....SM1.asm application ? ?ONLINE ? ?ONLINE ? ?oranode1
ora....E1.lsnr application ? ?OFFLINE ? OFFLINE
ora....de1.gsd application ? ?OFFLINE ? OFFLINE
ora....de1.ons application ? ?ONLINE ? ?ONLINE ? ?oranode1
ora....de1.vip ora....t1.type ONLINE ? ?ONLINE ? ?oranode1
ora....SM2.asm application ? ?ONLINE ? ?ONLINE ? ?oranode2
ora....E2.lsnr application ? ?ONLINE ? ?ONLINE ? ?oranode2
ora....de2.gsd application ? ?OFFLINE ? OFFLINE
ora....de2.ons application ? ?ONLINE ? ?ONLINE ? ?oranode2
ora....de2.vip ora....t1.type ONLINE ? ?ONLINE ? ?oranode2
ora.orcl.db ? ?ora....se.type ONLINE ? ?ONLINE ? ?oranode2
ora....ry.acfs ora....fs.type ONLINE ? ?ONLINE ? ?oranode1
ora.scan1.vip ?ora....ip.type ONLINE ? ?ONLINE ? ?oranode2
--確保ASM服務(wù)已經(jīng)運(yùn)行在兩個(gè)節(jié)點(diǎn)上
[grid@oranode1 ~]$ srvctl status asm
ASM is running on oranode2,oranode1
--開啟集群節(jié)點(diǎn)一數(shù)據(jù)庫(kù)實(shí)例
[grid@oranode1 ~]$ srvctl start instance -d orcl -i orcl1
--驗(yàn)證是否啟動(dòng)成功
[grid@oranode1 ~]$ srvctl status database -d orcl
Instance orcl1 is running on node oranode1
Instance orcl2 is running on node oranode2
--開啟完成后集群服務(wù)校驗(yàn),確保服務(wù)開啟成功且各自運(yùn)行在集群節(jié)點(diǎn)上
[grid@oranode1 ~]$ crs_stat -t
Name ? ? ? ? ? Type ? ? ? ? ? Target ? ?State ? ? Host
------------------------------------------------------------
ora....DISK.dg ora....up.type ONLINE ? ?ONLINE ? ?oranode1
ora.DATA.dg ? ?ora....up.type ONLINE ? ?ONLINE ? ?oranode1
ora....ER.lsnr ora....er.type ONLINE ? ?ONLINE ? ?oranode1
ora....N1.lsnr ora....er.type ONLINE ? ?ONLINE ? ?oranode2
ora.asm ? ? ? ?ora.asm.type ? ONLINE ? ?ONLINE ? ?oranode1
ora.cvu ? ? ? ?ora.cvu.type ? ONLINE ? ?ONLINE ? ?oranode2
ora.gsd ? ? ? ?ora.gsd.type ? OFFLINE ? OFFLINE
ora....network ora....rk.type ONLINE ? ?ONLINE ? ?oranode1
ora.oc4j ? ? ? ora.oc4j.type ?ONLINE ? ?ONLINE ? ?oranode2
ora.ons ? ? ? ?ora.ons.type ? ONLINE ? ?ONLINE ? ?oranode1
ora....SM1.asm application ? ?ONLINE ? ?ONLINE ? ?oranode1
ora....E1.lsnr application ? ?ONLINE ? ?ONLINE ? ?oranode1
ora....de1.gsd application ? ?OFFLINE ? OFFLINE
ora....de1.ons application ? ?ONLINE ? ?ONLINE ? ?oranode1
ora....de1.vip ora....t1.type ONLINE ? ?ONLINE ? ?oranode1
ora....SM2.asm application ? ?ONLINE ? ?ONLINE ? ?oranode2
ora....E2.lsnr application ? ?ONLINE ? ?ONLINE ? ?oranode2
ora....de2.gsd application ? ?OFFLINE ? OFFLINE
ora....de2.ons application ? ?ONLINE ? ?ONLINE ? ?oranode2
ora....de2.vip ora....t1.type ONLINE ? ?ONLINE ? ?oranode2
ora.orcl.db ? ?ora....se.type ONLINE ? ?ONLINE ? ?oranode1
ora....ry.acfs ora....fs.type ONLINE ? ?ONLINE ? ?oranode1
ora.scan1.vip ?ora....ip.type ONLINE ? ?ONLINE ? ?oranode2
[grid@oranode1 ~]$
--節(jié)點(diǎn)停機(jī)開啟操作與節(jié)點(diǎn)一上操作順序一致
總結(jié)
以上是生活随笔為你收集整理的oracle集群 节点切换不,Oracle 11gR2 RAC集群单节点关闭开启的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php如何转换类型,PHP数据类型转换
- 下一篇: oracle主键增长方式,oracle