Archive for the ‘Base de Datos’ Category

ORA-12505: TNS: el SID es desconocido

martes, octubre 9th, 2012

Esto te puede ocurriral iniciar el listener de Oracle

lsnrctl start

o al intentar conectarte a Oracle a través de un cliente Oracle. Esto puede significar que no existan las variables de entorno, sobre todo ORACLE_SID (SID, Service Identificator)

Si esta configurado revisa dos archivos tnsnames.ora y/o listener.ora.

En el caso de tnsnames.ora, luego de crear la base de datos debiese existir una anotación sobre el nombre y el protocolo que se utilizará. Ejemplo

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

Que en mi caso estaba correcto.
En cambio al listener.ora le faltaba referenciar al SID orcl. Para hacerlo, se debe agregar dentro de la lista de listener, que en mi caso solo era este

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/11.2/db_1)
      (SID_NAME = orcl)
    )
  )

Iniciar una base de datos Oracle

martes, octubre 9th, 2012

La documentación de oracle dice que para iniciar la base de datos solo debe ejecutarse

dbstart 

Si te ocurre el siguiente error

ORACLE_HOME_LISTENER is not set, unable to start listener 

Lo primero a revisar son las variables de entorno que deben estar configuradas.

Luego de esta revision de configuracion, en vez de ejecutar el comando a secas ejecuta

dbstart $ORACLE_HOME

Y debiese funcionar siguiendo la filosofía Unix, o sea, si no envía ningun mensaje es porque esta correcto.

Variables de entorno Oracle

martes, octubre 9th, 2012

A el usuario oracle se le deben establecer las siguientes variables en el archivo .bash_profile o el profile que estes utilizando.En este archivo incorpora las líneas cambiandolas por las rutas de tu instalación de Oracle


Actualización (24-09-2015)
Se presume que se instaló la base de datos segun lo esxplicado en otro de mis articulos
Instalando Oracle 11G a linea de mando

ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2/db_1
export ORACLE_HOME
ORACLE_PATH=$ORACLE_HOME/bin
export ORACLE_PATH
ORACLE_SID=orcl
export ORACLE_SID

Adicionalmente es util tener configurada el path de linux hacia los ejecutables de oracle, esto nos evitará cambios de rutas y cosas asi

PATH=$PATH:$HOME/bin:$ORACLE_PATH
export PATH

Linux debe ser reiniciado solo por un cambio en el hardware

lunes, octubre 8th, 2012

Debo admitir que ciertamente defiendo Linux como sistema operativo de servidores. Como desktop aún le falta (aun cuando ubuntu a avanzado años luz), como servidor… debo admitir que admiro esta situación de configurar archivos.

Con el amor propio herido debido a que tras un reinicio de un servidor Linux que fue aumentado en RAM, Oracle no funcionaba decidí reiniciar debido a que no se me ocurrían más cosas para hacerlo partir… pero no estaba todo dicho… sobre todo luego de un comentario “…o sea, que igual que Windows tienes que reiniciar” (Julio Romero)… frase que fue (en buen chileno) como un ají ahí mismito…

Así que luego la decisión fue no claudicar… no puede ser el reinicio, no puede ser que Linux deba ser reiniciado, pero por sobretodo no se puede rebajar a ser igualado a windows.

Aun cuando efectivamente existen parches en el Kernel que ameritan reinicio, la mayoría o los reinicios justificados en Linux sólo debiesen ser de hardware, ya que para todo lo demás existe un archivo de configuración que si esta mal «seteado» la aplicación no funcionará.

En mi caso, Oracle finalmente inicio, luego de hacer un serie de pasos para que esto sucediera.

Crear spfile en oracle

lunes, octubre 8th, 2012

Para crear un archivo con los parametros de la base de datos debes aplicar el siguiente comando

CREATE SPFILE FROM PFILE;

Puede que te de el siguiente error

CREATE SPFILE FROM PFILE
*
ERROR at line 1:
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file
'ORACLE_HOME/dbs/initSID.ora'

Si esto sucede debes especificar explicitamente la ubicacion del archivo pfile

create spfile from pfile='RUTA/init.ora'

y debieses recibir

File created.

Exportar DDL de un esquema desde DB2

miércoles, septiembre 5th, 2012

Para exportar un esquema desde DB2 debe hacerse con una de las herramientas que trae consigo db2, llamada db2look. Con ella puedes exportar el DDL de un esquema sin problemas, basicamente podrías ejecutar

db2look -e -d nombreEsquema -o db2look.sql 

Con lo que obtendrás basicamente la información de las tablas, con sus indices y claves primarias. Esto en conjunto con otras herramientas te pueden ayudar a exportar una base de datos desde un servidor a otro.