Oracle 11gR2啓動ASM實例時遭遇ORA-29701

grid@linux:~> sqlplus "/as sysasm"
    SQL*Plus: Release 11.2.0.1.0 Production on Sun Oct 28 14:16:22 2014
    Copyright (c) 1982, 2009, Oracle. All rights reserved.
    Connected to an idle instance.
    SQL> startup
    ORA-01078: failure in processing system parameters
    ORA-29701: unable to connect to Cluster Synchronization Service  

 

grid@linux:~> crsctl check css
CRS-4530: Communications failure contacting Cluster Synchronization Services daemon

grid@linux:~> ps -ef |grep cssd
grid      5975  5932  0 14:51 pts/0    00:00:00 grep cssd

果然沒有CSS的服務daemon進程,再看一下HAS(High Availability Service)的狀態

 

grid@linux:~> crsctl check has
CRS-4638: Oracle High Availability Services is online
grid@linux:~> ps -ef |grep d.bin
grid      4561     1  2 14:35 ?        00:00:28 /oracle/app/grid_home/bin/ohasd.bin reboot
grid      5988  5932  0 14:51 pts/0    00:00:00 grep d.bin

發現HAS的服務確實啓動了的,而ora.cssd和ora.diskmon這2個服務是依賴於HAS維護的

 

 進一步查看各資源的狀態

grid@linux:~> crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.DATA.dg    ora....up.type OFFLINE   OFFLINE               
ora....ER.lsnr ora....er.type ONLINE    ONLINE    linux       
ora.RECOVER.dg ora....up.type OFFLINE   OFFLINE               
ora.asm        ora.asm.type   OFFLINE   OFFLINE               
ora.cssd       ora.cssd.type  ONLINE    OFFLINE               
ora.diskmon    ora....on.type ONLINE    OFFLINE               
ora.orcl.db    ora....se.type OFFLINE   OFFLINE    

 

grid@linux:~> 
grid@linux:~> crsctl status resource -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
               OFFLINE OFFLINE      linux                                        
ora.LISTENER.lsnr
               ONLINE  ONLINE       linux                                        
ora.RECOVER.dg
               OFFLINE OFFLINE      linux                                        
ora.asm
               OFFLINE OFFLINE      linux                                        
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
      1        ONLINE  OFFLINE                                                   
ora.diskmon
      1        ONLINE  OFFLINE  
                                                 
ora.orcl.db
      1        OFFLINE OFFLINE 

 

 再看一下ora.cssd和ora.diskmon的屬性

grid@linux:~> 
grid@linux:~> 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

grid@linux:~> crs_stat -p ora.diskmon
NAME=ora.diskmon
TYPE=ora.diskmon.type
ACTION_SCRIPT=
ACTIVE_PLACEMENT=0
AUTO_START=never
CHECK_INTERVAL=20
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=60
STOP_TIMEOUT=60
UPTIME_THRESHOLD=5s

到這裏基本就找到了原因了,可以看到這兩個資源的AUTO_START屬性默認都設置爲never,也就是說他們不會隨着HAS服務的啓動而自動啓動的,儘管默認情況下HAS服務是開機自動啓動的.

手工啓動:

grid@linux:~> crsctl start resource ora.cssd
CRS-2672: Attempting to start 'ora.cssd' on 'linux'
CRS-2679: Attempting to clean 'ora.diskmon' on 'linux'
CRS-2681: Clean of 'ora.diskmon' on 'linux' succeeded
CRS-2672: Attempting to start 'ora.diskmon' on 'linux'
CRS-2676: Start of 'ora.diskmon' on 'linux' succeeded
CRS-2676: Start of 'ora.cssd' on 'linux' succeede
、注:ora.cssd和ora.diskmon這兩個服務是有依賴關係的,啓動哪個都會把兩個都起來.、

grid@linux:~> crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.DATA.dg    ora....up.type OFFLINE   OFFLINE               
ora....ER.lsnr ora....er.type ONLINE    ONLINE    linux       
ora.RECOVER.dg ora....up.type OFFLINE   OFFLINE               
ora.asm        ora.asm.type   OFFLINE   OFFLINE               
ora.cssd       ora.cssd.type  ONLINE    ONLINE    linux       
ora.diskmon    ora....on.type ONLINE    ONLINE    linux       
ora.orcl.db    ora....se.type OFFLINE   OFFLINE      

 

CSS服務起來了,重啓動asm instance   

grid@linux:~> sqlplus / as sysasm

SQL*Plus: Release 11.2.0.1.0 Production on Thu Jan 16 14:55:02 2014

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ASM instance started

Total System Global Area  283930624 bytes
Fixed Size      2212656 bytes
Variable Size    256552144 bytes
ASM Cache     25165824 bytes
ASM diskgroups mounted
SQL> 

grid@linux:~> crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.DATA.dg    ora....up.type ONLINE    ONLINE    linux       
ora....ER.lsnr ora....er.type ONLINE    ONLINE    linux       
ora.RECOVER.dg ora....up.type ONLINE    ONLINE    linux       
ora.asm        ora.asm.type   ONLINE    ONLINE    linux       
ora.cssd       ora.cssd.type  ONLINE    ONLINE    linux       
ora.diskmon    ora....on.type ONLINE    ONLINE    linux       
ora.orcl.db    ora....se.type OFFLINE   OFFLINE               

 

PS:

1)默認情況下HAS(High Availability Service)是自動啓動的.通過如下命令可以取消和啓用自動啓動
        crsctl disable has
        crsctl enable has
      2)HAS手動啓動和停止
        crsctl start has
        crsctl stop has
      3)查看HAS的狀態
        crsctl check has
      4)如果想讓ora.css和ora.diskmon服務隨着HAS的啓動而自動啓動,那麼你可以這兩個服務的AUTO_START屬性
        crsctl modify resource "ora.cssd" -attr "AUTO_START=1"
        or 
        crsctl modify resource "ora.diskmon" -attr "AUTO_START=1"

      5)如果想取消ora.css和ora.diskmon的Auto start 
        crsctl modify resource "ora.cssd" -attr "AUTO_START=never"
        crsctl modify resource "ora.diskmon" -attr "AUTO_START=never"

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章