ORA-24550: signal reçu: [si_signo=6] erreur
Je veux savoir ce que ORA-24550: signal reçu: [si_signo=6] signifie?
Je sais que c'est une erreur oracle et peut un oracle dernière mise à jour peuvent résoudre le problème.
Lorsque cette erreur est déclenchée, comme le scénario où ce signal doit être traité ou si cette erreur se produit lors de ma demande de gérer quelque chose lié à oracle et l'application n'a pas pu le faire.
Vous devez vous connecter pour publier un commentaire.
C'est un signe que votre client Oracle a reçu un signal, il ne s'y attendait pas. Le Oracle docs dire:
Par défaut, Oracle enregistre ses propres gestionnaires de signaux, mais vous pouvez le configurer pour laisser les signaux se propagent à la place.
Vous aurez généralement voir un journal en ligne, comme ceci:
et vous pouvez voir un traceback trop.
De débogage, vous devez savoir qu'est-ce que la production de ce signal.
si_signo=6
signifie que vous obtenez signal 6. On peut savoir quel signal c'est avec$ man 7 signal
:Nous pouvons voir que vous êtes l'obtention de
SIGABRT
. Cela signifie généralement quelque chose est d'appelerabort()
.cx_Oracle.Connection("foo", threaded=True)
.J'ai eu une erreur similaire, mais j'ai obtenu le si_signo=11 (référence mémoire Invalide selon le commentaire précédent), dans mon cas, je travaillais sur Red Hat 6.5 et mon Oracle DB est dans un autre serveur, le problème est local à ma Red Hat serveur, voici l'erreur:
Dans mon cas, la solution était très simple, j'ai eu un taille de la pile quantité limitée, temporaire de la solution a été de changer à un nombre illimité de
Puis j'ai retenté pour le lancement de mon application, le problème avait disparu.
Cette solution, en effet, m'a fait comprendre que j'avais à définir une valeur plus élevée pour la taille de la pile de l'indice, veuillez tenir compte de l'augmentation de la valeur mais pas en illimité parce que c'est pas une bonne pratique, il pourrait prendre vers le bas le serveur ou de créer des problèmes de performances.
Oracle établit ses propres gestionnaires de signaux, de sorte que cette erreur peut être due à la non prise en charge sigabort signal.
Vous pouvez désactiver l'oracle de traitement de signal pour savoir si cette erreur est fourni par oracle, ou il est complètement une autre raison. Pour désactiver vous définissez DIAG_SIGHANDLER_ENABLED=FALSE dans sqlnet.ora fichier. Je ne pense pas que la raison est l'oracle lui-même.