- Este tópico contém 7 respostas, 3 vozes e foi atualizado pela última vez 14 anos atrás por
fabiogalera.
-
AutorPosts
-
26 de novembro de 2011 às 3:41 am #101861
devaney
ParticipanteOi pessoal, eu gostaria de saber como ver as querys que estao sendo executadas no momento.
Eu tentei ver na tabela V$SQLTEXT, v$sql e V$SQLAREA mas nenhuma delas traz uma query que executo da aplicaçao (framework OAF).
Alguem pode me dar uma luz?Obrigado
26 de novembro de 2011 às 4:39 pm #101863rman
Participante@devaney
É possível visualizar através do Enterprise Manager. Aba desempenho, link principais atividades.
26 de novembro de 2011 às 11:45 pm #101868fabiogalera
Participantedevaney,
Veja bem, pra você ver as queries que estão executando no exato momento, basta você fazer uma query para ver a v$session. Existe uma coluna que se chama SQL_HASH_VALUE e PREV_HASH_VALUE, para ver a atual query e a anterior, respectivamente.
Sinceramente ? Algumas vezes as queries são executadas tão rapidas, que quase é impossível de se ver elas na v$session.
As views SQLAREA, SQL, SQLSTAT são basicamente queries que estão na Shared Pool, que já foram executadas e estão na memória para ser compartilhadas, se você executou alguma query, certeza absoluta que ela estara nessas views, basta procurar correntamente, usando o like na clausula where, etc. Lembre-se, a coluna recebe valores minusculos e maisculos, ou CASE SENTISITIVE (como alguns gostam de chamar).
Se for usar no Enterprise Manager, igual o rman disse, procure estudar como funciona essas views. Entreprise Manager é lindo e maravilhosamente rápido para achar as coisas, mas nos torna dependentes. Nem todos os clientes que você supostamente irá trabalhar usam E.M., lembre-se disso.
Abraços.
27 de novembro de 2011 às 2:48 am #101869devaney
Participante[quote=”fabiogalera”:34heavuf]
As views SQLAREA, SQL, SQLSTAT são basicamente queries que estão na Shared Pool, que já foram executadas e estão na memória para ser compartilhadas, se você executou alguma query, certeza absoluta que ela estara nessas views, basta procurar correntamente, usando o like na clausula where, etc. Lembre-se, a coluna recebe valores minusculos e maisculos, ou CASE SENTISITIVE (como alguns gostam de chamar).
[/quote]
Cara nas views SQLAREA, SQL e SQLTEXT eu nao acho uma query q estou executando através de uma aplicaçao. A aplicaçao faz o select e eu n acho nada nessas views. Oq serà q pode ser?27 de novembro de 2011 às 5:49 am #101870fabiogalera
ParticipanteA Oracle recomenda que você procure as queries na V$SQLSTATS. Tente procurar nela, é basicamente a mesma coisa que a V$SQL e a V$SQLAREA, porém ela retem mais tempo os cursores e também é mais rapida =)
Me diz uma coisa, como você esta procurando a query ? Pode postar todo o processo e tal ?
Assim fica mais fácil te ajudar, você provavelmente está errando em alguma coisa, pois sempre que se executa uma query, ela fica armazenada na Shared Pool e você pode ver os cursores nas views.
27 de novembro de 2011 às 4:46 pm #101871devaney
ParticipanteSELECT SQL_TEXT
FROM V$SQL
WHERE SQL_TEXT LIKE ‘%LOJA001%LOJA001 é o filtro que eu coloco na pagina da aplicaçao, entao a aplicaçao faz uma query com aquele filtro, e nao acho essa query.
Obrigado por responder
27 de novembro de 2011 às 6:08 pm #101872devaney
Participante[quote=”devaney”:igxg8e22]SELECT SQL_TEXT
FROM V$SQL
WHERE SQL_TEXT LIKE ‘%LOJA001%LOJA001 é o filtro que eu coloco na pagina da aplicaçao, entao a aplicaçao faz uma query com aquele filtro, e nao acho essa query.
Obrigado por responder[/quote]
Descobri porque eu nao achava, era pq a aplicaçao colocava assim:
SELECT *
FROM TBL_LOJAS
WHERE COD_LOJA = :1Esse :1 me enganava sempre.
Valeu
28 de novembro de 2011 às 12:21 am #101873fabiogalera
ParticipanteIsso eh bind variable, caso queira procurar sobre. De gracas a deus por eles usarem hehehe =)
Abracos.
-
AutorPosts
- Você deve fazer login para responder a este tópico.