Oracle SQL*Plus sin instalación con Instant Client

Si tenemos un servidor en el que únicamente es necesario disponer en un equipo del cliente SQL*Plus para realizar conexiones a bases de datos Oracle remotas, no es necesario hacer una instalación completa del Oracle Database Client sino que podemos utilizar la versión standalone del SQL*Plus Instant Client.

Lo básico que tenemos que descargar para poder hacer uso de SQL*Plus son estos dos paquetes, el instantclient basic y el sqplus, según arquitectura:

instantclient-sqlplus-solaris.sparc64-11.2.0.4.0.zip
instantclient-basic-solaris.sparc64-11.2.0.4.0.zip

Ambos se pueden descargar desde www.oracle.com, el siguiente link por ejemplo es la descarga de los dos paquetes mencionados:

http://www.oracle.com/technetwork/topics/sol64soft-085649.html

Una vez descargados, es tan sencillo como descomprimirlos en la ruta deseada:

# ls -l
total 367176
-rw-rw-r--   1 root  root      414 Aug 21 23:28 BASIC_README
-rw-rw-r--   1 root  root      418 Aug 21 23:29 SQLPLUS_README
-rwxrwxr-x   1 root  root    23792 Aug 21 23:28 adrci
-rwxrwxr-x   1 root  root    41464 Aug 21 23:27 genezi
-r-xr-xr-x   1 root  root      368 Aug 21 23:29 glogin.sql
-rwxrwxr-x   1 root  root  50268448 Aug 21 23:28 libclntsh.so.11.1
-r-xr-xr-x   1 root  root  8653320 Aug 21 23:28 libnnz11.so
-rwxrwxr-x   1 root  root  1545008 Aug 21 23:28 libocci.so.11.1
-rwxrwxr-x   1 root  root  118735824 Aug 21 23:27 libociei.so
-r-xr-xr-x   1 root  root   121800 Aug 21 23:28 libocijdbc11.so
-r-xr-xr-x   1 root  root  1385072 Aug 21 23:28 libsqlplus.so
-r-xr-xr-x   1 root  root  1502288 Aug 21 23:29 libsqlplusic.so
-r--r--r--   1 root  root  2091135 Aug 21 23:28 ojdbc5.jar
-r--r--r--   1 root  root  2739616 Aug 21 23:28 ojdbc6.jar
-r-xr-xr-x   1 root  root     8960 Aug 21 23:29 sqlplus
-rwxrwxr-x   1 root  root   177680 Aug 21 23:28 uidrvci
-rw-rw-r--   1 root  root    66779 Aug 21 23:28 xstreams.jar

No hemos tenido que instalar nada, simplemente descomprimir. Ya podemos hacer uso del cliente sqlplus, previamente exportando la variable LD_LIBRARY_PATH para que sqplus encuentre las dependencias de librerias.

$ export LD_LIBRARY_PATH=/ruta/a/instant_client/

Y ejecutamos sqlplus:

$ ./sqlplus -h

SQL*Plus: Release 11.2.0.4.0 Production

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

Use SQL*Plus to execute SQL, PL/SQL and SQL*Plus statements.

Usage 1: sqlplus -H | -V

    -H             Displays the SQL*Plus version and the
                   usage help.
    -V             Displays the SQL*Plus version.

Usage 2: sqlplus [ [
] [{logon | /nolog}] [] ]

 is: [-C ] [-L] [-M ""] [-R ] [-S]

    -C    Sets the compatibility of affected commands to the
                   version specified by .  The version has
                   the form "x.y[.z]".  For example, -C 10.2.0
    -L             Attempts to log on just once, instead of
                   reprompting on error.
    -M "" Sets automatic HTML markup of output.  The options

[...]

Podemos verificar la conexión a una base de datos remota de Oracle:

$ ./sqlplus oracle@\"oracle_host:1521/BBDD\"

SQL*Plus: Release 11.2.0.4.0 Production on Wed Dec 11 13:21:58 2013

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

Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning option

SQL> quit