Olá Fábio,

Se está havendo deadlock com uma única sessão é possível que esteja sendo
utilizado Autonomous Transaction no código. Assim, na mesma sessão é aberta
uma outra transação, que pode estar locando a principal. Veja se existem
triggers na tabela onde está sendo feito esse delete, e tende entender o que
está acontecendo nelas. Se não houver triggers nessa tabela, tente  procurar
por esse delete dentro da dba_source pra ver se ele pertence a alguma
trigger ou procedure, pra tentar rastrear o problema. Você identifica a
utilização de transações autônomas através do código "PRAGMA
autonomous_transaction;".

[]'s

Marcos

Em 24 de março de 2010 13:20, Fábio Telles Rodriguez <[email protected]
> escreveu:

>
>
> Senhores, estou com um Oracle 10.2.0.4 num Linux x86_64 com RH 4.6 e
> começando a utilizar swap. Ok, quando a memória se vai, os problemas
> começam
> e de fato ouveram algumas ocorrências isoladas de ORA-4031.
>
> Mas o que está estranho são os deadlocks recorrentes onde o mesmo deadlock
> surge várias veses no alert (com diferença de segundos) e apontando sempre
> para o mesmo trace. O SQL é sempre o mesmo, um DELETE, e o bizarro é com
> apenas uma sessão. Pelo que eu entendo, não é possível haver deadlock em
> uma
> única sessão. Alguma dica de qual o problema pode estar ocorrendo?
>
> *** 2010-03-22 15:20:04.817
> *** ACTION NAME:(M_LAN_AMB_PARTICULAR) 2010-03-22 15:20:04.710
> *** MODULE NAME:(MVFNCT ) 2010-03-22 15:20:04.710
> *** SERVICE NAME:(SYS$USERS) 2010-03-22 15:20:04.710
> *** SESSION ID:(498.12593) 2010-03-22 15:20:04.710
> DEADLOCK DETECTED ( ORA-00060 )
> [Transaction Deadlock]
> The following deadlock is not an ORACLE error. It is a
> deadlock due to user error in the design of an application
> or from issuing incorrect ad-hoc SQL. The following
> information may aid in determining the deadlock:
> Deadlock graph:
> ---------Blocker(s)--------
> ---------Waiter(s)---------
> *Resource Name process session holds waits process session holds
> waits*
> *TX-00150013-00031d12 30 498 X 30 498
> X*
> session *498*: DID 0001-001E-00000206 session *498*: DID
> 0001-001E-00000206
> Rows waited on:
> Session *498*: obj - rowid = 0000B8D0 - AAALjQAAGAADgRIAAj
> (dictionary objn - 47312, file - 6, block - 918600, slot - 35)
> Information on the OTHER waiting sessions:
> End of information on OTHER waiting sessions.
> Current SQL statement for this session:
> *DELETE FROM SCHEMA.ITREG_AMB WHERE CD_REG_AMB = :B2 AND DECODE(:B1 , NULL,
> 1,CD_ATENDIMENTO) = DECODE(:B1 , NULL, 1,:B1 )*
>
> Qualquer dica é bem vinda, uma vez que não encontrei nada parecido no
> google
> ou no metalink.
>
> Atenciosamente,
> --
> blog: http://www.midstorm.org/~telles/<http://www.midstorm.org/%7Etelles/>
> e-mail / jabber: [email protected] <fabio.telles%40gmail.com>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/[email protected]/ 
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
 Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [email protected]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a