martes, 1 de septiembre de 2015

ERROR ORA-12705: Cannot access NLS data files or invalid environment specified

Si al lanzar el comando sqlplus para conectarnos a una base de datos Oracle nos da el error "ERROR: ORA-12705: Cannot access NLS data files or invalid environment specified" tendremos un problema con el valor que le hemos asignado a la variable ORACLE_SID. Para conocer el SID de una base de datos Oracle deberemos entrar al archivo tnsnames.ora (por defecto está en el directorio /u01/app/oracle/product/11.2.0/xe/network/admin/tnsnames.ora) y miraremos el valor de la etiqueta SID = . El fichero tnsnames.ora será parecido al que pongo a continuación:

# tnsnames.ora Network Configuration File:XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = predb01.lapsusmentis.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )
EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
    )
    (CONNECT_DATA =
      (SID = PXSExtProc)
      (PRESENTATION = RO)
    )
  )


Como podemos comprobar en este caso la variable ORACLE_SID debería tener el valor PXSExtProc. Para establecerlo solo tenemos que lanzar un export de la variable ORACLE_SID de la siguiente manera:

-bash-3.2$ export ORACLE_SID=PLSExtProc

Para hacerlo persistente deberemos incluir el comando export ORACLE_SID=PLSExtProc al final del fichero /etc/profile.

No hay comentarios:

Publicar un comentario