grid設置環境變數後可以在任意目錄下執行,如root沒設置的話需要帶絕對路徑export ORACLE_HOME=/u01/app/11.2.0/gridexport PATH=$ORACLE_HOME/bin:$PATH--/u01/app/11.2.0/grid/bin/crsctl或srvc ...
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