Não consigo ver todas as consultas com v$sql_monitor
ou gv$sql_monitor
. Eu posso ver algumas consultas, nenhuma das quais tem /*+ MONITOR */
. Eu testei uma consulta com o MONITOR e ainda não apareceu. Achei que poderia ser apenas um grande problema de explicação, então ajustei minha sessão com:
ALTER SESSION SET "_SQLMON_MAX_PLAN"=4020;
ALTER SESSION SET "_SQLMON_MAX_PLANLINES"=4000;
select first_refresh_time, last_refresh_time,
status, sql_text
from v$sql_monitor
order by last_refresh_time desc;
, mas não ajudou. O que estou tentando fazer é ver a consulta enviada por meio de um aplicativo. A consulta funciona, então eu sei que está atingindo o banco de dados. Eu simplesmente não consigo ver a consulta no Oracle.
O que estou fazendo errado? Estou usando o SQL Developer se isso importa.
O monitoramento de SQL será acionado se uma das seguintes condições estiver presente:
/*+ MONITOR */
dica estava presente na consultaEm outras palavras, se sua consulta for muito rápida, não rodar em paralelo e não tiver dica de MONITOR, ela não será monitorada.
A Oracle explica a visão V$SQL_MONITOR em sua documentação oficial.
Parece que ele só mantém o registro lá por um minuto ou dois, ou até precisar do espaço para mostrar as outras consultas.