oracle crs起停步驟及srvctl crsctl 命令用法
分類: 借鑒參考
Oracle10g RAC關閉及啟動步驟
情況1:需要關閉DB(所有實例),OS及Server。
a.首先停止Oracle10g環境
$ lsnrctl stop (每個節點上停止監聽,也可以用srvctl來操作)
或者
$ srvctl stop listener -n host1(在節點1上停止監聽)
$ emctl stop dbconsole (每個節點停止dbconsole)
$ srvctl stop database -d orcl (停止數據庫所有實例)
$ srvctl stop nodeapps -n host1 (停節點1服務)
$ srvctl stop nodeapps -n host2 (停節點2服務)
# /etc/init.d/init.crs stop (root停cluster軟件)
停機順序為,先停監聽->實例->服務->cluster 軟件
或者用$ crs_stop -all
b.然后# init 0關閉服務器,或者如果重新啟動#init 6
c.關閉電源。
d.開啟Server ,開始開啟Oracle10g數據庫及服務等(如果OS重新啟動,那么下面的所有服務是自動打開的【除了dbconsole】,不用手工執行了)。
$ srvctl start nodeapps -n gnd-rac01 (停節點1服務)
$ srvctl start nodeapps -n gnd-rac02 (停節點2服務)
# /etc/init.d/init.crs start (root開啟cluster軟件)
或者用$ crs_start –all
$ srvctl start database -d tpc (打開數據庫所有實例)
$ lsnrctl start (每個節點上打開監聽,也可以用srvctl來操作)
$ emctl start dbconsole (每個節點打開dbconsole)
注:srvctl也可以用來關閉某個實例:srvctl stop instance -d orcl -i orcl2
srvctl開啟關閉監聽器:
srvctl stop listener -n orcl2
srvctl start listener -n orcl2
最簡單的停機方法:
$crs_stop -all
$crs_stat -t 查看是否全是OFFLINE
root用戶執行:# crsctl stop crs
init 0或 init 6
啟動方法:
# crsctl start crs
$ crs_start –all
$ crs_stat -t
情況2:調整數據庫參數的時候,只關閉所有節點實例,不重新啟動OS及Server。
a.首先停止Oracle10g環境
$ lsnrctl stop (在所有節點上停止監聽,也可以用srvctl)
$ srvctl stop database -d orcl (停止數據庫所有實例)
b.然后開啟所有實例及監聽器。
$ srvctl start database -d orcl (開啟數據庫所有實例)
$ lsnrctl start (開啟所有節點上監聽,也可以用srvctl開啟監聽)
情況3:不關閉操作系統的情況下,由於問題點或調整某些服務而需要關閉然后開啟某些服務程序等。
關閉某些服務的時候,由於涉及到RAC運行,所以也需要先關閉數據庫實例,類似於第一種情況。
crs命令用法
1:對於crsctl start crs和crsctl stop crs必須是root用戶來執行。
CRS及相關服務的常用命令的演示
1、查看狀態的命令
# su–oracle --先切換到oracle用戶
$ crs_stat -t --查看crs及所有的service的狀態
$ crs_stat --此命令可以查看各個資源的完整服務名稱
$ crsctl check crs --用crsctl命令,檢查crs相關服務的狀態
$ srvctl status nodeapps -n host1 (host2) --使用srvctl查看所有節點上的服務是否正常
$ srvctl status database -d db --使用srvctl查看數據庫狀態
啟動和關閉相關服務的命令
#crsctl start crs 打開集群CRS命令程序
#crsctl stop crs 關閉
oracle用戶
命令的路徑:$ORA_CRS_HOME/bin/
# su – oracle
$ crs_start -all --啟動所有的crs服務
$ crs_stop -all --停止所有的crs服務
$ crsctl start crs --啟動crs服務
$ crsctl stop crs --停止crs服務
$ srvctl start nodeapps -n host1(host2) --啟動某節點上所有的應用
$ srvctl stop nodeapps -n host1(host2) --停止某節點上所有的應用
$ srvctl start listener -n host1(host2) --啟動某個節點的listener
$ srvctl stop listener -n host1(host2) --停止某個節點的listener
$ srvctl start instance -d db -i host1(host2) --啟動某個instance
$ srvctl stop instance -d db -i host1(host2) --停止某個instance
$ srvctl start database -d db --啟動數據庫
$ srvctl stop database -d db --停止數據庫
$crs_stop 資源名(ora.ORCL.ORATEST.cs) 停一個資源,此命令可停到資源狀態為UNKNOWN的資源。
附Oracle10g RAC檢查命令:
----------------------------------------------
Oracle10g RAC數據庫的 nodeapps 有VIP, GSD, Listener, ONS .
$ srvctl status nodeapps –n host1 (檢查VIP, GSD,ONS, Listener等(所有節點))
VIP is running on node: host1
GSD is not running on node: host1
Listener is not running on node: host1
ONS daemon is not running on node: host1
gnd-rac01$crsctl check crs (檢查Oracle Cluster狀態:CSS, CRS, EVM .)
CSS appears healthy
CRS appears healthy
EVM appears healthy
gnd-rac01$ crs_stat -t (全面檢查狀態)
NameTypeTargetStateHost
┅┅┅┅┅┅┅┅┅
ora....01.lsnr application ONLINE ONLINE host1
ora....c01.gsd application ONLINE ONLINE host1
ora....c01.ons application ONLINE ONLINE host1
SRVCTL命令介紹
SRVCTL命令可以控制RAC數據庫中的instance,listener以及services。
通常SRVCTL在ORACLE用戶下執行。下面我們來介紹srvctl命令。
1、通過SRVCTL命令來start/stop/check所有的實例:
$ srvctl start|stop|status database -d
2、start/stop指定的實例:
$ srvctl start|stop|status instance -d -i
3、列出當前RAC下所有的
$ srvctl config database -d
4、start/stop/check所有的nodeapps,比如:VIP, GSD, listener, ONS:
$ srvctl start|stop|status nodeapps -n
5、如果你使用ASM,srvctl也可以start/stop ASM實例:
$ srvctl start|stop asm -n [-i ] [-o]
6、可以獲取所有的環境信息:
$ srvctl getenv database -d [-i ]
7、設置全局環境和變量:
$ srvctl setenv database -d -t
8、從OCR中刪除已有的數據庫:
$ srvctl remove database -d
9、向OCR中添加一個數據庫:
$ srvctl add database -d -o
[-m ] [-p] [-A /netmask] [-r {PRIMARY | PHYSICAL_STANDBY |LOGICAL_STANDBY}] [-s ]
10、向OCR中添加一個數據庫的實例:
$ srvctl add instance -d -i -n
$ srvctl add instance -d -i -n
11、向OCR中添加一個ASM實例:
$ srvctl add asm -n -i -o
12、添加一個service
$ srvctl add service -d
$ORA_CRS_HOME/bin/crsctl check crs用於檢查后台進程狀態
$ORA_CRS_HOME/bin/crsctl start resources啟動crs資源
$ORA_CRS_HOME/bin/crsctl start crs啟動crs,需要超級用戶操作。
$ORA_CRS_HOME/bin/crsctl stop crs關閉crs,需要超級用戶操作。
$ORA_CRS_HOME/bin/crs_unregister取消注冊crs
$ORA_CRS_HOME/bin/ocrcheck檢查ocr設置信息用ocrcheck
$ORA_CRS_HOME/bin/crsctl query css votedisk檢查磁盤表決情況
2:集群的日志:
$ORA_CRS_HOME/log/節點主機名(rachost01)/racg
$ORA_CRS_HOME/log/節點主機名(rachost01)/crsd
$ORA_CRS_HOME/crs/init
$ORA_CRS_HOME/css/log
$ORA_CRS_HOME/css/init
$ORA_CRS_HOME/evm/log
$ORA_CRS_HOME/evm/init
$ORA_CRS_HOME/srvm/log