Integrate EM Console Startup/Shutdown into Clusterware Control

When installing a RAC clusterware is responsible for starting and stopping required resources automatically and in required order. Under normal circumstances every resource is integrated with one exception: EM Control.

So this is a short guide on how to integrate EM Console startup/shutdown into Clusterware resource control.

First of all you need a startup/shutdown script:

#!/bin/sh
 case $1 in
 'start')
 /u01/app/oracle/product/11.2.0/db_1/bin/emctl start dbconsole
 RET=$?
 ;;
 'stop')
 /u01/app/oracle/product/11.2.0/db_1/bin/emctl stop dbconsole
 RET=$?
 ;;
 'check')
 /u01/app/oracle/product/11.2.0/db_1/bin/emctl status dbconsole
 RET=$?
 ;;
 esac
 exit $RET

After creating the script and placing is under /scripts you need to add the resource:

#crsctl add resource crs_dbconsole type cluster_resource -attr " ACTION SCRIPT= '/scripts/crs_dbconsole.sh' ,
PLACEMENT= 'restricted' , HOSTING_MEMBERS= 'node1' , CHECK_INTERVAL='30' , 
START_DEPENDENICES= 'hard(appsvip)' ,STOP_DEPENDENCIES= 'hard(appsvip)' , RESTART_ATTEMPTS='2' "
This entry was posted in Oracle in general. Bookmark the permalink.

5 Responses to Integrate EM Console Startup/Shutdown into Clusterware Control

  1. Pingback: Blogroll Report 12/03/2010 – 19/03/2010 « Coskan’s Approach to Oracle

  2. TomPier says:

    great post as usual!

  3. Wissem says:

    Ronny,
    How to make it work for a single instance, grid standalone? I have tried your method but doesn’t work!

    [root@db ~]# /opt/11.2.0/grid/bin/crsctl start resource crs_dbconsole
    CRS-2672: Attempting to start ‘crs_dbconsole’ on ‘db’
    CRS-2674: Start of ‘crs_dbconsole’ on ‘db’ failed
    CRS-2679: Attempting to clean ‘crs_dbconsole’ on ‘db’
    CRS-2678: ‘crs_dbconsole’ on ‘db’ has experienced an unrecoverable failure
    CRS-0267: Human intervention required to resume its availability.
    CRS-5802: Unable to start the agent process
    CRS-4000: Command Start failed, or completed with errors.

    I have add the resource with root user:

    [root@db ~]# /opt/11.2.0/grid/bin/crsctl add resource crs_dbconsole -type local_resource -attr ” ACTION_SCRIPT= ‘/opt/11.2.0/grid/crs/script/crs_dbconsole.sh’ ,
    DESCRIPTION=Auto restart db console, DEGREE=1, ENABLED=1, CHECK_INTERVAL=’60’ ,
    AUTO_START=restore, START_TIMEOUT=0, UPTIME_THRESHOLD=1h,
    STOP_TIMEOUT=0, SCRIPT_TIMEOUT=300, RESTART_ATTEMPTS=3, OFFLINE_CHECK_INTERVAL=60 ”

    the crs_dbconsole.sh script:

    [root@db ~]# cat /opt/11.2.0/grid/crs/script/crs_dbconsole.sh
    #!/bin/sh
    case $1 in
    ‘start’)
    /opt/app/oracle/product/11.2.0/db_1/bin/emctl start dbconsole
    RET=$?
    ;;
    ‘stop’)
    /opt/app/oracle/product/11.2.0/db_1/bin/emctl stop dbconsole
    RET=$?
    ;;
    ‘check’)
    /opt/app/oracle/product/11.2.0/db_1/bin/emctl status dbconsole
    RET=$?
    ;;
    esac
    exit $RET
    [root@db ~]#

    and i chmod 755 crs_dbconsole.sh.

    AS I said before, I am in Standalone grid Infrstaructure, for a single 11.2.0.2 instance

    • Ronny Egner says:

      Hi,

      sorry for the delay. You need to check the oraagent log files for error. Or you could add some debugging output to the script.

  4. John says:

    With regards to single instance,Do you think we should set dependencies (database,listener) if we want to enable dbconsole into oracle restart ?

Leave a Reply

Your email address will not be published. Required fields are marked *