viernes, 8 de agosto de 2014

OPTIMIZA: BASH PARA BAJAR Y SUBIR UNA INSTANCIA DE BASE DE DATOS

Hola Amig@s,

Este post enseñare a crear un script para bajar y subir una instancia de base de datos Oracle de forma segura.

Datos Generales:

-Sistema Operativo : Linux (Funciona en cualquier ambiente Linux incluso AIX )
-Nombre de la Instancia de Base de Datos: PRUEBA

Paso 1:  Creemos un archivo profile para configurar las variables de ambiente de la instancia. Para ello nos conectamos con usuario Oracle a nuestro servidor y ejecutamos:

oracle@test ~]$ cd
[oracle@test ~]$ pwd
/home/oracle

Es para ubicamos en el Home del usuario Oracle a nivel de sistema operativo. Creamos el archivo .profilePrueba, el cual almacenara las configuraciones de variables para nuestra instancia.

[oracle@mcpebi ~]$ vim .profilePRUEBA

En este archivo vamos a agregar las siguientes lineas:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=PRUEBA
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib



Paso 2: Crear archivo bash para subir la instancia de base de datos.

[oracle@test ~]$ vim prueba_start.sh

En este archivo vamos a agregar las siguientes lineas:

#!/bin/bash
cd /home/oracle/
. ./.profileMCPE
sqlplus "/as sysdba" << EOF
startup;
exit;

Salimos del editor vim, y ya tenemos nuestro bash para subir la instancia de base de datos.

Paso 3: Crear archivo bash para bajar la instancia de base de datos.

oracle@test ~]$ vim prueba_stop.sh

En este archivo vamos a agregar las siguientes lineas:

#!/bin/bash
cd /home/oracle/
. ./.profileMCPE
sqlplus "/as sysdba" << EOF
shutdown immediate;
exit;

Salimos del editor vim, y ya tenemos nuestro bash para bajar de forma segura  la instancia de  base de datos.

Paso 4: Dar permisos a archivos como ejecutables.

Para este paso es necesario ser usuario root, ejecutamos el siguiente comando

[root@mcpebi test]# chmod 777 prueba_start.sh prueba_stop.sh

Para poder ejecutar el comando desde cualquier directorio que nos encontremos podemos copiar estos archivos en la carpeta /bin

[root@mcpebi oracle]# scp prueba_start.sh prueba_stop.sh  /bin/

Ya tenemos nuestros archivos para bajar y subir nuestra Instancia de base de datos de forma segura.

Archivos en Acción (Demo)
Archivo prueba_stop.sh

[oracle@test ~]$ prueba_stop.sh 
/bin/prueba_stop.sh: línea 6: aviso: el documento-aquí en la línea 4 está delimitado por fin-de-fichero (se esperaba `EOF')

SQL*Plus: Release 11.2.0.3.0 Production on Fri Aug 8 12:22:28 2014

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> 
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@mcpebi ~]$

Archivo prueba_start.sh

[oracle@test ~]$ preuba_start.sh 
/bin/prueba_start.sh: línea 6: aviso: el documento-aquí en la línea 4 está delimitado por fin-de-fichero (se esperaba `EOF')

SQL*Plus: Release 11.2.0.3.0 Production on Fri Aug 8 12:24:22 2014

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

Connected to an idle instance.

SQL> ORACLE instance started.

Total System Global Area 6263357440 bytes
Fixed Size    2239976 bytes
Variable Size 2030043672 bytes
Database Buffers 4211081216 bytes
Redo Buffers   19992576 bytes
Database mounted.
Database opened.
SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@test ~]$

No hay comentarios:

Publicar un comentario