Oracle10g New Feature:CRS(Cluster Ready Services) (zt)

tolywang發表於2007-09-26

Oracle10g CRS(Cluster Ready Services)是Oracle10g RAC的一個新特性,用以提供標準的群集服務介面。
在以前的版本中,Oracle RAC必須藉助第三方Cluster軟體,但是從Oracle10g開始,我們有了新的選擇。
CRS就是這樣一個替代產品,用以提供RAC環境中的群集服務。




CRS是一個單獨的產品,在構建RAC環境中,需要單獨安裝。

系統啟動以後,CRS會自動啟動,啟動主要由/etc/init.d中的幾個指令碼完成:
[eygle@raclinux1 init.d]$ ll init*
-r-xr-xr-x  1 root root  1951 Jun 27 13:27 init.crs
-r-xr-xr-x  1 root root  4735 Jun 27 20:32 init.crsd
-r-xr-xr-x  1 root root 35401 Jun 27 13:27 init.cssd
-r-xr-xr-x  1 root root  3197 Jun 27 13:27 init.evmd


CRS啟動的三個主要的後臺程式為:
[oracle@raclinux1 bin]$ ps -ef|grep d.bin
root      3140     1  0 23:13         00:00:00 /u01/app/oracle/product/10.2.0/crs/bin/crsd.bin
oracle    3884  3062  0 23:14         00:00:00 /u01/app/oracle/product/10.2.0/crs/bin/evmd.bin
oracle    4017  3983  0 23:14         00:00:00 /u01/app/oracle/product/10.2.0/crs/bin/ocssd.bin
oracle   21117 13799  0 23:29 pts/1   00:00:00 grep d.bin



這幾個程式的主要作用如下:
CRSD:
- Engine for HA operation 
- Manages 'application resources'
- Starts, stops, and fails 'application resources' over
- Spawns separate 'actions' to start/stop/check application resources
- Maintains configuration profiles in the OCR (Oracle Configuration Repository)
- Stores current known state in the OCR.
- Runs as root
- Is restarted automatically on failure

OCSSD:
- OCSSD is part of RAC and Single Instance with ASM
- Provides access to node membership
- Provides group services
- Provides basic cluster locking
- Integrates with existing vendor clusteware, when present
- Can also runs without integration to vendor clustware
- Runs as Oracle.
- Failure exit causes machine reboot.  
--- This is a feature to prevent data corruption in event of a split brain.
注意,ocssd程式在單例項ASM系統中也可以見到,以下是我的一個單例項ASM系統,ocssd程式同樣存在:
bash-2.03# ps -ef|grep _+ASM
  oracle  3264     1  0   Aug 25 ?        0:01 asm_lgwr_+ASM
    root 12669  8167  0 11:58:56 pts/1    0:00 grep _+ASM
  oracle  3270     1  0   Aug 25 ?        0:00 asm_rbal_+ASM
  oracle  3266     1  0   Aug 25 ?        0:05 asm_ckpt_+ASM
  oracle  3268     1  0   Aug 25 ?        0:00 asm_smon_+ASM
  oracle  3262     1  0   Aug 25 ?        0:00 asm_dbw0_+ASM
  oracle  3258     1  0   Aug 25 ?        0:00 asm_pmon_+ASM
  oracle  3260     1  0   Aug 25 ?        0:00 asm_mman_+ASM
bash-2.03# ps -ef|grep ocssd
    root 12672  8167  0 11:59:01 pts/1    0:00 grep ocssd
  oracle  5374     1  0   Apr 07 ?        0:01 /opt/oracle/product/10.1.0/bin/ocssd.bin
bash-2.03# 

ocssd程式非常重要,如果該程式異常中止,會導致系統crash。
在某些極端情況下,如果ocssd無法正常啟動,會導致作業系統迴圈重啟。這時候需要DBA介入進行一些特殊處理。
EVMD:
- Generates events when things happen
- Spawns a permanent child evmlogger
- Evmlogger, on demand, spawns children
- Scans callout directory and invokes callouts.
- Runs as Oracle.
- Restarted automatically on failure


我們可以透過CRS工具來檢視CRS狀態:
[oracle@raclinux1 ~]$ cd $ORA_CRS_HOME/bin
[oracle@raclinux1 bin]$ pwd
/u01/app/oracle/product/10.2.0/crs/bin
[oracle@raclinux1 bin]$ ./crs_stat
NAME=ora.RACDB.RACDB1.inst
TYPE=application
TARGET=ONLINE
STATE=ONLINE on raclinux1

NAME=ora.RACDB.RACDB2.inst
TYPE=application
TARGET=ONLINE
STATE=ONLINE on raclinux1

NAME=ora.RACDB.db
TYPE=application
TARGET=ONLINE
STATE=ONLINE on raclinux1

NAME=ora.raclinux1.ASM1.asm
TYPE=application
TARGET=ONLINE
STATE=ONLINE on raclinux1

NAME=ora.raclinux1.LISTENER2_RACLINUX1.lsnr
TYPE=application
TARGET=ONLINE
STATE=ONLINE on raclinux1

NAME=ora.raclinux1.LISTENER_RACLINUX1.lsnr
TYPE=application
TARGET=ONLINE
STATE=ONLINE on raclinux1

NAME=ora.raclinux1.gsd
TYPE=application
TARGET=ONLINE
STATE=ONLINE on raclinux1

NAME=ora.raclinux1.ons
TYPE=application
TARGET=ONLINE
STATE=ONLINE on raclinux1

NAME=ora.raclinux1.vip
TYPE=application
TARGET=ONLINE
STATE=ONLINE on raclinux1

[oracle@raclinux1 bin]$

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84911/,如需轉載,請註明出處,否則將追究法律責任。

相關文章