Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> URGENT: Lock on Distributed Transaction
We have 2 servers: v7.3.3.0.0 and 8.0.3.0.0 Enterprise on Solaris. We
create such trigger (insert, update, delete trigger) on one table at
v7 database that insert, update, and delete another table on another
table at v8 db. That table (on v7), have about 10 million records.
When the trigger is fired, we found there exist in-doubt transaction:
SQL> select count(*) from km_perusahaan;
ERROR:
ORA-01591: lock held by in-doubt distributed transaction 27.1.60504
When we query dba_2pc_neighbors, we got the result:
LOCAL_TRAN_ID IN_ DATABASE
---------------------- --- ------------ 2.16.904262 in 3.11.856354 in 27.1.60504 in 2.16.904262 out JAMSO8.WORLD 3.11.856354 out ULTRA.WORLD 27.1.60504 out JAMSO8.WORLD
We tried to query dba_2pc_pending, and get no record. We tried to commit force those transactions, but get the message:
SQL> commit force '27.1.60504';
commit force '27.1.60504'
*
ERROR at line 1:
ORA-02058: no prepared transaction found with ID 27.1.60504
The same result also, when trying rollback force. We check rollback segment, and found one of them PARTIALLY AVAILABLE status. It can't turn offline; finally we drop it.
From documentation, we are suggested to check the DBA_2PC_INDOUBT table. But that table does not exist (we tried both sys and system).
How to solve those locked transaction? Or, can I purge entries in
dba_2pc_neighbours?
Is dba_2pc_indoubt table must be exist, or it's just a mistake in
documentation (both Oracle7 and Oracle8 docs) ?
We found this as the big problems, because we are unable to query, and even export from that table!
Thanks in advance for help.
Istiqfar Received on Sat Oct 03 1998 - 08:25:22 CDT