Oracle Database / Sessions, Locks & Transactions
ORA-01591: inspect an in-doubt distributed transaction
An interrupted distributed commit can leave a transaction holding resources until its outcome is resolved. Gather the transaction identifier from the error.
Environment and inputs: Oracle Database 19c baseline · SQL*Plus-compatible SQL unless RMAN, DGMGRL, ADRCI or a host shell is specified. Check release, patch level, edition and container first.
Start with this diagnostic
Use the stated SQL, RMAN, DGMGRL or host shell and replace sample names with approved targets. DBA and V$ views need authorized catalog access in the correct container. Do not grant broad privileges for an example.
SELECT local_tran_id, global_tran_id, state, mixed, advice, fail_time FROM dba_2pc_pending;
Read the result
The view identifies pending distributed transactions visible in this database. The remote coordinator and participants determine the correct outcome.
Resolve and verify
Correlate the local ID with remote participants and application logs. Let normal recovery resolve the transaction where possible or follow a coordinated DBA recovery procedure.
Operational precautions
Never force commit or rollback based solely on elapsed time; an inconsistent decision can violate cross-database business integrity.