- Este tópico contém 5 respostas, 3 vozes e foi atualizado pela última vez 13 anos atrás por
airoosp.
-
AutorPosts
-
6 de março de 2013 às 2:43 am #105131
airoosp
ParticipanteBoa tarde,
Preciso identificar um problema em uma aplicação e estou tentando verificar quais as querys que esta aplicação executa no banco. Pesquisando na internet, encontrei a query abaixo:
fonte: http://searchoracle.techtarget.com/answ … e-database
col stmtid heading ‘Stmt Id’ format 9999999999
col dr heading ‘PIO blks’ format 999,999,999
col bg heading ‘LIOs’ format 999,999,999
col sr heading ‘Sorts’ format 999,999
col exe heading ‘Runs’ format 999,999,999
col rp heading ‘Rows’ format 9,999,999,999
col rpr heading ‘LIOs|per Row’ format 999,999,999
col rpe heading ‘LIOs|per Run’ format 999,999,999
col sqltxt heading ‘SQL Statement’ format A25 word_wrappedset pause on
set pagesize 30
set pause ‘More: ‘
set linesize 120select s.hash_value stmtid ,
t.sql_text sqltxt ,
sum(s.disk_reads) dr ,
sum(s.buffer_gets) bg ,
sum(s.rows_processed) rp ,
sum(s.buffer_gets)/greatest(sum(s.rows_processed),1) rpr ,
sum(s.executions) exe ,
sum(s.buffer_gets)/greatest(sum(s.executions),1) rpe
from v$sql s, v$sqltext t
where s.command_type in ( 2,3,6,7 )
and s.hash_value = t.hash_value
group by s.hash_value, t.sql_text
order by 5 descFiz umas alterações para pegar sid, username, osuser, machine.
select o.sid, o.username, o.osuser, o.machine, s.hash_value stmtid ,t.sql_text sqltxt ,sum(s.disk_reads) dr ,sum(s.buffer_gets) bg ,
sum(s.rows_processed) rp ,sum(s.buffer_gets)/greatest(sum(s.rows_processed),1) rpr ,
sum(s.executions) exe ,sum(s.buffer_gets)/greatest(sum(s.executions),1) rpe
from v$sql s, v$sqltext t, v$session o
where s.command_type in ( 2,3,6,7 )
and s.hash_value = t.hash_value
and o.sql_hash_value = s.hash_value
group by o.sid, o.username, o.osuser, o.machine, s.hash_value, t.sql_text
order by 9 descAté conseguiu visualizar a consulta mas não os parâmetros que foram passados. É possível ver os parâmetros (valor)?
Select ldtext
from longdescription
where ldownertable = :1
and ldownercol = :2
and ldkey = :3Se alguém tiver outra query que retorne informações sobre os comandos que estão sendo executados agradeço.
Obrigado.
Airton
6 de março de 2013 às 9:34 pm #105136Fábio Prado
Participante@airoosp,
Eu utilizo a query abaixo em 10G e 11G e acredito que ela deva funcionar também no 9i:
select u.username, sc.username as schemaname, a.executions, a.cpu_time/(1000000) "cpu_time (s)", a.disk_reads, a.elapsed_time/(1000000) "elapsed_time (s)", (a.sharable_mem + a.persistent_mem + a.runtime_mem) /1024/1024 "used_memory (mb)", a.first_load_time, TO_CHAR(a.last_load_time,'dd/mm/yy HH24:mi:ss') last_load_time, a.buffer_gets, a.sorts, a.loads, a.application_wait_time/(1000000) "application_wait_time (s)", a.concurrency_wait_time/(1000000) "concurrency_wait_time (s)", a.user_io_wait_time/(1000000) "user_io_wait_time (s)", a.plsql_exec_time/(1000000) "plsql_exec_time (s)", a.rows_processed, a.optimizer_mode, a.optimizer_cost, --a.sql_text, DBMS_LOB.SUBSTR(a.SQL_FULLTEXT, 4000,1) sql_text from v$sqlarea a INNER JOIN dba_users u ON a.parsing_user_id = u.user_id INNER JOIN dba_users sc ON a.parsing_schema_id = sc.user_id --where a.command_type = 3 -- and SC.username = 'USER_NAME';[]s
6 de março de 2013 às 10:01 pm #105140airoosp
ParticipanteÉ no 9i não funciona, não tem a coluna a.SQL_FULLTEXT na v$sqlarea.
6 de março de 2013 às 10:20 pm #105144Fábio Prado
ParticipanteAltere a query para retornar somente “a.sql” e comente a linha que contém a.SQL_FULLTEXT e veja se funciona.
6 de março de 2013 às 10:26 pm #105146rman
Participante@airoosp e @fbifabio
Não entendo por que não utilizar o Enterprise Manager para isso ?
6 de março de 2013 às 10:38 pm #105147airoosp
ParticipanteNo 9i a query abaixo funcionou, vários campos foram comentados.
select u.username,
sc.username as schemaname,
a.executions,
a.cpu_time/(1000000) “cpu_time (s)”,
a.disk_reads,
a.elapsed_time/(1000000) “elapsed_time (s)”,
(a.sharable_mem + a.persistent_mem + a.runtime_mem) /1024/1024 “used_memory (mb)”,
a.first_load_time,
–TO_CHAR(a.last_load_time,’dd/mm/yy HH24:mi:ss’) last_load_time,
a.buffer_gets,
a.sorts,
a.loads,
–a.application_wait_time/(1000000) “application_wait_time (s)”,
–a.concurrency_wait_time/(1000000) “concurrency_wait_time (s)”,
–a.user_io_wait_time/(1000000) “user_io_wait_time (s)”,
–a.plsql_exec_time/(1000000) “plsql_exec_time (s)”,
a.rows_processed,
a.optimizer_mode,
–a.optimizer_cost,
a.sql_text
–DBMS_LOB.SUBSTR(a.SQL_FULLTEXT, 4000,1) sql_text
from v$sqlarea a
INNER JOIN dba_users u
ON a.parsing_user_id = u.user_id
INNER JOIN dba_users sc
ON a.parsing_schema_id = sc.user_id
–where a.command_type = 3
— and SC.username = ‘USER_NAME’; -
AutorPosts
- Você deve fazer login para responder a este tópico.