Boas,

que tal você passar pro grupo um trace da sessão, coletando informações de
binds e waits? Acho que ajuda bastante?

Até!

Em 10/07/07, Marcio Portes <[EMAIL PROTECTED]> escreveu:
>
>   Talves se voce postar a query/codigo da procedure para grupo palpitar!!
>
>
> On 7/10/07, lcscabral <[EMAIL PROTECTED] <lcscabral%40yahoo.co.uk>>
> wrote:
> >
> > Ola a todos
> >
> > Estou com um problema que me quebra a cabeça e nem imagino como
> > começar a resolver!
> >
> > Tenho um select que roda quase instantaneamente quando executado
> > sozinho. Esse mesmo select é usado dentro de uma procedure numa
> > package, num cursor. Não é um select muito complexo, e a maior tabela
> > envolvida não é tão grande (5 milhoes de linhas), as outras tem
> > apenas algumas milhares de linhas.
> >
> > O problema é que, quando a execução da procedure chega nesse cursor,
> > ela simplesmente pára, literalmente por horas (cheguei a esperar mais
> > de 3 horas). Tenho que cancelar a execução da procedure. No
> > Enterprise Manager eu consigo ver o tal select NÃO sendo executado na
> > sessão, e o valor de CPU congela, não se mexe. Se eu comento a parte
> > da procedure que usa o cursor, ela executa em 5 minutos.
> >
> > Parece que a sessão está esperando por algo, como um lock, mas não há
> > locks em aguardo na sessão, nem imagino o que possa ser.
> >
> > Porém, quando essa mesma procedure roda, via job, as 7 da manhã, ela
> > roda em 1h30 (incluindo o select com problema).
> >
> > Sei que isso é muito pouca informação, mas há alguma coisa que devo
> > checar em primeiro lugar? Abaixo segue o Explain Plan (GAME_STATS é a
> > tabela maior).
> >
> > Oracle EE 9.2.0.8.0
> >
> > Obrigado
> > Luis
> >
> > SELECT STATEMENT, GOAL = ALL_ROWS Cost=465
> > Cardinality=1 Bytes=90
> > SORT AGGREGATE Cardinality=1 Bytes=18
> >
> > FILTER
> > TABLE ACCESS FULL Object Object name=BONUS_STATS Cost=5
> > Cardinality=1 Bytes=18
> > SORT GROUP BY Cost=465 Cardinality=1
> > Bytes=90
> > TABLE ACCESS BY INDEX ROWID Object Object name=GAME_STATS
> > Cost=445 Cardinality=1 Bytes=29
> > NESTED LOOPS Cost=453 Cardinality=1
> > Bytes=90
> > HASH JOIN Cost=8 Cardinality=1 Bytes=61
> >
> > TABLE ACCESS FULL Object Object name=CAMPAIGN Cost=2
> > Cardinality=31 Bytes=868
> > TABLE ACCESS FULL Object Object name=STATISTICS Cost=5
> > Cardinality=120 Bytes=3960
> > INDEX RANGE SCAN Object Object name=IDX_GAME_UNIQUE
> > Cost=305 Cardinality=2065
> >
> >
> >
>
> --
> Marcio Portes
> Material Tecnico em Portugues - http://mportes.blogspot.com
> Practical Learning Oracle -
> http://mportes.blogspot.com/2006/02/practical-learning-oracle.html
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Oscar Nogueira Neto
oscarnogueira[at]gmail[dot]com
http://www.oscarnogueira.com - Tentando explicar o Oracle!


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

Responder a