{ORACLE} Come chiudere LOCK su transazioni distribuite

{ORACLE} Come chiudere LOCK su transazioni distribuite


Per riconciliare la transazione è necessario conoscere il LOCAL_TRAN_ID, o ID della transazione del nodo e il GLOBAL_TRAN_ID che identifica la transazione a livello di cluster.
Eseguire la ricerca del LOCK sulla tabella con:
SELECT GLOBAl_TRAN_ID FROM DBA_2PC_PENDING where LOCAL_TRAN_ID = ‘10.6.253841’;
NOTE: Il LOCAL_TRAN_ID  si trova nell event viewer.
Con questa query otteniamo il corrispettivo $GLOBAL_TRAN_ID.
Verificare che sia in STATE = ‘prepared’.
Per chiudere la transizione sarà sufficiente usare il comando:
COMMIT FORCE ‘10.6.253841’; — LOCAL_TRAN_ID
COMMIT FORCE ‘1145324612.AD4489B5AA72C1408B76F255AB46C28100000000′; GLOBAL_TRAN_ID
Rifacendo la query lo stato della transazione e’ in STATE = ‘forced commit’ o forced ‘rollback’
COMMIT FORCE ‘$GLOBAL_TRAN_ID’;

Post popolari in questo blog

Commentare o Scommentare