Comment résoudre l'erreur « javasqlSQLException: No more data to read from socket » lorsque j'essaie de me connecter à mon instance Amazon RDS for Oracle ?

Date de la dernière mise à jour : 12/11/2021

L'erreur « javasqlSQLException: No more data to read from socket » s'affiche lorsque j'essaie de me connecter à mon instance de bases de données Amazon Relational Database Service (Amazon RDS) for Oracle.

Solution

L'erreur « javasqlSQLException: No more data to read from socket » s'affiche en raison d'un problème de connectivité entre le serveur Oracle et le pilote JDBC client. Les raisons les plus courantes et les options de dépannage de ces défaillances de connexion sont les suivantes :

  • La connexion est interrompue brusquement en raison d'interruptions du réseau : pour résoudre ce problème, recherchez dans le fichier alert.log de l'instance toute erreur de délai d'expiration TNS affichée au moment où la connexion a expiré depuis la fin de l'application. Pour plus d'informations, consultez la documentation Oracle pour les erreurs de délai TNS. Pour plus d'informations sur l'accès au journal des alertes pour les instances RDS, consultez Fichiers journaux de base de données Oracle.
  • La connexion est interrompue en raison d'erreurs Oracle côté serveur : vérifiez si le fichier alert.log contient des erreurs ORA-0600 ou ORA-07445. Collectez le vidage de trace pour rechercher des erreurs Oracle spécifiques. Vérifiez si ces erreurs ont un correctif connu fourni par le support Oracle.
  • La connexion client-serveur n'est pas active : pour résoudre ce problème, définissez le paramètre SQLNET.EXPIRE_TIME sur un intervalle spécifié, en minutes, pour envoyer une sonde qui vérifie que les connexions client-serveur sont actives. Pour obtenir des informations supplémentaires, consultez la documentation Oracle relative au paramètre SQLNET. EXPIRE_TIME.
  • L'instance RDS pour Oracle n'est pas disponible ou a été redémarrée lorsque le client JDBC tentait d'utiliser une connexion existante au serveur Oracle : pour résoudre ce problème, récupérez les événements de l'instance RDS et vérifiez si l'instance a été redémarrée ou arrêté lorsque les connexions ont été établies à partir du client JDBC.
  • Les pilotes JDBC utilisés pour se connecter à l'instance RDS for Oracle sont incompatibles : pour résoudre ce problème, vérifiez que la version du pilote JDBC est compatible avec celle de l'instance de base de données. Pour obtenir la liste des pilotes JDBC compatibles, consultez la matrice de compatibilité pour les machines Java et les pilotes JDBC utilisés avec ODI dans la documentation Oracle. Si le pilote JDBC n'est pas compatible, téléchargez le dernier fichier JAR dans votre code source. Ensuite, incluez ce fichier dans votre chemin de classe lorsque vous compilez la classe qui crée des connexions à la base de données. Pour plus d'informations, consultez Téléchargement du pilote JDBC.
  • Les composants de mémoire du côté client provoquent des délais d'expiration : pour résoudre ce problème, vérifiez si Oracle Data Integrator possède des composants de mémoire du côté client qui provoquent des délais d'expiration indésirables. Assurez-vous de définir les valeurs correctes pour ces composants du côté client. Pour plus d'informations, consultez Comment définir les options Java (telles que les limites du la heap de mémoire, l'emplacement des bibliothèques non Java, etc.) dans ODI dans la documentation Oracle.

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?