ORA-01591: lock held by in-doubt distributed transaction
L'errore "ORA-01591: blocco trattenuto da transazione distribuita in dubbio", significa che nel database sono presenti alcune transazioni non committate. C'è stato un tentativo di accesso a una risorsa bloccata da una transazione di commit a due fasi (two-phase commit trnsaction) morta che è in stato "prepared". È necessario eseguire il "rollback force" o il "commit force" per le transazioni non committate per risolvere questo problema. Query per individuare le transazioni non committate o pending (in sospeso) con il seguente script che genera anche il comando di forza di rollback SQL> select 'rollback force '''||local_tran_id||''';' from DBA_2PC_PENDING where state='prepared'; SQL> select 'commit force '''||local_tran_id||''';' from DBA_2PC_PENDING where state='prepared'; Che cos'è una in-doubt distributed transaction ? Le transazioni distribuite po