- Este tópico contém 8 respostas, 3 vozes e foi atualizado pela última vez 17 anos, 3 meses atrás por
Ishii.
-
AutorPosts
-
2 de dezembro de 2008 às 5:48 pm #84070
sp66d_rac6r
ParticipanteInformações do Ambiente:
* Versão do Oracle: Oracle9i Enterprise Edition Release 9.2.0.4.0 – 64bit Production
* Sistema Operacional: UnixPessoal 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á.
2 de dezembro de 2008 às 6:56 pm #84076Ishii
ParticipanteOlá,
A aplicação é distribuída? Tipo grava os dados em bancos distribuídos? Se for isso pode ser que o problema esteja na aplicação mesmo…
[]s Ishii
2 de dezembro de 2008 às 8:05 pm #84079sp66d_rac6r
Participante[quote=”Ishii”:3txqmror]Olá,
A aplicação é distribuída? Tipo grava os dados em bancos distribuídos? Se for isso pode ser que o problema esteja na aplicação mesmo…
[]s Ishii[/quote]
Trata-se de uma rotina de limpeza. Exclui os dados de tabelas de 2 owners.
Vou levantar esta informação.
Pq, o que vc acha que está acontecendo?
2 de dezembro de 2008 às 10:34 pm #84085vieri
ParticipanteEste tipo de erro ocorre um função de queda na reda
, ou algum tipo de aborto na transação ficando
a mesma pendente no database com maior
commit_point_strength, que é a instância que irá coordenar
a transação distribuida, atrávés do protocolo de Two phase commit.How to criado por mim, pois de tempos em tempos ocorre isso aqui
na empresa não havendo oque ser feito até aonde eu sei.
A não ser que inclua isso no código do aplicativo.Rode a seguinte consulta para visualizar as transações distribuidas que estão
pendentesSQL> alter session set nls_date_format = ‘dd/mm hh24:mi:ss’ ;
Session altered.
SQL> select LOCAL_TRAN_ID , STATE , RETRY_TIME from dba_2PC_pending ;
LOCAL_TRAN_ID STATE RETRY_TIME
109.15.517 forced rollback 16/11 17:53:54
33.34.15417 forced commit 16/11 17:53:54
36.4.17795 forced commit 16/11 17:53:54
25.42.44364 forced commit 16/11 17:53:54
13.22.17089 forced rollback 16/11 17:53:54
33.47.18888 forced rollback 16/11 17:53:54
16.5.30254 forced rollback 16/11 17:53:54
35.38.16813 forced rollback 16/11 17:53:54
51.43.21516 forced rollback 16/11 17:53:54
9.13.189683 forced rollback 16/11 17:53:54
18.1.25660 pending 16/11 17:53:54Em comunicação com a equipe de desenvolvimento,
ou caso você seja da equipe, verifique qual foi o horário que começou a
ocorrer problemas.De posse do horário , utilize o script dinâmico abaixo no sqlplus, para gerar os
comandos de
rollback
das transações. Execute manualmente ou rode por spool .ex:
set pagesize0
SQL> select ‘rollback force ”’||local_tran_id|| ”” ||’ ;’ from dba_2pc_pending
where retry_time > ’16/11 17:53:54′ ;rollback force ‘82.17.24076’ ;
rollback force ‘4.21.386247’ ;
rollback force ‘22.0.318538’ ;
rollback force ‘23.1.441929’ ;
rollback force ‘24.1.388673’ ;
rollback force ‘26.3.224605’ ;
rollback force ‘28.29.173961’ ;
rollback force ‘59.19.124545’ ;
rollback force ‘60.2.125958’ ;
rollback force ‘63.9.205451’ ;
rollback force ‘92.33.71617’ ;Ficou claro ?
Caso não tenha.. estudo sobre 2pc pois o assunto é abrangente.
3 de dezembro de 2008 às 2:33 pm #84091sp66d_rac6r
ParticipanteEntendi sim.
Valeu!
3 de dezembro de 2008 às 5:56 pm #84104sp66d_rac6r
ParticipantePessoal, verifiquei na V$INSTANCE que houve novo restart do banco.
Tem alguma tabela/view onde consulto os erros do banco ou o log de shutdown e startup do banco?
Agradeço desde já.
3 de dezembro de 2008 às 6:28 pm #84108Ishii
ParticipanteOlá,
Procure o arquivo alert.log que nele tem todos os eventos do Oracle inclusive se houve algum erro inesperado.
[]s Ishii
3 de dezembro de 2008 às 8:47 pm #84109sp66d_rac6r
Participante[quote=”Ishii”:bmht50lm]Olá,
A aplicação é distribuída? Tipo grava os dados em bancos distribuídos? Se for isso pode ser que o problema esteja na aplicação mesmo…
[]s Ishii[/quote]
Ishii,
A aplicação é distribuída sim.
Usa IIS como controle.
3 de dezembro de 2008 às 8:53 pm #84112Ishii
ParticipanteOlá,
Muito provavelmente a app está apagando dados de um Banco que podem se referenciar a outro Banco que ainda não foi “limpo”, melhor rever em qual momento da rotina de limpeza isso ocorre e analisar se não deveria ser executado de outra forma.
[]s Ishii
-
AutorPosts
- Você deve fazer login para responder a este tópico.