Exportar datos de una consulta de una base de datos Oracle a un fichero

Vamos a ver cómo exportar datos de una consulta de una base de datos Oracle a un fichero.

 

 

También puede que necesitemos ejecutar un gran número de sentencias sql y queremos ver y analizar la salida de todas ellas, por ejemplo para exportar datos de una tabla oracle a txt; pues lo más cómodo es crear un fichero .sql y lanzarlo desde la consola de sql, enviando el resultado de las sentencias a un fichero de log, para revisar después los posibles errores.

 

Para exportar la salida de la ejecución de un fichero .sql que contiene sentencias para ejecutar, o los datos de algunas consultas, utilizamos el comando SPOOL de SQLPlus.

 

El comando SPOOL permite habilitar la salida  de una sesión de SQLPlus en un archivo.

Podemos lanzar el comando spool con una ruta de fichero donde queremos registrar lo que se va ejecutando.

 

Por ejemplo:

22:10:04 host:SYS.instanciaBBDD>spool /var/tmp/sentencia1.log

Hemos habilitado la salida (output) de todo lo que ejecutemos en la sesión, y se estará registrando en el fichero sentencia1.log

 

Ahora podemos lanzar nuestro fichero .sql que incluye múltiples sentencias SQL:

22:10:04 host:SYS.instanciaBBDD>@/var/tmp/sentencia1.sql

 

O ejecutar otras sentencias o consultas.

 

Tras ejecutarse el fichero .sql, el fichero de log habrá recibido la salida de la ejecución, y podremos desactivar de nuevo SPOOL.

spool off

 

Ahora ya podemos revisar el fichero de log en el que se habrá registrado todo lo que hayamos ejecutado en la sesión de SQL Plus en Oracle.