ORA-01591: Lock Held by in-Doubt Distributed Transaction

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Post Reply
sp66d_rac6r
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Posts: 9
Joined: Tue, 02 Dec 2008 10:43 am
Location: Sorocaba-SP

Environment information:
* Oracle version: Oracle9I Enterprise Edition Release 9.2.0.4.0 - 64bit Product
* Operating system: UNIX

Personal researching on this Error, I have reached some causes: falling connection or the bank.

Does this proceed?

Is there any treatment in the application?

or configuration in the bank?

Thank you in advance.
User avatar
dr_gori
Moderador
Moderador
Posts: 5026
Joined: Mon, 03 May 2004 3:08 pm
Location: Portland, OR USA
Contact:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

ORA-01591: Lock Held by in-Doubt Distributed Transaction String
Cause: Trying to Access Resource that is Locked by the Dead Two-Phase Commit Transaction State.

Action: DBA Should Query The Pending_Trans $ and related tables, and attempt to repair Network Connection (s) to coordinator and Commit Point. IF TIMELY REPAIR IS NOT POSSIBLE, DBA SHOULD CONTACT DBA AT COMMIT POINT IF KNOWN OR END USER FOR CORRECT OUTCOME, OR USE HEURISTIC DEFAULT IF GIVEN TO ISSUE A Heuristic Commit The Location Portion of the Distributed Transaction.
It seems like some process fired by another server (DB-Link) ran something and there were problems with the network and his session waited ...

Is it always on the same point? Or is it kind of random?
User avatar
dr_gori
Moderador
Moderador
Posts: 5026
Joined: Mon, 03 May 2004 3:08 pm
Location: Portland, OR USA
Contact:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

I found a tip, maybe help: http://www.vivaolinux.com.br/dica/Erro- ... -ORA01591/

Select all

Erro de Lock - ORA-01591 
Hoje tive um problema que resolvi compartilhar a solução que, embora simples, pode causar certo transtorno se não encontrada rapidamente. 
 
Este erro é causado devido a uma transação distribuída onde houve queda de conexão ou qualquer outro processo que interrompa a transação e bloqueie a tabela. 
 
Quando você vai efetuar uma consulta com agrupamento: 
 
SQL> Select count(1), controle From tabela; 
select count(1), controle from tabela 
* 
ERRO na linha 1: 
ORA-01591: lock held by in-doubt distributed transaction 22.11.41636 
 
Na página de erros da Oracle você encontra o seguinte: 
 
    * http://ORA-01591.ora-code.com  
 
 
ORA-01591: lock held by in-doubt distributed transaction string 
Cause: Trying to access resource that is locked by a dead two-phase commit transaction that is in prepared state. 
Action: DBA should query the pending_trans$ and related tables, and attempt to repair network connection(s) to coordinator and commit point. If timely repair is not possible, DBA should contact DBA at commit point if known or end user for correct outcome, or use heuristic default if given to issue a heuristic commit or abort command to finalize the local portion of the distributed transaction. 
 
Não diz muita coisa, já que o processo já se foi... 
 
Para conseguir o número do processo: 
 
SQL> Select * From sys.pending_trans$ Order by local_tran_id ; 
 
Aqui vão aparecer todos os processos pendentes. Na coluna STATE vai aparecer o processo como pending. 
 
SQL> rollback force '22.11.41636'; 
 
Irá encerrar com rollback e liberar a tabela. O número 22.11.41636 foi obtido da coluna LOCAL_TRAN_ID. 
 
SQL> Select count(1), controle From tabela; 
 
  COUNT(1) C 
---------- - 
      1210 1 
     21615 
 
sp66d_rac6r
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Posts: 9
Joined: Tue, 02 Dec 2008 10:43 am
Location: Sorocaba-SP

It occurred only today.

has a bank startup record in the V $ instance at the same time / minute of the log in the sys.pending_trans$ table

in Metalink, says It's something associated with a shutdown on the bench.
User avatar
dr_gori
Moderador
Moderador
Posts: 5026
Joined: Mon, 03 May 2004 3:08 pm
Location: Portland, OR USA
Contact:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Did you try to make rollback as it shows the tip above?
Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 1 guest