Upload
cesar-perez-avilez
View
217
Download
0
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