¿Cómo soluciono el error “javasqlSQLException: No more data to read from socket” (javaSQLException: No hay más datos para leer desde el socket) cuando intento conectarme a mi instancia de Amazon RDS for Oracle?

Última actualización: 12-11-2021

Aparece el error “javasqlSQLException: No more data to read from socket” (javaSQLException: No hay más datos para leer desde el socket) cuando intento conectarme a mi instancia de base de datos de Amazon Relational Database Service (Amazon RDS) for Oracle.

Resolución

Aparece el error“javasqlSQLException: No more data to read from socket” (javaSQLException: No hay más datos para leer desde el socket) debido a un problema de conectividad entre el servidor de Oracle y el controlador JDBC del cliente. Los motivos y las opciones de solución de problemas más comunes para estos errores de conexión son los siguientes:

  • La conexión finaliza abruptamente debido a interrupciones de la red: Para solucionar este problema, compruebe el archivo alert.log de la instancia para ver si hay errores de tiempo de espera de TNS publicados durante el tiempo en que se agotó el tiempo de espera de la conexión desde el lado de la aplicación. Para obtener más información, consulte la documentación para errores de tiempo de espera de TNS. Para obtener más información sobre el acceso al registro de alertas para instancias de RDS, consulte Archivos de registro de bases de datos Oracle.
  • La conexión finaliza debido a errores de Oracle en el lado del servidor: Compruebe el archivo alert.log para detectar errores ORA-0600 u ORA-07445. Recopile el volcado de seguimiento para errores específicos de Oracle. Compruebe si estos errores tienen una solución conocida proporcionada por el soporte de Oracle.
  • La conexión cliente-servidor no está activa: Para solucionar este problema, establezca el parámetro SQLNET.EXPIRE_TIME en un intervalo especificado, en minutos, para realizar un sondeo que verifique que las conexiones cliente-servidor están activas. Para obtener más información, consulte la documentación para SQLNET. EXPIRE_TIME.
  • La instancia de RDS for Oracle no está disponible o se reinició cuando el cliente JDBC intentaba utilizar una conexión existente con el servidor de Oracle: Para solucionar este problema, recupere los eventos de la instancia de RDS y compruebe 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 for Oracle son incompatibles: Para solucionar este problema, confirme que la versión del controlador JDBC es compatible con la de la instancia de base de datos. Para obtener la lista de controladores JDBC compatibles, consulte la documentación de Oracle para Matriz de compatibilidad para máquinas Java y controladores JDBC utilizados con ODI. Si el controlador JDBC no es compatible, descargue el archivo JAR más reciente en su código fuente. A continuación, incluya este archivo en su classpath cuando compile la clase que crea conexiones a la base de datos. Para obtener más información, consulte Descarga del controlador JDBC.
  • Los componentes de memoria del lado del cliente provocan tiempos de espera: Para solucionar este problema, compruebe si Oracle Data Integrator tiene componentes de memoria en el lado del cliente que provocan tiempos de espera no deseados. Asegúrese de establecer los valores correctos para estos componentes en el lado del cliente. Para obtener más información, consulte la documentación de Oracle sobre Cómo definir las opciones de Java (como los límites del montón de memoria, la ubicación de bibliotecas que no son de Java, etc.) en ODI.

¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?