Bienvenidos al Blog de Aldo Malaver

Este Blog contiene articulos que te ayudaran a resolver muchos problemas, comenta cada articulo por favor. Gracias.

martes, 8 de mayo de 2012

Levantar base de datos Oracle 11g en Solaris con archivo bash


Levantar base de datos Oracle 11g en Solaris con archivo bash
Objetivos

Este documento tiene como objetivo explicar los pasos necesarios para levantar una base de datos Oracle 11g con un archivo bash.

Paso 1: Creamos el archivo bash

Abrimos un nuevo archivo txt en el cual en la primera línea pondremos la siguiente para poder saber que este archivo contiene código bash.
#!/bin/bash
Para poder comentar líneas de código en un archivo bash se utiliza # por ejemplo:
#description: oracle database start script
#Source function library

Paso 2: Configurar variables de entorno necesarias para levantar Oracle 11g

En este paso adicionaremos las variables de entorno en solaris. Recordar que las rutas definidas a continuación deberían ser cambiadas de acuerdo a la localización de la base de datos 11g en sus ambientes.


ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_INSTALL=${ORACLE_HOME}/bin
ORACLE_SID=prueba
ORACLE_SYS_LOGIN="sys"
ORACLE_SYS_PWD="prueba"
ORACLE_LISTENER="LISTENER"
ORACLE_LOG_START=/tmp/pruebaStart.`date '+%d%m%y'`.log
ORACLE_LOG_STOP=/tmp/pruebaStop.`date '+%d%m%y'`.log

Paso 3: Verificamos si existen los ejecutables necesarios para levantar la BD

 En este paso verificaremos con código bash si existen los ejecutables como lsnrctl para levantar un listener y sqlplus para poder levantar la base de datos. A continuación se muestra el código para verificar los ejecutables.


if [ ! -f $ORACLE_INSTALL/lsnrctl ]; then
    echo "listener don't exists: $ORACLE_INSTALL/lsnrctl "
    exit
fi

if [ ! -f $ORACLE_INSTALL/sqlplus ]; then
    echo "sqlplus don't exists: $ORACLE_INSTALL/sqlplus "
    exit
fi

Paso 4: Crear funciones de iniciar y terminar la base de datos

En este paso crearemos funciones en código bash para poder levantar y apagar la base de datos. A continuación se muestra el código bash, note que se utiliza tanto lsnrctl y sqlplus para levantar.

startOracle()
{
#levantar Oracle Database
echo 'INICIANDO ORACLE_SID'
export ORACLE_SID=$ORACLE_SID
export ORACLE_HOME=$ORACLE_HOME
echo 'INICIANDO LISTENER'
$ORACLE_INSTALL/lsnrctl start
echo 'ENTRANDO A SQLPLUS'
$ORACLE_INSTALL/sqlplus /nolog<<EOS
connect $ORACLE_SYS_LOGIN/$ORACLE_SYS_PWD as sysdba
startup
EOS
}
stopOracle()
{
#parar oracle
echo 'BAJAR LA BASE DE DATOS'
$ORACLE_INSTALL/sqlplus /nolog<<EOS
connect $ORACLE_SYS_LOGIN/$ORACLE_SYS_PWD as sysdba
shutdown immediate
EOS
echo 'BAJAR EL LISTENER'
$ORACLE_INSTALL/lsnrctl stop
}

Paso 5: Forma de iniciar el archivo bash

En este paso se define el código bash para poder iniciar el archivo bash. A continuación se muestra el código bash.

case "$1" in
    'start')
                startOracle
                         ;;
    'stop')
                stopOracle
                         ;;
            'restart')
                stopOracle
                        startOracle
                        ;;
            *)
                echo "Usage: $0 start|stop|restart"
                        exit 1
                        ;;
esac

No te olvides de donar para poder crear más publicaciones.