@DBA_LUCAS,
Execute a consulta abaixo:
-- Executar comando abaixo p/ coletar valor ultima variavel bind a cada 10s. (somente p/ teste). Valor padrão é de 15 minutos.
-- ALTER system SET "_cursor_bind_capture_interval" = 10;
select a.sql_id,
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,
DBMS_LOB.SUBSTR(a.SQL_FULLTEXT, 4000,1) sql_text,
b.value_string
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
INNER JOIN v$sql_bind_capture b
ON a.address = b.address
AND a.hash_value = b.hash_value
where U.username = '&USER';
Consultas que usam variáveis bind retornarão algum valor na coluna "value_string" e terão no "sql_text" códigos nos filtros da cláusula WHERE, tais como :1, :2: :3 e assim vai.
Para ver o 2º item não tenho nada pronto, mas dá para vc adaptar a query que eu passei acima, identificando o que é SELECT e o que é diferente de SELECT, e depois contar total das colunas disk_reads e ou buffer_gets, ok?
[]s
Fábio Prado
http://www.fabioprado.net