Icono del sitio Home Assistant Fácil

Nuestro primer Shell Script con Oracle

En muchas ocasiones tenemos que automatizar, de alguna manera, alguna tarea de mantenimiento o actualización en nuestra base de datos. Cuando trabajamos con Oracle, muy recomendable la versión Express de esta base de datos, tenemos a nuestra disposición Shell Scripting para ejecutar comandos a través de un archivo de procesamiento por lotes (batch) para Windows. Nos vamos a centrar en este sistema operativo ya que es actualmente el sistema operativo más utilizado en todo el mundo. Vamos a implementar nuestro primer Shell Script con Oracle que nos permita guardar en un fichero txt una copia de seguridad de una tabla.

Lo primero que tenemos que tener en cuenta es crear la tabla, aquí os dejamos como podéis crear la tabla de prueba.

Una vez creada la rellenamos con datos, aquí también os dejamos los inserts necesarios para tener algo de datos.

Por lo tanto ya tenemos nuestra tabla y también tenemos nuestros datos así que vamos a crear un archivo en cualquier editor de textos que se va a llamar backup_tabla1.bat. Dentro de este archivo copiamos el siguiente texto y guardamos.

En el archivo batch lo que estamos haciendo es decir al sqlplus, el programa que permite ejecutar SQL y PL/SQL por línea de comandos de Oracle, que se conecte con cualquier usuario (/nolog) y ejecute el script que está en C:\backup_tabla1_inserts.sql. Hay que remarcar que todavía no nos hemos conectado. La conexión se realiza en el propio script que ahora veremos.

Ahora creamos el archivo backup_tabla1_inserts.sql, comiámos el siguiente código y guardamos en C:\. Es importante guardarlo en la raíz de C: debido a que en el archivo batch estamos haciendo referencia a este archivo .sql que está en C:\backup_tabla1_inserts.sql. Si lo guardamos en otra ubicación deberíamos cambiar el batch y poner la nueva ubicación.

Pues ya tenemos todo lo necesario y si lo hemos configurado bien al ejecutar el archivo backup_tabla1.bat tendremos de resultado otro archivo que está en C:\backup_tabla1.sql con las inserts de esa tabla.

Esto puede ser muy útil cuando tenemos que migrar de un modelo de datos a otro y necesitamos insertar ciertos datos en tablas de diferentes modelos, también nos sirve para automatizar copias de seguridad de algunos datos mediante el gestor de tareas de Windows por ejemplo y, en definitiva, para cualquier tarea que se os ocurra.

Salir de la versión móvil