Informações do Ambiente:
* Versão do Oracle: Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
* Sistema Operacional: Unix
Pessoal pesquisando sobre este erro, cheguei a algumas causas: queda de conexão ou do banco.
Isto procede?
Falta algum tratamento na aplicação?
Ou configuração no banco?
Agradeço desde já.
ORA-01591: lock held by in-doubt distributed transaction
-
- Rank: Estagiário Sênior
- Mensagens: 9
- Registrado em: Ter, 02 Dez 2008 10:43 am
- Localização: Sorocaba-SP
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Parece que algum processo disparado por outro server (db-link) rodou algo e houve problemas com a rede e a sessão dele ficou esperando...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.
Sempre acontece no mesmo ponto? Ou é meio aleatório ?
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Achei uma dica, talvez ajude:
http://www.vivaolinux.com.br/dica/Erro- ... -ORA01591/
http://www.vivaolinux.com.br/dica/Erro- ... -ORA01591/
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
-
- Rank: Estagiário Sênior
- Mensagens: 9
- Registrado em: Ter, 02 Dez 2008 10:43 am
- Localização: Sorocaba-SP
Ocorreu apenas hoje.
Tem um registro de startup do banco na v$instance na mesma hora/minuto do log na tabela
No metalink, diz que é algo associado a um shutdown no banco.
Tem um registro de startup do banco na v$instance na mesma hora/minuto do log na tabela
sys.pending_trans$
.No metalink, diz que é algo associado a um shutdown no banco.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes