Jika Anda tidak memiliki akses ke v$session, Anda dapat menggunakan
select dbms_transaction.local_transaction_id from dual;
Ini hanya berfungsi dari dalam sesi tetapi tidak memerlukan hak istimewa v$. Jika mengembalikan non-null, Anda telah memulai transaksi. Itu biasanya berarti perubahan yang tidak dikomit, tetapi ada pengecualian. Jika Anda mengeluarkan savepoint, mengubah data dan memutar kembali ke savepoint, transaksi tetap 'hidup'. Selain itu, menggunakan tautan basis data memulai transaksi, bahkan hanya untuk pilihan (atau dulu).