SQL*Plus y variables de entorno (en Linux y Windows)

SQL*Plus es capaz de trabajar de manera natural con las variables de entorno del sistema operativo, de forma que dichas variables se pueden utilizar en ‘scripts’. Esto es algo bastante común en entornos Linux:

REL4/oracle/10.2.0> DUMMY=${ORACLE_HOME}/basura/
REL4/oracle/10.2.0> export DUMMY
REL4/oracle/10.2.0> sqlplus xxxxxxx@yyyyyy.zzzzzz

SQL*Plus: Release 10.2.0.2.0 - Production on Lun Feb 5 09:12:10 2007

Copyright (c) 1982, 2005, Oracle.  All Rights Reserved.

Introduzca la contraseña:

Conectado a:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options

sql> spool ${DUMMY}prueba
sql> select sysdate from dual;

SYSDATE
-------------------
05/02/2007 09:13:54

sql> spool off
sql> quit
Desconectado de Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options

REL4/oracle/10.2.0> cd basura
REL4/oracle/10.2.0/basura> ls -ltr
total 12
-rw-r--r--    1 oracle   dba            96 Feb  5 09:13 prueba.lst

REL4/oracle/10.2.0/basura>

Lo que quizá es menos conocido es que también funciona en Windows (con su propia sintaxis para las variables de entorno, claro):

D:>SET DUMMY=D:BASURA

D:>SQLPLUS xxxxxxx@yyyyyy.zzzzzz

SQL*Plus: Release 9.2.0.8.0 - Production on Vie Feb 2 14:33:31 2007

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

Introduzca la contraseña:

Conectado a:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> spool %DUMMY%prueba.txt
SQL> select sysdate from dual;

SYSDATE
--------
02/02/07

SQL> spool off;
SQL> quit
Desconectado de Oracle Database 10g Enterprise Edition Release
10.2.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options

D:>cd basura

D:basura>dir
 El volumen de la unidad D es DATOS
 El número de serie del volumen es: 7C84-6B91

 Directorio de D:basura

02/02/2007  14:32              .
02/02/2007  14:32              ..
02/02/2007  14:33               299 prueba.txt

D:basura>

Saludos.

Carlos.

Anuncios

4 Responses to SQL*Plus y variables de entorno (en Linux y Windows)

  1. Rene dice:

    Hola! Que tal?
    Solamente tengo una pregunta y creo que no tiene mucho que ver con el tema del post. En fin ahí va. De donde o como obtuvo la versión Oracle Database 10g Enterprise Edition Release 10.2.0.2.0?
    He verificado en la pagina de descarga de oracle y no esta disponible esa versión (al dia de hoy 17 de marzo). Tambien entre a metalink, pero no encontre algun parche que pase de la 10.2.0.1 a la 10.2.0.2 y para el desarrollo que estamos teniendo es importante tener esa version.
    Eso es todo, muchas gracias y suerte.

  2. carlosal dice:

    Las versiones 10.2.02 y 10.2.03 se descargan como parches desde metalink.

    Seguramente has introducido algún dato erróneo en las búsquedas.

    Un saludo.

    Carlos.

  3. REYES dice:

    Porque no funciona con la variable ORACLE_SID.

    d:\set ORACLE_SID=porejemplo

    sqlplus /nolog

    connect sys@%ORACLE_SID% as sysdba

    ORA-12154: TNS:no se ha podido resolver el identificador de conexion especificado

  4. carlosal dice:

    Sí funciona, pero así:

    D:\Documents and Settings\carlos>set myoracle=db01.xxxxxx

    D:\Documents and Settings\carlos>echo %myoracle%
    db01.xxxxxx

    D:\Documents and Settings\carlos>sqlplus carlos@%myoracle%

    SQL*Plus: Release 10.2.0.3.0 – Production on Mar Dic 4 17:10:12 2007

    Copyright (c) 1982, 2006, Oracle. All Rights Reserved.

    Introduzca la contraseña:

    Conectado a:
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 – Production
    With the Partitioning, OLAP and Data Mining options

    SQL>

    Pero tu variable de entorno debe coincidir EXACTAMENTE con una entrada del tnsnames.ora y no tener fijado ningún sufijo por defecto en el sqlnet.ora (.world). Es por eso que ORACLE_SID no es una buena elección para utilizar como variable de entorno para lo que tú quieres.

    Saludos.

    Carlos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: