Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment puis-je savoir si j'ai un travail non validé dans une transaction Oracle ?

Si vous n'avez pas accès à v$session, vous pouvez utiliser

select dbms_transaction.local_transaction_id from dual;

Cela ne fonctionne qu'à partir de la session mais n'a pas besoin des privilèges v$. S'il renvoie une valeur non nulle, vous avez démarré une transaction. Cela signifie normalement des modifications non validées, mais il existe des exceptions. Si vous avez émis un point de sauvegarde, modifié des données et annulé le point de sauvegarde, la transaction est toujours "vivante". De plus, l'utilisation de liens de base de données démarre les transactions, même uniquement pour les sélections (ou elles le faisaient auparavant).