11
11gR2; Reiniciar Automáticamente DB Console Wissem EL KHLIFI www.oracle-class.com

DB Console Au Restart ES

Embed Size (px)

DESCRIPTION

DB Console Au Restart ES

Citation preview

  • 11gR2; Reiniciar Automticamente DB Console

    Wissem EL KHLIFI www.oracle-class.com

  • Introduccin:

    Oracle Restart es un componente Oracle que fue aadido desde la versin 11gR2.Este componente es responsable de la alta disponibilidad de algunos recursos de bases de datos como por ejemplo las instancias de bases de datos y los listeners, etc...Esos recursos pueden ser aadidos usando la linea de comando; srvctl add.El procedimiento de aadir el DB Console es diferente. En este articulo, vamos a ver como aadir el DB console a Oracle Restart.

    Entorno de test:

    Es siguiente procedimiento fue testeado sobre una base de datos 11.2.0.2.2, en simple infraestructura de grid, bajo Red hat Enterprise Linux.El mismo procedimiento puede ser aplicado a unas instancias de RAC, en aquel caso, recuerda de aplicarlo en todos los nodos del cluster.

    El procedimiento:

    Etapa1: Con el usuario grid, creamos 2 escripts bajo la carpeta de $GRID_HOME/crs/script, en mi caso: /opt/11.2.0/grid/crs/script/.

    Este es el contenido de los 2 escripts;

    [Code Begin]-bash-3.2$ cat agentstartup.sh

    #!/bin/bash

    #

    # dbcagent.sh - script to start and stop the dbconsole 11gR2 agent

    #

    # description: Oracle 11gR2 database console agent

    ORACLE_BASE=/opt/app/oracle

    ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1

    LIBRARY_PATH=$ORACLE_HOME/lib

    ORACLE_SID=orawiss

    ORACLE_UNQNAME=$ORACLE_SID

    Wissem EL KHLIFI www.oracle-class.com

  • export ORACLE_BASE

    export ORACLE_HOME

    export LD_LIBRARY_PATH

    export ORACLE_SID

    export ORACLE_UNQNAME

    touch /tmp/test20.log

    agent_start () {

    touch /tmp/test22.log

    $ORACLE_HOME/bin/emctl start dbconsole

    }

    agent_stop () {

    $ORACLE_HOME/bin/emctl stop dbconsole

    }

    agent_check () {

    $ORACLE_HOME/bin/emctl status dbconsole

    }

    case "$1" in

    start)

    touch /tmp/test22.log

    agent_start

    Wissem EL KHLIFI www.oracle-class.com

  • ;;

    stop)

    agent_stop

    ;;

    check)

    agent_check

    ;;

    clean)

    agent_clean $(ps -C emagent -o pid=)

    ;;

    *)

    echo $"Usage: `basename $0` {start|stop|status|clean}"

    exit 1

    esac

    -bash-3.2$[Code End]

    Etapa2: Dar los privilegios a esos 2 escripts;

    [Code Begin]

    -bash-3.2$ su - grid

    -bash-3.2$ cd /opt/11.2.0/grid/crs/script/

    -bash-3.2$ chmod 755 *

    -bash-3.2$ ls -rtl

    total 8

    -rwxr-xr-x 1 grid oinstall 1017 Jul 8 14:38 crs_dbconsole.sh

    -rwxr-xr-x 1 grid oinstall 892 Jul 8 15:10 agentstartup.sh

    Wissem EL KHLIFI www.oracle-class.com

  • -bash-3.2$[Code End]

    Etapa3:Como usuario root, edita el fichero /etc/sudoers;

    Primero, cambiamos los privilegios de este fichero de 440 a 640.

    Como usuario root:

    [root@myhost ~]# chmod 640 /etc/sudoers

    Al final del fichero, aadirnos las 3 siguientes lineas;

    [Code Begin]grid myhost =(oracle) NOPASSWD: /opt/11.2.0/grid/crs/script/agentstartup.sh start

    grid myhost =(oracle) NOPASSWD: /opt/11.2.0/grid/crs/script/agentstartup.sh stop

    grid myhost =(oracle) NOPASSWD: /opt/11.2.0/grid/crs/script/agentstartup.sh check[Code End]

    No olvidamos de comentar la siguiente linea dentro del fichero etc/sudoers;

    #Defaults requiretty

    Ahora, volvemos a dar los permisos 440 al fichero etc/sudoers;

    [root@myhost ~]# chmod 440 /etc/sudoers

    Etapa4:Como usuario oracle, Cambiamos los permisos de los seguientes ficheros:

    [Code Begin]chmod 664 /opt/app/oracle/product/11.2.0/db_1/sysman/config/emd.properties

    chmod 664 /opt/app/oracle/product/11.2.0/db_1/myhost_orawiss/sysman/config/emd.properties

    chmod 755 /opt/app/oracle/product/11.2.0/db_1/bin/emctl[Code End]

    Etapa5: Aadir el recurso "crs_dbconsole" al Oracle Restart.

    [Code Begin]

    Wissem EL KHLIFI www.oracle-class.com

  • -bash-3.2$

    -bash-3.2$ crsctl delete res crs_dbconsole

    CRS-2613: Could not find resource 'crs_dbconsole'.

    CRS-4000: Command Delete failed, or completed with errors.

    -bash-3.2$ crsctl add resource crs_dbconsole -type local_resource -attr " ACTION_SCRIPT=/opt/11.2.0/grid/crs/script/crs_dbconsole.sh,

    DESCRIPTION=Local DB Console Ressource for DB Console Agent, DEGREE=1, ENABLED=1, AUTO_START=restore, START_TIMEOUT=120, UPTIME_THRESHOLD=1h,

    CHECK_INTERVAL=60, STOP_TIMEOUT=120, SCRIPT_TIMEOUT=120, RESTART_ATTEMPTS=3, OFFLINE_CHECK_INTERVAL=60, START_DEPENDENCIES=, STOP_DEPENDENCIES=,"

    -bash-3.2$ crsctl start res crs_dbconsole

    CRS-2672: Attempting to start 'crs_dbconsole' on 'myhost'

    CRS-2676: Start of 'crs_dbconsole' on 'myhost' succeeded[Code End]

    Etapa6: Verificar el recurso crs_dbconsole;

    [Code Begin]-bash-3.2$ crsctl status res -t

    --------------------------------------------------------------------------------

    NAME TARGET STATE SERVER STATE_DETAILS

    --------------------------------------------------------------------------------

    Local Resources

    --------------------------------------------------------------------------------

    crs_dbconsole

    ONLINE ONLINE myhost

    dbcagent

    OFFLINE OFFLINE myhost

    ora.LISTENER.lsnr

    Wissem EL KHLIFI www.oracle-class.com

  • ONLINE ONLINE myhost

    ora.LISTENER_OUT.lsnr

    ONLINE ONLINE myhost

    ora.ons

    OFFLINE OFFLINE myhost

    --------------------------------------------------------------------------------

    Cluster Resources

    --------------------------------------------------------------------------------

    ora.orawiss.db

    1 ONLINE ONLINE myhost Open

    ora.cssd

    1 OFFLINE OFFLINE

    ora.diskmon

    1 OFFLINE OFFLINE

    ora.evmd

    1 ONLINE ONLINE myhost

    -bash-3.2$

    [Code End]

    Etapa7: Testar el nuevo recurso aadido, por eso, vamos a reiniciar el servidor.

    [Code Begin]

    Como usuario root:

    init 6

    Wissem EL KHLIFI www.oracle-class.com

  • login as: grid

    -bash-3.2$

    -bash-3.2$ crsctl status res -t

    --------------------------------------------------------------------------------

    NAME TARGET STATE SERVER STATE_DETAILS

    --------------------------------------------------------------------------------

    Local Resources

    --------------------------------------------------------------------------------

    crs_dbconsole

    ONLINE OFFLINE myhost STARTING

    dbcagent

    OFFLINE OFFLINE myhost

    ora.LISTENER.lsnr

    ONLINE ONLINE myhost

    ora.LISTENER_OUT.lsnr

    ONLINE ONLINE myhost

    ora.ons

    OFFLINE OFFLINE myhost

    --------------------------------------------------------------------------------

    Cluster Resources

    --------------------------------------------------------------------------------

    Wissem EL KHLIFI www.oracle-class.com

  • ora.orawiss.db

    1 ONLINE OFFLINE STARTING

    ora.cssd

    1 OFFLINE OFFLINE

    ora.diskmon

    1 OFFLINE OFFLINE

    ora.evmd

    1 ONLINE INTERMEDIATE myhost

    -bash-3.2$ crsctl status res -t

    --------------------------------------------------------------------------------

    NAME TARGET STATE SERVER STATE_DETAILS

    --------------------------------------------------------------------------------

    Local Resources

    --------------------------------------------------------------------------------

    crs_dbconsole

    ONLINE ONLINE myhost

    dbcagent

    OFFLINE OFFLINE myhost

    ora.LISTENER.lsnr

    ONLINE ONLINE myhost

    ora.LISTENER_OUT.lsnr

    ONLINE ONLINE myhost

    Wissem EL KHLIFI www.oracle-class.com

  • ora.ons

    OFFLINE OFFLINE myhost

    --------------------------------------------------------------------------------

    Cluster Resources

    --------------------------------------------------------------------------------

    ora.orawiss.db

    1 ONLINE ONLINE myhost Open

    ora.cssd

    1 OFFLINE OFFLINE

    ora.diskmon

    1 OFFLINE OFFLINE

    ora.evmd

    1 ONLINE ONLINE myhost

    -bash-3.2$

    -bash-3.2$

    -bash-3.2$ su - oracle

    Password:

    -bash-3.2$ emctl status dbconsole

    Oracle Enterprise Manager 11g Database Control Release 11.2.0.2.0

    Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved.

    https://myhost:1158/em/console/aboutApplication

    Oracle Enterprise Manager 11g is running.

    ------------------------------------------------------------------

    Wissem EL KHLIFI www.oracle-class.com

  • Logs are generated in directory /opt/app/oracle/product/11.2.0/db_1/myhost_orawiss/sysman/log

    -bash-3.2$

    [Code End]

    Ahora, tenemos el recurso DB Console arrancado automticamente, gracias al Oracle restart.

    Wissem EL KHLIFI www.oracle-class.com