Haz
9
2015
9
2015
ORA-01591 locked held by in-doubt distributed transactions hatası çözümü
Merhaba,
Entegrasyonlarda karşımıza çıkabilecek olan commitlenmemiş işlemler için aşağıdakiler sırası ile yapılır.

Ekranda çıkan hatadaki local_trans_id interface de bekletilen sorunlu kayıt için sorgulanır.
Commitlenmemiş alan yakalanır.
SELECT * FROM dba_2pc_pending WHERE local_tran_id = '158.30.924783'; |
İşlemin geri alınması için
rollback için
SELECT 'rollback force ''' || local_tran_id || ''';' FROM dba_2pc_pending WHERE state = 'prepared'; |
ROLLBACK force '158.30.924783'; |
sql sonrası gelen komut çalıştırıldığında aşağıdaki şekilde hata alınırsa
ORA-02058: no prepared transaction found with ID 158.30.924783
Aşağıdaki komut çalıştırılarak bekleyen işlemler için rollback işlemi gerçekleştirilir.
call DBMS_TRANSACTION.purge_lost_db_entry('158.30.924783'); |
Yukarıdaki procedure sonucunda iki tabloda kayıtların gittiği gözlemlenir.
SELECT local_tran_id, global_tran_id, state, fail_time, retry_time FROM dba_2pc_pending WHERE local_tran_id = '158.30.924783'; |
SELECT DATABASE, local_tran_id, dbid, sess#, branch FROM dba_2pc_neighbors WHERE local_tran_id = '158.30.924783' |
Latest posts by Ozan Arıkan (see all)
- Weblogic varsayılan java dizinin değiştirilmesi - 08 Temmuz 2020
- Jdeveloper üzerinde kaynak kodlara erişim eklentisi - 30 Mayıs 2020
- Tanımlı olmayan ülkelerin eklenmesi - 27 Mayıs 2020
Etiketler: DBA_2PC_PENDING, distrubed transactions
Yazar




