今天就跟大家聊聊有關(guān)如何理解Oracle CRS/GI的進程,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)是一家專業(yè)提供興安企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都做網(wǎng)站、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為興安眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。
在
10g和11.1,Oracle的集群稱為CRS(Oracle Cluster Ready Service),
在11.2,Oracle的集群稱為GI(Grid Infrastructure)。
對于CRS/GI,他們的一些核心進程的功能基本類似,但是在11.2,新增了很多新的Deamon進程。
10.2 CRS:
$ ps -ef|grep crs/bin
root 4373 3605 0 Feb25 ? 00:02:49 /u01/app/crs/bin/crsd.bin reboot
oracle 4380 4379 0 Feb25 ? 00:00:03 /u01/app/crs/bin/evmd.bin
oracle 4925 4888 0 Feb25 ? 00:00:00 /u01/app/crs/bin/oclsomon.bin
root 4928 4483 0 Feb25 ? 00:00:00 /u01/app/crs/bin/oprocd.bin run -t 1000 -m 10000 -
hsi 5:10:50:75:90 -f
oracle 5065 4512 0 Feb25 ? 00:00:54 /u01/app/crs/bin/ocssd.bin
oracle 6825 4380 0 Feb25 ? 00:00:00 /u01/app/crs/bin/evmlogger.bin -o
11.2 GI:
$ ps -ef|grep grid/bin
root 6656 1 0 Feb25 ? 00:09:20 /u01/app/11.2.0/grid/bin/ohasd.bin reboot
grid 7960 1 0 Feb25 ? 00:16:54 /u01/app/11.2.0/grid/bin/oraagent.bin
grid 7972 1 0 Feb25 ? 00:00:05 /u01/app/11.2.0/grid/bin/mDNSd.bin
grid 7982 1 0 Feb25 ? 00:03:45 /u01/app/11.2.0/grid/bin/gpnpd.bin
grid 7993 1 0 Feb25 ? 00:14:19 /u01/app/11.2.0/grid/bin/gipcd.bin
root 7995 1 1 Feb25 ? 00:41:42 /u01/app/11.2.0/grid/bin/orarootagent.bin
root 8010 1 0 Feb25 ? 00:28:03 /u01/app/11.2.0/grid/bin/osysmond.bin
root 8026 1 0 Feb25 ? 00:01:31 /u01/app/11.2.0/grid/bin/cssdmonitor
root 8040 1 0 Feb25 ? 00:02:22 /u01/app/11.2.0/grid/bin/cssdagent
grid 8057 1 1 Feb25 ? 00:48:04 /u01/app/11.2.0/grid/bin/ocssd.bin
root 8136 1 0 Feb25 ? 00:02:49 /u01/app/11.2.0/grid/bin/octssd.bin reboot
grid 8158 1 0 Feb25 ? 00:02:24 /u01/app/11.2.0/grid/bin/evmd.bin
root 8278 1 0 Feb25 ? 00:04:18 /u01/app/11.2.0/grid/bin/crsd.bin reboot
grid 8357 8158 0 Feb25 ? 00:00:00 /u01/app/11.2.0/grid/bin/evmlogger.bin -o
/u01/app/11.2.0/grid/evm/log/evmlogger.info -l /u01/app/11.2.0/grid/evm/log/evmlogger.log
grid 8406 1 0 Feb25 ? 00:11:22 /u01/app/11.2.0/grid/bin/oraagent.bin
root 8414 1 1 Feb25 ? 00:36:22 /u01/app/11.2.0/grid/bin/orarootagent.bin
我們對這些常見的集群進程做一些解釋:
各個版本共有的:
1.
ocssd.bin:這是一個很核心的進程,如果它異常終止會導(dǎo)致這個節(jié)點的集群或者主機重啟。這個進程主要用于檢查表決盤能否正常訪問,節(jié)點私網(wǎng)間的通
信是否正常。數(shù)據(jù)庫實例上的LMON進程也會注冊到CSSD上,這樣CSSD會通過LMON來了解數(shù)據(jù)庫實例的健康情況。
如果節(jié)點發(fā)生了主機自動重啟,需要查看ocssd的日志,位于: /log//cssd。
可以參考下面的文檔來了解節(jié)點重啟:
如何診斷節(jié)點重啟問題
11gR2 如何診斷節(jié)點重啟問題
2. crsd.bin: 這個進程主要用于管理集群中的資源。用來啟動、停止檢查一些資源,比如數(shù)據(jù)庫實例、ASM、監(jiān)聽、磁盤組、VIP等。在11.2,這些具體的操作由對應(yīng)的agent執(zhí)行。另外,OCR的維護也是由CRSD完成的。
當(dāng)發(fā)現(xiàn)某些資源異常終止后,首先需要查看crsd的日志:/log//crsd。
3. evmd.bin: 事件監(jiān)控(event monitor)進程,由它來發(fā)布集群事件,比如實例啟動、停止等事件。
4. ons進程:Oracle Notification Service
daemon,它用于接收evmd發(fā)來的集群事件,然后將這些事件發(fā)送給應(yīng)用預(yù)訂者或者本地的監(jiān)聽,這樣就可以實現(xiàn)FAN(Fast
Application Notification),應(yīng)用能夠接收到這些事件并進行處理。
5. gsd: 只有當(dāng)CRS或者GI上需要管理9i的數(shù)據(jù)庫時才需要。在11.2, gsd 默認(rèn)就是offline的。
可以參考My Oracle Support 文檔: GSD Is Used Only if 9i RAC Database is Present (Doc ID 429966.1)
10g和 11.1特有的:
1. oprocd.bin:Oracle Clusterware Process Monitor Daemon,用來監(jiān)控主機hang,如果發(fā)現(xiàn)主機hang后會發(fā)起主機重啟。只有未使用第三方的集群軟件時才運行,Linux上從10.2.0.4開始使用。
oprocd的日志會在:/etc/oracle/oprocd/*.log.* 或者 /var/opt/oracle/oprocd/*.log.*。
2. oclsomon.bin: 用來監(jiān)控ocssd進程是否hang,如果發(fā)現(xiàn)hang,會發(fā)起reboot.
11.2特有的:
1. cssdagent(11.2): 這個進程由ohasd啟動,然后由它來啟動、停止、檢查ocssd進程,以root身份運行。
它的日志位于:/log//agent/ohasd/oracssdagent_root
2. cssdmonitor(11.2):監(jiān)控cssdagent,并且檢查節(jié)點hang(類似于oprocd),監(jiān)控ocssd進程是否hang(類似于oclsomon),監(jiān)控vendor clusterware(類似于vmon),以root身份運行。
它的日志位于:/log//agent/ohasd/oracssdmonitor_root
3. ohasd.bin: 在GI啟動時,最先啟動的就是ohasd,然后由它啟動agent(orarootagent,oraagent, cssdagnet 和 cssdmonitor) ,各個agent再啟動對應(yīng)的進程。
如果GI啟動過程有問題,可以查看一下ohasd的日志:/log//agent/ohasd
4. mdnsd.bin:這個進程通過多播(Multicast)發(fā)現(xiàn)集群中的節(jié)點和所有的網(wǎng)卡信息。一定要確定集群中的網(wǎng)卡支持多播,而且節(jié)點間的通信正常。
它的日志位于:/log//mdnsd
5. gpnpd.bin: 發(fā)布構(gòu)建集群所需要的bootstrap 信息,并且在集群的所有節(jié)點之間同步gpnp profile。
它的日志位于:/log//gpnpd
6. gipcd.bin: 這個進程負(fù)責(zé)管理集群中所有的私網(wǎng)(cluster interconnect)網(wǎng)卡。私網(wǎng)信息是通過gpnpd獲得的。
它的日志位于:/log//gipcd
7. gnsd(可選): Grid Naming Service. 相當(dāng)于子DNS,功能和DNS類似,會取代使用/etc/hosts進行主機的解析。
它的日志位于:/log//gnsd
8. octssd.bin: The Cluster Time Sync Service(CTSS)
用于各個節(jié)點間的時鐘同步,集群中的一個節(jié)點的時鐘會作為參照節(jié)點,其它節(jié)點和這個節(jié)點進行時鐘同步。注意:當(dāng)?shù)谌綍r間同步軟件(例如:NTP)
存在時,CTSS會以‘觀察者’的方式運行,并不修改節(jié)點時間,但是,如果CTSS沒有發(fā)現(xiàn)第三方時間同步軟件,它會開始修改節(jié)點時間以便和參考節(jié)點同
步。
它的日志位于:/log//ctssd.
9. osysmond.bin :這是Oracle Cluster Health
Monitor(CHM)的主要進程,這個進程在所有節(jié)點都會運行,sysmond會將每個節(jié)點的資源使用情況發(fā)送給cluster logger
service,后者將會把所有節(jié)點的信息都接收并保存到CHM的資料庫。
它的日志位于:/log//crfmond/crfmond.log
10. ologgerd: 這是Oracle Cluster Health
Monitor(CHM)的另一個主要進程,在一個集群中的,ologgerd
會有一個主機點(master),還有一個備節(jié)點(standby)。當(dāng)ologgerd在當(dāng)前的節(jié)點遇到問題無法啟動后,它會在備用節(jié)點啟用。
它的日志位于:/log//crflogd/crflogd.log
關(guān)于CHM,請參考:
11gR2 新特性:Oracle Cluster Health Monitor(CHM)簡介
11. agent.bin:在11.2,各個資源的啟動、停止和檢查都是由agent來執(zhí)行的。ohasd 會把這些agent啟動。
Agent包括兩種,一種是ohasd的:
oraagent_grid: 啟動/停止/檢查/清除ora.asm, ora.evmd, ora.gipcd, ora.gpnpd, ora.mdnsd等資源。
orarootagent_root:啟動/停止 /檢查/清除 ora.crsd, ora.ctssd, ora.diskmon, ora.drivers.acfs, ora.crf (11.2.0.2)等資源。
oracssdagent_root: 啟動/停止/檢查 ocssd進程。
oracssdmonitor_root:監(jiān)控cssdagent進程。
它們的日志位于:/log//agent/ohasd
另一種是crsd的:
oraagent_grid: 啟動/停止/檢查/清除 asm, ora.eons, ora.LISTENER.lsnr, SCAN listeners, ora.ons, diskgroup 等資源
oraagent_oracle: 啟動/停止/檢查/清除 service, database 等資源
orarootagent_root : 啟動/停止/檢查/清除 GNS, VIP, SCAN VIP and network 等資源.
scriptagent_grid: 應(yīng)用服務(wù)定制的服務(wù)。
它們的日志位于:/log//agent/crsd
看完上述內(nèi)容,你們對如何理解Oracle CRS/GI的進程有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。