今天裝了個Oracle 11.2.0.3的環境,結果發現diskmon總是處於offline狀態:
[root@osdbso ~]# crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.DATA.dg ora....up.type ONLINE ONLINE osdbso
ora....ER.lsnr ora....er.type ONLINE ONLINE osdbso
ora.asm ora.asm.type ONLINE ONLINE osdbso
ora.cssd ora.cssd.type ONLINE ONLINE osdbso
ora.diskmon ora....on.type OFFLINE OFFLINE
ora.evmd ora.evm.type ONLINE ONLINE osdbso
ora.oemrep.db ora....se.type ONLINE ONLINE osdbso
ora.ons ora.ons.type OFFLINE OFFLINE
由於在之前的版本中ora.diskmon和ora.cssd服務是互相依賴的,及這兩個服務中隨便停止那個兩個都會停止,同樣的隨便啟動那個兩個都會啟動。
可是在上面的案例中,我發現cssd服務是起來的。查看一下這兩個服務的屬性
[root@osdbso ~]# crs_stat -p ora.diskmon
NAME=ora.diskmon
TYPE=ora.diskmon.type
ACTION_SCRIPT=
ACTIVE_PLACEMENT=0
AUTO_START=never
CHECK_INTERVAL=3
DESCRIPTION="Resource type for Diskmon"
FAILOVER_DELAY=0
FAILURE_INTERVAL=3
FAILURE_THRESHOLD=5
HOSTING_MEMBERS=
PLACEMENT=balanced
RESTART_ATTEMPTS=10
SCRIPT_TIMEOUT=60
START_TIMEOUT=600
STOP_TIMEOUT=60
UPTIME_THRESHOLD=5s
[root@osdbso ~]# crs_stat -p ora.cssd
NAME=ora.cssd
TYPE=ora.cssd.type
ACTION_SCRIPT=
ACTIVE_PLACEMENT=0
AUTO_START=never
CHECK_INTERVAL=30
DESCRIPTION="Resource type for CSSD"
FAILOVER_DELAY=0
FAILURE_INTERVAL=3
FAILURE_THRESHOLD=5
HOSTING_MEMBERS=
PLACEMENT=balanced
RESTART_ATTEMPTS=5
SCRIPT_TIMEOUT=600
START_TIMEOUT=600
STOP_TIMEOUT=900
UPTIME_THRESHOLD=1m
發現兩者的隨has自動啟動屬性都是never,以為和這個有關,然後都修改為隨has自動啟動:
crsctl modify resource "ora.diskmon" -attr "AUTO_START=1"
crsctl modify resource "ora.cssd^C-attr "AUTO_START=1"
然後從其cssd或者diskmon的服務:
[root@osdbso ~]# crsctl stop resource ora.cssd
CRS-2673: Attempting to stop 'ora.cssd' on 'osdbso'
CRS-2677: Stop of 'ora.cssd' on 'osdbso' succeeded
[root@osdbso ~]# crsctl start resource ora.diskmon
CRS-2672: Attempting to start 'ora.diskmon' on 'osdbso'
CRS-2672: Attempting to start 'ora.cssd' on 'osdbso'
CRS-2676: Start of 'ora.diskmon' on 'osdbso' succeeded
CRS-2676: Start of 'ora.cssd' on 'osdbso' succeeded
啟動的時候也提示diskmon服務成功啟動,但是查依然是offline狀態,並且cssd服務的日誌裡面存著如下資訊:
2012-05-01 10:46:43.735: [ default][3976595200]CELL communication is configured to use 0 interface(s):
2012-05-01 10:46:43.735: [ default][3976595200]Kgzf_ini_begin: diskmon is disabled
2012-05-01 10:46:43.735: [ CSSD][3976595200]clssscSAGEInitFencing: kgzf fence initialization successfully started
直接就誤解了,沒辦法還是上MOS把,結果不查不知道一查嚇一跳,原來在11.2.0.3版本的非Exadata資料庫上,diskmon的服務是被disable掉的。
請看官文:
| 11.2.0.3 Grid Infrastructure diskmon Will be Offline by Default in Non-Exadata Environment [ID 1346881.1] |
|
| |
修改時間 26-SEP-2011 類型 ANNOUNCEMENT 狀態 PUBLISHED |
|
In this Document
What is being announced?As Grid Infrastructure daemon diskmon.bin is used for Exadata fencing, started from 11.2.0.3, resource ora.diskmon will be offline in non-Exadata environment. This is expected behaviour change.
Prior to 11.2.0.3:
ps -ef| grep diskmon.bin
grid 3361 3166 0 22:57 ? 00:00:00 /ocw/grid/bin/diskmon.bin -d -f
On 11.2.0.3:
ps -ef| grep diskmon.bin
>> no more diskmon.bin