oracle 11gR2 RAC 停庫和啟庫


grid設置環境變量后可以在任意目錄下執行,如root沒設置的話需要帶絕對路徑
export ORACLE_HOME=/u01/app/11.2.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
--/u01/app/11.2.0/grid/bin/crsctl或srvctl

查看集群的狀態
[grid@testdb1 ~]$ crs_stat -t -v
[grid@testdb1 ~]$ srvctl status database -d TESTDB
[grid@testdb1 ~]$ srvctl status diskgroup -g DATA -n testdb2,testdb1
[grid@testdb1 ~]$ srvctl status asm
[grid@testdb1 ~]$ srvctl status asm -n testdb1

1、停監聽
[grid@testdb1 ~]$ crsctl status res -t
[grid@testdb1 ~]$ srvctl stop scan_listener
[grid@testdb1 ~]$ srvctl stop listener

2、殺會話/兩個節點
select 'alter system disconnect session ''' ||sid||','||serial#||''' immediate;' from v$session where type='USER';

3、做檢查點操作/兩個節點
alter system switch logfile;
alter system checkpoint;

4、關閉數據庫和CRS
關庫/任一節點即可 -o immediate 立即停止
[grid@testdb1 ~]$ srvctl stop database -d TESTDB -o immediate
或者每個節點登錄數據庫后執行SQL>shutdown immediate

關CRS/兩個節點都執行下
【root用戶】
[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/crsctl stop crs
[root@testdb2 ~]# /u01/app/11.2.0/grid/bin/crsctl stop crs

5、停ASM/兩個節點
如果要停ASM,【root用戶】
[root@testdb1 ~]# /etc/init.d/oracleasm stop
Dropping Oracle ASMLib disks: [ OK ]
Shutting down the Oracle ASMLib driver: [ OK ]
[root@testdb2 ~]# /etc/init.d/oracleasm stop
Dropping Oracle ASMLib disks: [ OK ]
Shutting down the Oracle ASMLib driver: [ OK ]

6、啟庫
與停庫順序相反

11gR2的RAC,如果是用shutdown immediate而不是用srvctl stop database -d xxx -o immediate停庫,那么在啟CRS后也需要手動把庫啟起來
如果手動把實例啟起來后,在crsctl status res -t顯示某個實例還是Instance Shutdown的話,但實際上實例是已經啟起來了,可用命令 srvctl start instance -d xxx -n xxx解決。

/*
啟動
每個節點執行
[root@testdb1 ~]# /etc/init.d/oracleasm start
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]

[root@testdb2 ~]# /etc/init.d/oracleasm start

--關閉/啟動CRS,只需要在其中一個節點執行
[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/crsctl stop/start crs
[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/crsctl start cluster

任一個節點執行
[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/srvctl start database -d TESTDB
*/
grid用戶下執行的部分命令
[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/crsctl status/start/stop res -t
[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/srvctl stop scan_listener
[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/srvctl stop listener

[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/srvctl stop database -d TESTDB -o immediate

[root@testdb1 ~]# /u01/app/11.2.0/grid/bin/srvctl start database -d MYDB

////////////////////////////////////////////////////////////////////////////

【關閉順序】
關DB
srvctl stop database -d TESTDB -o immediate

停HAS (用root)
/u01/app/11.2.0/grid/bin/crsctl stop has -f

停集群 (用root)
--停所有節點
/u01/app/11.2.0/grid/bin/crsctl stop cluster -all
--停止本地節點
/u01/app/11.2.0/grid/bin/crsctl stop cluster
--控制相關節點
/u01/app/11.2.0/grid/bin/crsctl cluster -n rac1 rac2

【啟動順序】
11g R2默認開機自啟動,手動啟動cluster/HAS/database
啟集群
--所有節點
/u01/app/11.2.0/grid/bin/crsctl start cluster -all
--指定某節點/2節點同時啟動
/u01/app/11.2.0/grid/bin/crsctl start cluster -n rac1 rac2

啟HAS (用root)分別在每個節點執行
/u01/app/11.2.0/grid/bin/crsctl start has

啟database
--所有節點啟動
/u01/app/11.2.0/grid/bin/srvctl start database -d testdb
或每個節點SQL>STARTUP;
或者/u01/app/11.2.0/grid/bin/srvctl start instance -d testdb -i testdb1

驗證
/u01/app/11.2.0/grid/bin/crs_stat -t -v
或/u01/app/11.2.0/grid/bin/crsctl resource -t
crsctl check cluster
檢查本節點集群狀態
crsctl check crs

/*
禁止CRS自啟動
./crsctl disable crs
檢查是否自啟動
./crsctl config crs
設置自啟動/每個節點執行
crs enables crs

grid ocr/votedisk檢查
crsctl query css votedisk;
ocrcheck
*/

crsctl 命令是一個集群級別命令,可以對所有集群資源進行統一啟動、停止等管理操作
srvctl 命令是一個服務級別命令,可以對單一服務資源進行統一啟動、停止等管理操作
其中
-d,即database name,表示數據庫名稱
-n,即node name,表示節點名稱
-i,即instance name,表示實例名稱

Oracle 11g RAC的體系結構與啟動順序
https://blog.csdn.net/xianjuke008/article/details/84283458

RAC 管理(crs_stat、crsctl、srvctl)
http://www.voidcn.com/article/p-okvacbgg-cr.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM