20080930

Conectarse a una BD Oracle

Primeramente es necesario instalar las librerías de Oracle, lo haremos empleando los .deb.

  • Agregar a source.list la linea
    $ sudo echo -e "\n#Oracle SQL*Plus\ndeb http://oss.oracle.com/debian unstable main non-free" >> /etc/apt/sources.list
    $ sudo apt-get update
    $ sudo apt-get install oracle-instantclient-*


  • Configurar la variable $ORACLE_HOME
    $ export ORACLE_HOME='/usr/lib/oracle/10.2.0.4/client'
    $ echo -e "\n#Oracle\nexport ORACLE_HOME='/usr/lib/oracle/10.2.0.4/client'" >> ~/.bashrc


  • Crear el archivo tnsnames
    $ sudo mkdir -p $ORACLE_HOME/network/admin/
    $ sudo gvim $ORACLE_HOME/network/admin/tnsnames.ora


  • Probar sqlplus
    $ sqlplus $BDusu/$BDcontra@$BDsid <<!
    select sysdate from dual;
    !

20080926

SQL*Loader 282

Al tratar de subir un archivo con sqlldr de oracle muestra el error:

SQL*Loader-282: Unable to locate character set handle for character set ID (2).


Los archivos de carga y control son correctos; asi que investigando, tras prueba y error en la pagina http://www.orafaq.com/forum/mv/msg/26570/72802/0/ nos dan una pista: las versiones del sqlldr y la bd son distintas.

En tlayecotiloni tenemos la versión

[tlayecotiloni] $ sqlldr
SQL*Loader: Release 10.2.0.1.0 - Production on Fri Sep 26 16:04:17 2008
...


En el servidor tenemos la versión

$ sqlldr
SQL*Loader: Release 8.1.7.0.0 - Production on Fri Sep 26 10:41:26 2008
...


Y la base de datos

$ sqlplus $BDusu/$BDcontra@$BDsid
...
Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production
...


Por lo que para subir la información, no encontrando otra manera, pasamos el archivo de datos y de control desde nuestra estación (sqlldr versión superior a la BD) de trabajo al servidor (sqlldr versión anterior a la bd)

20080922

Escritorio remoto de winbug$

En ocasiones es necesario trabajar en un equipo winbug$ remoto; para poder realizar nuestra tarea desde nuestro Linux podemos hacer uso de la utilieria rdesktop

Para su instalación en un equipo Linux con paquetes basados en .deb basta con
$ sudo apt-get install rdesktop

Para emplearlo
$ rdesktop -u cuenta -p contra -f 0.0.0.0

Donde
-u cuenta Indica con que usuario ingresaremos
-p contra La contraseña del usuario
-f En pantalla completa
0.0.0.0 Dirección ip o nombre del equipo

Para cambiar de pantalla completa a ventada se emplea la combinación de teclas Ctrl+Alt+Enter