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
