11gR2啟動ASM例項時遭遇ORA-29701

cnaning發表於2011-03-14

早上啟動asm 報錯,馬上google 發現這個好東東,儲存下前輩的成功,呵呵

原文地址:http://tomszrp.itpub.net/post/11835/493005

[grid@vm11gr2] /home/grid> sqlplus "/as sysasm"

    SQL*Plus: Release 11.2.0.1.0 Production on Sun Oct 25 10:16:21 2009

    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
    SQL>
    無法連線到CSS服務上.到作業系統上檢查一下看看

    [grid@vm11gr2] /home/grid> crsctl check css
    CRS-4530: Communications failure contacting Cluster Synchronization Services daemon
    [grid@vm11gr2] /home/grid>
    [grid@vm11gr2] /home/grid> ps -ef|grep cssd
    果然沒有CSS的服務daemon程式,再看一下HAS(High Availability Service)的狀態

    [grid@vm11gr2] /home/grid> crsctl check has
    CRS-4638: Oracle High Availability Services is online

    [grid@vm11gr2] /home/grid> ps -ef|grep d.bin
    grid 5886 1 0 10:06 ? 00:00:01 /u01/app/grid/product/11.2/grid/bin/ohasd.bin reboot
    [grid@vm11gr2] /home/grid>
    發現HAS的服務確實啟動了的,而ora.cssd和ora.diskmon這2個服務是依賴於HAS維護的.
   

    進一步檢視各資源的狀態
    [grid@vm11gr2] /home/grid> crs_stat -t
    Name                Type                 Target    State Host
    --------------------------------------------------------------
    ora.FLASH_DATA.dg   ora.diskgroup.type   OFFLINE OFFLINE vm11gr2
    ora.SYS_DATA.dg     ora.diskgroup.type   OFFLINE OFFLINE vm11gr2
    ora.asm             ora.asm.type         OFFLINE OFFLINE vm11gr2
    ora.cssd            ora.cssd.type        OFFLINE OFFLINE vm11gr2
    ora.diskmon         ora.diskmon.type     OFFLINE OFFLINE vm11gr2
    [grid@vm11gr2] /home/grid>
   
    [grid@vm11gr2] /home/grid> crsctl status resource -t
    --------------------------------------------------------------------------------
    NAME               TARGET          STATE        SERVER     STATE_      DETAILS
    --------------------------------------------------------------------------------
    Local Resources
    --------------------------------------------------------------------------------
    ora.FLASH_DATA.dg
                      OFFLINE          OFFLINE     vm11gr2
    ora.SYS_DATA.dg  

                      OFFLINE          OFFLINE     vm11gr2
    ora.asm          

                      OFFLINE          OFFLINE     vm11gr2
    --------------------------------------------------------------------------------
    Cluster Resources
    --------------------------------------------------------------------------------
    ora.cssd        

            1         OFFLINE          OFFLINE
    ora.diskmon     

            1         OFFLINE          OFFLINE

    再看一下ora.cssd和ora.diskmon的屬性
    [grid@vm11gr2] /home/grid> 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@vm11gr2] /home/grid> 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
    [grid@vm11gr2] /home/grid>
    到這裡基本就找到了原因了,可以看到這兩個資源的AUTO_START屬性預設都設定為never,也就是說他們不會隨著HAS服務的啟動而自動啟動的,

儘管預設情況下HAS服務是開機自動啟動的.好了,那我們就手動啟動一下吧:
    [grid@vm11gr2] /home/grid> crsctl start resource ora.cssd
    CRS-2672: Attempting to start 'ora.cssd' on 'vm11gr2'
    CRS-2679: Attempting to clean 'ora.diskmon' on 'vm11gr2'
    CRS-2681: Clean of 'ora.diskmon' on 'vm11gr2' succeeded
    CRS-2672: Attempting to start 'ora.diskmon' on 'vm11gr2'
    CRS-2676: Start of 'ora.diskmon' on 'vm11gr2' succeeded
    CRS-2676: Start of 'ora.cssd' on 'vm11gr2' succeeded
    [grid@vm11gr2] /home/grid>

    :ora.cssd和ora.diskmon這兩個服務是有依賴關係的,啟動哪個都會把兩個都起來.

    [grid@vm11gr2] /home/grid> crs_stat -t
    Name                Type                 Target    State Host
    --------------------------------------------------------------
    ora.FLASH_DATA.dg   ora.diskgroup.type   OFFLINE OFFLINE vm11gr2
    ora.SYS_DATA.dg     ora.diskgroup.type   OFFLINE OFFLINE vm11gr2
    ora.asm             ora.asm.type         OFFLINE OFFLINE vm11gr2
    ora.cssd            ora.cssd.type        ONLINE  ONLINE  vm11gr2
    ora.diskmon         ora.diskmon.type     ONLINE  ONLINE  vm11gr2
    [grid@vm11gr2] /home/grid>
    CSS服務起來了,重啟動asm instance  

    [grid@vm11gr2] /home/grid> sqlplus "/as sysasm"

    SQL*Plus: Release 11.2.0.1.0 Production on Sun Oct 25 10:30:03 2009

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

    Connected to an idle instance.

    SQL> startup
    ASM instance started

    Total System Global Area 284565504 bytes
    Fixed Size 1336036 bytes
    Variable Size 258063644 bytes
    ASM Cache 25165824 bytes
    ASM diskgroups mounted
    SQL> exit
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    With the Automatic Storage Management option
    [grid@vm11gr2] /home/grid> crs_stat -t
    Name                Type                 Target    State Host
    --------------------------------------------------------------
    ora.FLASH_DATA.dg   ora.diskgroup.type   ONLINE  ONLINE  vm11gr2
    ora.SYS_DATA.dg     ora.diskgroup.type   ONLINE  ONLINE  vm11gr2
    ora.asm             ora.asm.type         ONLINE  ONLINE  vm11gr2
    ora.cssd            ora.cssd.type        ONLINE  ONLINE  vm11gr2
    ora.diskmon         ora.diskmon.type     ONLINE  ONLINE  vm11gr2
    [grid@vm11gr2] /home/grid>

    tips

      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"

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

相關文章