Как запросить SQL, выполненный месяц назад в Oracle - PullRequest
0 голосов
/ 13 декабря 2018

Я хочу запросить SQL, выполненный месяц назад.Теперь у меня есть SQL_ID, который я собирал месяц назад, но у меня нет коллекции sql_text.

Ответы [ 2 ]

0 голосов
/ 13 декабря 2018

Вы можете выполнить запрос, используя

select sql_text, sql_fulltext 
  from gv$sql
 where sql_id = &i_sql_id

, но не гарантируется, что sql все еще находится в кеше библиотеки.

0 голосов
/ 13 декабря 2018

Всю информацию о ранее выполненных запросах можно найти в представлениях AWR на основе sql_id:

  • DBA_HIST_SQLTEXT для текста вашего запроса;
  • DBA_HIST_SQLSTAT для статистики запросов, такой как cpu_time, elapsed_time, количество выполнений и т. Д .;
  • DBA_HIST_SQL_PLAN для плана выполнения;

Чтобы указать временные рамки, выполните объединение со столбцом SNAP_ID представления DBA_HIST_SNAPSHOT с фильтрацией по столбцу BEGIN_INTERVAL_TIME .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...