Ir al contenido principal

ORA-12537 Usando un listener de 9i para conectar a una BD 10g

Cuando se tienen 2 instalaciones de oracle con versiones diferentes, hay que utilizar siempre el listener de la version mas nueva. Segun metalink Oracle 8i funcionara con listeners de 8 y de 9 la version 9 con listeners versiones 9 y 10 y la 10 con listeners de 10 y 11.

En este caso el error ORA-12537 se presenta cuando se utiliza por ejemplo para una BD de 10g un listener de 9i. En este caso lo que hay que hacer es copiar el listener.ora al directorio network/admin del home de la instalacion de 10 bajar el listener de 9 e iniciar el de 10. Con esto todas las BD de oracle 9 se conectaran usando el listener de la Version 10g.

Saludos.

Comentarios

  1. Hola Fernando, en mi trabajo estamos tratando de hacer convivir una instancia 8i junto con instancias 10g R2, pero estamos teniendo problemas con los listeners.

    Los pasos que seguimos fueron los siguientes:

    1) Configuramos el ORACLE_HOME de la 10g R2:

    U:\>set ORACLE_HOME=D:\u01\app\oracle\product\10.2.0.1\db_1

    2) Consultamos el estado del listener de la 10g R2 creado por nosotros, y nos dió el siguiente error:

    U:\>D:\u01\app\oracle\product\10.2.0.1\db_1\bin\lsnrctl status LISTENER99

    LSNRCTL for 32-bit Windows: Version 10.2.0.4.0 - Production on 25-SEP-2009 15:27:59

    Copyright (c) 1991, 2007, Oracle. All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rapitest.intelap.local)(PORT=1531)
    ))
    TNS-12541: TNS:no listener
    TNS-12560: TNS:protocol adapter error
    TNS-00511: No listener
    32-bit Windows Error: 61: Unknown error

    3) Decidimos bajar el listener 8 para que sólo esté el 10:

    U:\>D:\oracle\ora81\bin\lsnrctl stop

    LSNRCTL for 32-bit Windows: Version 8.1.7.3.0 - Production on 25-SEP-2009 15:25:57

    (c) Copyright 1998 Oracle Corporation. All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
    The command completed successfully

    U:\>set ORACLE_HOME=D:\u01\app\oracle\product\10.2.0.1\db_1

    4) Y también nos aparece error:

    U:\>D:\u01\app\oracle\product\10.2.0.1\db_1\bin\lsnrctl start LISTENER99

    LSNRCTL for 32-bit Windows: Version 10.2.0.4.0 - Production on 25-SEP-2009 15:26:11

    Copyright (c) 1991, 2007, Oracle. All rights reserved.

    Starting tnslsnr: please wait...

    Failed to open service OracleOraHome10R2TNSListenerLISTENER99, error 1060.

    Cualquier sugerencia o alternativa a seguir será bienvenida.

    Desde ya muchas gracias.

    ResponderBorrar
  2. Hola, es un poco tarde pero espero sirva de algo. Vas a tener que usar para cada version su respectivo listener, solo ten cuidado que cada una este escuchando en un puerto diferente, si puedes pega el contenido del listener.ora y del listener.log de cada listener para ver si te regresa algun error en especifico.

    Saludos.

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Eliminar archivelogs desde RMAN

Estos son algunos ejemplos para eliminar los archivelogs desde RMAN. Para eliminara todos los archivos expirados sin pedir confirmación. delete noprompt expired archivelog all; Para eliminar los archive logs expirados de algún folder en especifico (Pedirá confirmación antes de borrar): delete expired archivelog like '+FRA/STACK/ARCHIVELOG/2017_03_12/%'; Para eliminar archive logs basados en la fecha de creación, por ejemplo archive logs de mas de 7 dias.  (Sin confirmacion) delete archivelog until time 'sysdate - 7'; Borrar archivelogs hasta una secuencia en especifico: delete archivelog until sequence = 43; Borrar archivelogs desde una secuencia en especifico: (Usar con precaución) delete archivelog from sequence = 38; Combinándolas: delete archivelog from sequence = 38 until sequence = 47; Saludos. F.R.

Como saber que Service Pack tengo instalado en SQL Server?

Para saber que Service pack se tiene instalado en SQL Server, Hay que ejecutar el siguiente comando: SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition') Este regresa algo parecido a: 9.00.3042.00 SP2 Enterprise Edition El primer registro es la versión, el segundo es el nivel de producto (en este caso Service pack 2), y el ultimo es la edición, En este caso Enterprise. Esta es una tabla con las versiones de SQL y su respectivo Service pack. RTM SP1 SP2 SP3 SP4 SQL Server 2017 SQL Server 2016 13.0.2149.0 13.0.4001.0 SQL Server 2014 12.0.2000.8 12.0.4100.1 12.0.5000.0 SQL Server 2012 11.0.2100.60 11.0.3000.00 11.0.5058.0 11.0.6020.0 11.0.7001.0 SQL Server 2008 R2 10.50.1600.1 10.50.2500.0 10.50.4000.0 10.50.6000.34 SQL Server 2008 10.00.1600.22   10.00.2531.00 10.00.4000.00 10.00.5500.00 10.0.6000.29 SQL Server 2005 9.00.1399 9.00.2047 9.00.3042 9.00.4035 9.00.5000 SQL Serve...

Migrar los logins / usuarios de SQL Server entre servidores

Cuando necesitamos mover una BD de un servidor a otro, pero queremos que los usuarios tengan los mismos privilegios que en el servidor actual, tenemos que llevar al nuevo servidor tambien los logins. En SQL server es diferente un login a un usuario. Un login es a nivel del Servidor y usario es a nivel de la BD. Si creamos por ejemplo el usuario fer en el servidor A, y luego creo un usuario fer en el servidor B y me llevo la BD produccion al server B el usuario fer es diferente, esto debido a que sql en realidad trabaja con SIDs en lugar del nombre del usuario. Para solucionar esto hay que llevarnos los logins al nuevo server. Como la BD se respalda con los usuarios incluidos, solo hay que recrear los usuarios con su mismo SID en el nuevo server. El script es como sigue: SET NOCOUNT ON SELECT 'EXEC sp_addlogin @loginame = ''' + loginname + '''' ,', @defdb = ''' + dbname + '''' ,', @deflanguage = ''' + langu...