Als je geen toegang hebt tot v$session, kun je
select dbms_transaction.local_transaction_id from dual;
Dit werkt alleen vanuit de sessie, maar heeft geen v$-rechten nodig. Als het een niet-null retourneert, bent u een transactie gestart. Dat betekent normaal gesproken niet-vastgelegde wijzigingen, maar er zijn uitzonderingen. Als je een savepoint hebt uitgegeven, gegevens hebt gewijzigd en teruggedraaid naar het savepoint, 'leeft' de transactie nog steeds. Ook start het gebruik van databaselinks transacties, zelfs alleen voor selects (of vroeger).