viernes, 9 de noviembre de 2012

Listener de Oracle... en Windows.

Toda base de datos requiere de un LISTENER, el cuál, como su nombre lo indica, escuchará las peticiones de conexión y si son correctas, permitirá el acceso... pero solo a la puerta, para poder entrar (conectarse) a la base de datos se requiere un usuario y password.

El listener está configurado para escuchar la conexión en un puerto específico en el servidor de base de datos. Cuando una se pide una conexión a la base de datos, el listener devuelve la información relativa a la conexión. La información de una conexión para una instancia de una base de datos provee el nombre de usuario, la contraseña y el SID de la base de datos. Si estos datos no son correctos se devolverá un mensaje de error.

A continuación se muestra el procedimiento para crear el LISTENER utilizando el "Asistente de Configuración de Red"

Lo primero que se tiene que hacer es entrar al "Asistente de Configuración de Red", Para este ejercicio y en base a la instalación que se hizo la manera de entrar es: Inicio => Todos los Programas => Oracle - OraDb11g_home1 => Herramientas de Configuración y de Migración => Asistente de Configuración de Red.


La primera pantalla que se despliega es la de Bienvenida, dentro de ella se despliegan algunas opciones, de las cuáles se deberá seleccionar "Configuración del Listener". Posteriormente hacer clic en Siguiente.


En la siguiente pantalla solo aparecerá activa la opción de Agregar, esto es debido a que en este ejercicio se esta configurando por primera vez, en caso de hacer esto en otro ambiente la pantalla pude ser diferente.


En la siguiente pantalla se deberá especificar el nombre que tendrá el Listener, este nombre es un alias, por lo que puede ser cualquiera, aunque se recomienda utilizar uno que haga referencia al nombre de la BD, para este ejercicio se utilizará ORCL. Una vez que se ha especificado el nombre, hacer clic en Siguiente.


Posteriormente se deberá especificar el protocolo de conexión, para este ejercicio y por lo regular se utiliza TCP, el cual ya debe aparecer del lado de "Protocolos Seleccionados", ya una vez que es confirmado que es así hacer clic en Siguiente.


Todo listener debe tener un puerto que será utilizado para recibir las peticiones de conexión, este puerto debe ser uno libre, es decir, que no este utilizado por otro proceso, el puerto estándar que utiliza Oracle es el 1521. Para este ejercicio lo utilizaremos. En un ambiente productivo NO ES RECOMENDABLE, se debe utilizar uno diferente.


De acuerdo a las propiedades de seguridad de Windows se puede desplegar un mensaje de advertencia del Firewall, se deben activar las casillas de "Redes privadas, como las domésticas o del trabajo" y "Redes públicas, como las de aeropuertos y cafeterías..." Una vez seleccionadas se debe hacer clic en el botón de Permitir acceso.


La siguiente pantalla preguntará si se desea configurar otro Listener, para este ejercicio no es necesario, debe estar activa la opción No. Hacer clic en el botón Siguiente.


Si todo salio bien, el siguiente paso es validar que el LISTENER funcione de manera correcta. Para eso se debe abrir una consola de comandos. Una vez abierta se deben asignar las variables de ambiente correctas. Se hablará de esto más adelante, cuando se cree una base de datos. Para asignar las variables de ambiente se debe teclear lo siguiente:

  • set ORACLE_BASE=C:\Oracle\Product
  • set ORACLE_HOME=C:\Oracle\Product\11.2.0

Estas variables se deben asignar acorde a la instalación que se haya hecho, por lo que pueden variar acorde a cada instalación que se haga en los equipos en los que se este probando.

Se debe confirmar que las variables hayan sido asignados de manera correcta. Para lo cual una vez que se han asignado se deben validar de la siguiente manera:

  • echo %ORACLE_BASE%
  • echo %ORACLE_HOME%


Si todo salio bien, hasta este punto, ahora se va a validar que el listener este trabajando de manera correcta, para lo cual en la misma venta de comandos teclear lo siguiente: lsnrctl status orcl. Esta instrucción esta compuesta por tres partes, la primera (lsnrctl) es la que gestiona los procesos como detener, levantar, estatus, etc. La segunda parte (status) es para que nos muestre el estado del listener y por último, la tercera parte (orcl) es el nombre del listener con el cual estamos trabajando. Si el listener esta trabajando de manea correcta, la pantalla debe ser similar a la siguiente, poner atención en la línea UPTIME.


En caso de que la pantalla sea similar a la siguiente, el listener NO esta funcionado, es decir, esta abajo.


Lo que se tiene que hacer para levantar el listener es teclear lo siguiente: lsnrclt start orcl, en este caso se cambia status por start, el parámetro start indica que se va a iniciar el listener que tiene el nombre orcl.


En caso de que aún así siga sin levantar o iniciar, hay que revisar los mensajes de error que se despliegan, la configuración del listener las primeras veces es MUY FRUSTANTE, así que recomiendo tener paciencia y buscar los códigos de error en Internet para darse una idea del problema. Si en algo creen que les pueda ayudar pongan los errores y con mucho gusto los revisare. 







3 comentarios:

Unknown dijo...

Una pregunta ... Tengo instalado el cliente de Oracle SQL DEVELOPER funcionaba bien pero ahora me da el ERROR ORA-12514

Unknown dijo...

Hola.

Una disculpa, no había entrado a mi correo en varios días y me he estado poniendo al corriente, apenas veo tu mensaje. Sinceramente lo lamento mucho.

Si todavía tienes problemas, ese error, la mayoría de las veces se debe un problama con el LISTENER de la base de datos. Pueden ser varios factores, desde que este abajo o que un parametro haya cambiado.

Por favor intenta hacer un tnsping y dime que te responde.

Saludos.

Carlos dijo...

Disculpe en mi caso el problema que tengo que en mi pc me da codigo 12203 como logro revertir esa situacion ??

Colaboradores