Oracle 10G R2 RAC日常管理
一、使用srvctl管理RAC資料庫
[root@NODE01 bin]# pwd
/orac/crs/bin # srvctl在$CRS_HOME/bin目錄下,它可以在任何節點上維護。
[root@NODE01 bin]# ./srvctl
Usage: srvctl
[]
command: enable|disable|start|stop|relocate|status|add|remove|modify|getenv|setenv|unsetenv|config
objects: database|instance|service|nodeapps|asm|listener
For detailed help on each command and object and its options use:
srvctl
-h
常用的命令主要如下:
1、使用srvctl status命令
檢視資料庫的狀態:
[root@NODE01 bin]# ./srvctl status database -d racdb
Instance RACDB1 is running on node node01
Instance RACDB2 is running on node node02
檢視資料庫例項的狀態:
[root@NODE01 bin]# ./srvctl status instance -d racdb -i racdb1,racdb2
Instance racdb1 is running on node node01
Instance racdb2 is running on node node02
檢視ASM例項的狀態:
[root@NODE01 bin]# ./srvctl status asm -n node01
ASM instance +ASM1 is running on node node01.
[root@NODE01 bin]# ./srvctl status asm -n node02
ASM instance +ASM2 is running on node node02.
檢視節點應用程式(VIP、GSD、Listener、ONS)的狀態:
[root@NODE01 bin]# ./srvctl status nodeapps -n node01
VIP is running on node: node01
GSD is running on node: node01
Listener is running on node: node01
ONS daemon is running on node: node01
[root@NODE01 bin]#
[root@NODE01 bin]# ./srvctl status nodeapps -n node02
VIP is running on node: node02
GSD is running on node: node02
Listener is running on node: node02
ONS daemon is running on node: node02
以上的命令在任何節點上都可以執行。其中-d表示資料庫的名字,-i表示instance名稱,-n表示節點的主機名。
2、使用srvctl start/stop命令
srvctl start asm –n node01 # to start the ASM instance
srvctl stop asm –n node01 # to stop the ASM instance
srvctl start asm –n node02 # to start the ASM instance
srvctl stop asm –n node02 # to stop the ASM instance
# 這裡的node01和node02是這個節點的機器名稱,透過以上命令,可以在任何節點上執行,用來關閉與啟動任何節點上的ASM。
srvctl start database –d racdb # to start the database instance
srvctl stop database –d racdb # to stop the database instance
# for instance 1
srvctl start instance –d racdb –i racdb1
srvctl stop instance –d racdb –i racdb1
# for instance 2
srvctl start instance –d racdb –i racdb2
srvctl stop instance –d racdb –i racdb2
3、使用srvctl config命令
檢視資料庫的配置:
[root@NODE01 bin]# ./srvctl config database
RACDB
[root@NODE01 bin]# ./srvctl config database -d racdb
node01 RACDB1 /orac/orahome/oracle/product/10.2.0/db_1
node02 RACDB2 /orac/orahome/oracle/product/10.2.0/db_1
檢視ASM例項的配置:
[root@NODE01 bin]# ./srvctl config asm -n node01
+ASM1 /orac/orahome/oracle/product/10.2.0/db_1
[root@NODE01 bin]# ./srvctl config asm -n node02
+ASM2 /orac/orahome/oracle/product/10.2.0/db_1
檢視節點應用程式(VIP、GSD、Listener、ONS)的配置:
[root@NODE01 bin]# ./srvctl config nodeapps -h
Usage: srvctl config nodeapps -n [-a] [-g] [-o] [-s] [-l]
-n Node name
-a Display VIP configuration
-g Display GSD configuration
-s Display ONS daemon configuration
-l Display listener configuration
-h Print usage
[root@NODE01 bin]#
[root@NODE01 bin]# ./srvctl config nodeapps -n node01
node01 RACDB1 /orac/orahome/oracle/product/10.2.0/db_1
[root@NODE01 bin]#
[root@NODE01 bin]# ./srvctl config nodeapps -n node01 -a -g -s -l
VIP exists.: /vip01/192.168.1.170/255.255.255.0/eth0
GSD exists.
ONS daemon exists.
Listener exists.
[root@NODE01 bin]# ./srvctl config nodeapps -n node02 -a -g -s -l
VIP exists.: /vip02/192.168.1.171/255.255.255.0/eth0
GSD exists.
ONS daemon exists.
Listener exists.
二、管理OCR和Voting Disk
Clusterware由2個部分組成,分別是Voting Disk和OCR。一旦它們丟失或者損壞的話,Clusterware將無法啟動,這樣整個RAC都將無法啟動。
1、Voting Disk(表決磁碟方面)
Voting Disk裡面記錄著節點成員資訊,比如說RAC資料庫中有哪些節點成員,節點增加或者刪除時也同樣會將資訊記錄進來。Voting Disk必須存放在共享儲存上,通常來說是存放在裸裝置上。為保證Voting Disk的安全,需要配置多個Voting Disk,Oracle建議Voting Disk的個數應該配置為奇數個,每個Voting Disk的大小約為20MB。
檢視Voting Disk位置:
[root@NODE01 bin]# crsctl query css votedisk
0. 0 /orac/orahome/clusterdata/votedisk
located 1 votedisk(s).
[root@NODE01 bin]# ll /orac/orahome/clusterdata/votedisk
-rw-rw---- 1 oracle oinstall 10240000 Dec 25 02:13 /orac/orahome/clusterdata/votedisk
如果需要更改Voting Disk的配置,對Voting Disk的更改必須以root使用者進行修改。如:
新增一個Voting Disk成員:crsctl add css votedisk ‘/dev/raw/raw3’
刪除一個Voting Disk成員:crsctl delete css votedisk ‘/dev/raw/raw3’
Voting Disk的備份與恢復可以透過dd命令來操作。
備份Voting Disk:dd if=/dev/rhdisk3 of=/tmp/votedisk.bak
2、OCR方面
OCR記錄的是節點成員的配置資訊,比如資料庫、ASM、例項、監聽、VIP等CRS資源的配置資訊,CRS程式管理的資訊來自於OCR的內容。OCR記錄這CRS程式管理資源的所有配置資訊,大小約為100MB。
預設情況下RAC會在其中一個節點每4個小時都自動進行一次OCR的備份,並且保留最近的3次備份。可以透過命令ocrconfig –showbackup來檢視。
[root@NODE01 bin]# ocrconfig -showbackup
node02 2008/12/19 03:38:17 /orac/crs/cdata/crs
node02 2008/12/18 20:23:45 /orac/crs/cdata/crs
node01 2008/12/18 04:15:47 /orac/crs/cdata/crs
node01 2008/12/18 04:15:47 /orac/crs/cdata/crs
node01 2008/12/14 04:21:00 /orac/crs/cdata/crs
[root@NODE01 bin]#
[root@NODE01 bin]# ll /orac/crs/cdata/crs/
total 15696
-rw-r--r-- 1 root root 4014080 Dec 18 04:15 backup00.ocr
-rw-r--r-- 1 root root 4014080 Dec 14 04:21 backup01.ocr
-rw-r--r-- 1 root root 4014080 Dec 18 04:15 day.ocr
-rw-r--r-- 1 root root 4014080 Dec 14 04:21 week.ocr
OCR預設的備份路徑為$CRS_HOME/cdata/crs,可以透過ocrconfig –backuploc來更改OCR的備份路徑;
可以透過ocrconfig –export來匯出OCR的內容;
可以透過ocrconfig –import匯入OCR的內容;
可以透過ocrconfig –restore命令對OCR進行恢復。
3、其它一些常用命令:
$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 # 檢查表決磁碟資訊
注意:
執行crsctl命令的可以是root使用者,也可以是oracle使用者,如果是root使用者要指定絕對路徑,但是對於crsctl start crs和crsctl stop crs必須是root使用者來執行。
crs主要程式:
(1)crsd
負責管理ha操作
管理crs資源,如listener,vip,ons,gsn等
由root使用者管理、啟動
(2)ocssd
管理各節點的關係,用於節點間通訊
由oracle使用者執行管理
(3)oprocd
叢集程式管理 —Process monitor for the cluster.
僅在沒有使用vendor的叢集軟體狀態下執行
(4)evmd
事件檢測程式,由oracle使用者執行管理
(5)主要log位置
$ORA_CRS_HOME/log/節點主機名/racg
$ORA_CRS_HOME/log/節點主機名/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
恢復Voting Disk:dd if=/tmp/votedisk.bak of=/dev/rhdisk3
CRSCTL命令控制著本地節點的CRS服務(Oracle clusterware processes)
停止CRS:
$ crsctl stop crs或者
$ /etc/init.crs stop或者
$ crs_stop –all
啟動CRS:
$ crsctl start crs或者
$ /etc/init.crs start
禁止Clusterware在系統重啟後自動啟動的方法:
$ /etc/init.crs disable
啟動Clusterware在系統重啟後自動啟動的方法:
$ /etc/init.crs enable
檢視CRS服務狀態
$ crsctl check crs
OCR的資源管理
OCR的資源,當RAC cluster啟動併成功執行以後,你可以使用crs_stat工具看到如下內容:
$ORA_CRS_HOME/bin/crs_stat
通常情況下,所有的資源的狀態都應該是online。另外,OCR每4個小時會備份一次。有一些情況你可以透過恢復的OCR的配置檔案來恢復出現問題的OCR。
比如使用出現如下情況:
$ crs_stat -t
CRS-0184: Cannot communicate with the CRS daemon.
$ crsctl check boot
Failure 4 at procr_open_key with status 4.
PROC-4: The cluster registry key to be operated on does not exist.
$ crsctl check crs
Failure 1 contacting CSS daemon
Cannot communicate with CRS
Cannot communicate with EVM
引起這個錯誤的一種可能原因是OCR配置丟了。這個我們可以利用這些備份來還原以前的配置。
# /etc/init.crs disable
# /etc/init.crs stop
先保證所有的crs程式全部停止。
# su – oracle
$ cd $ORA_CRS_HOME/bin
$./ocrconfig -restore /opt/app/oracle/crs/cdata/crs/week.ocr
然後切換到root使用者下,重新enable CRS
# /etc/init.crs enable
最後reboot兩個節點
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 LANG=en
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 -s -r [-a ] [-P ] [-u]
13、修改在其他節點上的service
$ srvctl modify service -d -s -I -t
14、relocate某個節點的service到其他節點
srvctl relocate service -d -s -I
CRS及相關服務的常用命令的演示
1、檢視狀態的命令
# su–oracle --先切換到oracle使用者
$ crs_stat -t --檢視crs及所有的service的狀態
$ crsctl check crs --用crsctl命令,檢查crs相關服務的狀態
$ srvctl status nodeapps -n db01 (db02) --使用srvctl檢視所有節點上的服務是否正常
$ srvctl status database -d db --使用srvctl檢視資料庫狀態
啟動和關閉相關服務的命令
# su – oracle
$ crs_start–all --啟動所有的crs服務
$ crs_stop–all --停止所有的crs服務
$ crsctl start crs --啟動crs服務
$ crsctl stop crs --停止crs服務
$ srvctl start nodeapps -n db01(db02) --啟動某節點上所有的應用
$ srvctl stop nodeapps -n db01(db02) --停止某節點上所有的應用
$ srvctl start listener -n db01(db02) --啟動某個節點的listener
$ srvctl stop listener -n db01(db02) --停止某個節點的listener
$ srvctl start instance–d db–i db01(db02) --啟動某個instance
$ srvctl stop instance–d db–i db01(db02) --停止某個instance
$ srvctl start database–d db --啟動資料庫
$ srvctl stop database–d db --停止資料
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14012827/viewspace-2140827/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 10G R2 RAC 日常管理Oracle 10g
- Oracle RAC日常管理命令Oracle
- oracle 10g r2 ASM RAC on aixOracle 10gASMAI
- 【原創】Oracle RAC 日常管理Oracle
- Oracle RAC 日常管理之CRS篇Oracle
- 【Oracle】11g RAC R2 日常巡檢--GridOracle
- Oracle RAC 日常管理之CRS篇-3Oracle
- Oracle RAC 日常管理之CRS篇-2Oracle
- Oracle 11g RAC 監聽日常管理Oracle
- oracle 10g RAC簡單管理Oracle 10g
- Oracle10g RAC ASM 環境日常管理OracleASM
- Linux 下Oracle 10G RAC 管理LinuxOracle 10g
- Oracle RAC 日常維護Oracle
- oracle 10g R2 dataguardOracle 10g
- 10g R2 RAC 歸檔模式開啟模式
- oracle 10G R2 RAC 資料庫的關閉與啟動(ZT)Oracle 10g資料庫
- Oracle 11g r2 racOracle
- Oracle DBA 日常管理Oracle
- Oracle RAC日常基本維護命令Oracle
- oracle 10g R2 autotrace 增強Oracle 10g
- oracle 10g R2 drop empty datafileOracle 10g
- Oracle 10g RAC NFSOracle 10gNFS
- Oracle 10g RAC TAFOracle 10g
- 【轉】Oracle RAC日常基本維護命令Oracle
- Oracle 10g RAC下Voting disk和OCR的管理Oracle 10g
- Oracle 10G RAC下OCR和Voting disk的管理Oracle 10g
- 【RAC】Oracle 10g RAC 重建控制檔案Oracle 10g
- Oracle11g R2 RAC安裝Oracle
- oracle 11g R2安裝RACOracle
- oracle 10g rac升級Oracle 10g
- oracle 10g 之RAC 搭建Oracle 10g
- 轉 Oracle 10G RAC下OCR和Voting disk的管理Oracle 10g
- oracle goldengate日常管理命令OracleGo
- Oracle RAC日常運維-DATA磁碟組故障Oracle運維
- Oracle RAC日常運維-ASM磁碟擴容Oracle運維ASM
- 配置 Oracle 10g RAC primary + RAC physical standby dataguardOracle 10g
- 配置 Oracle 10g RAC primary + RAC logical standbyOracle 10g
- 【oracle 10g R2 新特性】Asynchronous CommitOracle 10gMIT