Supprimer impasse sans tuer session
Est-il une solution pour supprimer l'impasse sans tuer la session?
Vous devez vous connecter pour publier un commentaire.
Est-il une solution pour supprimer l'impasse sans tuer la session?
Vous devez vous connecter pour publier un commentaire.
De la Concepts Guide:
Vous n'avez pas à faire quelque chose pour supprimer une impasse, Oracle prend en charge automatiquement. La session n'est pas tué, il est restaurée à un point juste avant le déclenchement de la déclaration. L'autre session n'est pas affectée (i-e, il attend toujours d'obtenir le verrou jusqu'à ce que le restaurée session valide ou annule la transaction).
Dans la plupart des situations de blocages doivent être extrêmement rares. Vous pouvez éviter tous les blocages en utilisant POUR la mise à JOUR NOWAIT plutôt les instructions de mise à JOUR.
Voir aussi
Blocages sont automatiquement effacés dans Oracle par l'annulation de l'un des verrouillée consolidés. Vous n'avez pas besoin de le faire manuellement. L'une des sessions aurez "ORA-00060" et il doit décider si pour réessayer ou annuler.
Mais de vous description, il semble que vous avez un bloc, pas de blocage.
De toute façon, le blocage de la session doit en quelque sorte libérer sa serrure -- par la validation ou de la restauration de sa transaction. Vous pouvez simplement attendre qu'il (peut-être pour une longue période). Si vous pouvez modifier le code de votre application-vous pouvez probablement réécrire à la libération de verrou ou de l'éviter. Sinon, vous avez pour tuer la session immédiatement débloquer des ressources.
Non, Oracle 10g ne semble pas résoudre les blocages automatiquement dans la pratique. Nous n'avons dealocks et nous avons dû effacer les sessions manuellement.
Cette page peut aider à identifier si vous avez des blocages
L'identification et la Résolution Oracle ITL Impasse