Aparece el error “javasqlSQLException: No more data to read from socket” cuando intento conectarme a mi instancia de base de datos de Amazon Relational Database Service (Amazon RDS) para Oracle.
Resolución
Aparece el error javasqlSQLException: No more data to read from socket debido a un problema de conectividad entre el servidor de Oracle y el controlador JDBC del cliente.
Los siguientes son los motivos y los pasos de resolución más comunes para estos errores de conexión:
La conexión se detiene bruscamente debido a interrupciones en la red
Comprueba el archivo alert.log de la instancia para ver los errores de tiempo de espera de TNS publicados cuando se agotó el tiempo de espera de la conexión desde de la aplicación.
Para obtener más información sobre el acceso a los registros de alertas para las instancias de RDS, consulta los Archivos de registro de base de datos de Amazon RDS para Oracle.
La conexión se detiene debido a errores de Oracle en el servidor
Comprueba el archivo alert.log para ver si hay errores ORA-0600 u ORA-07445. Recopila el volcado de rastreo para detectar errores específicos de Oracle. Comprueba si el equipo de soporte de Oracle ha proporcionado una solución conocida.
La conexión entre el cliente y el servidor no está activa
Establece el parámetro SQLNET.EXPIRE_TIME en un intervalo específico para enviar una sonda que verifique que las conexiones entre el cliente y el servidor estén activas.
Para obtener más información, consulta SQLNET. EXPIRE_TIME en el sitio web de Oracle.
La instancia de RDS para Oracle no está disponible o se reinició cuando el cliente JDBC intentaba utilizar una conexión existente con el servidor de Oracle
Recupera los eventos de la instancia de RDS. A continuación, comprueba si la instancia se reinició o se detuvo cuando se establecieron las conexiones desde el cliente JDBC.
Los controladores JDBC utilizados para conectarse a la instancia de RDS para Oracle son incompatibles
Confirma que la versión del controlador JDBC sea compatible con la instancia de base de datos. Para obtener la lista de controladores JDBC compatibles, consulta Oracle Fusion Middleware supported system configurations (Configuraciones del sistema compatibles con Oracle Fusion Middleware) en el sitio web de Oracle. Si el controlador JDBC no es compatible, primero descarga el archivo JAR más reciente del código fuente. A continuación, incluye este archivo en la ruta de clases cuando compiles la clase que crea conexiones a la base de datos.
Para obtener más información, consulta Downloading the JDBC driver (Descarga del controlador JDBC).
Los componentes de memoria del lado del cliente provocan tiempos de espera agotados
Comprueba si Oracle Data Integrator tiene componentes de memoria en el lado del cliente que provoquen tiempos de espera no deseados. Asegúrate de establecer los valores correctos para estos componentes en el lado del cliente.
Información relacionada
No more data to read from socket error from an ODI Mapping or integration interface (Error “No more data to read from socket” en una asignación de ODI o una interfaz de integración) en el sitio web de Oracle
Compatibility matrix for Java machines and JDBC drivers used with ODI (Matriz de compatibilidad para máquinas Java y controladores JDBC utilizados con ODI) en el sitio web de Oracle
How to define Java options (such as the limits of memory heap, the location of non-Java libraries, etc.) in ODI (Cómo definir las opciones de Java [como los límites del montón de memoria, la ubicación de las bibliotecas que no son de Java, etc.] en ODI) en el sitio web de Oracle