Настройка производительности - PullRequest
1 голос
/ 21 августа 2009

Как я могу проверить запущенный запрос на долгое время и шаги настройки запроса? (Oracle)

Ответы [ 4 ]

2 голосов
/ 21 августа 2009
  1. Запустите explain plan for select ...., чтобы увидеть, что Oracle делает с вашим запросом.
  2. Опубликуйте свой запрос здесь, чтобы мы могли посмотреть на него и помочь вам.
  3. Ознакомьтесь с FAQ по настройке производительности Oracle , если хотите, по некоторым хитростям.
1 голос
/ 21 августа 2009

Вы можете захватить запрос, выбрав v $ sql или v $ sqltext. Если вы не знакомы с ним, найдите «Объяснить план» в Oracle документация. Там должно быть много на это в настройке производительности руководство.

Взгляните на жабу Quest Software для стороннего инструмента, который помогает и в этой области.

K

0 голосов
/ 15 июля 2015

Если вы не хотите использовать OEM, вы можете запросить и выяснить.

  1. Сначала найдите длительный запрос. Если он выполняется в настоящий момент, вы можете присоединиться к gv $ session, чтобы узнать, какой сеанс запущен долгое время. Затем перейдите к gv $ sql, чтобы найти детали SQL. Вам нужно посмотреть столбец last_call_et. Если SQL выполняется некоторое время назад, вы можете использовать таблицы dba_hist_snapshot, dba_hist_sqlstat, DBA_HIST_SQLTEXT, чтобы найти ошибочный SQL.

  2. Получив запрос, вы можете проверить, какой план он выбирает, из таблицы dba_hist_sql_plan, если этот SQL-запрос выполнялся в прошлом, или из gv $ sql_plan, если он выполняется в данный момент.

  3. Теперь вы анализируете план выполнения и смотрите, использует ли он правильный индекс, объединение и т. Д. Если не настраивать их.

Дайте мне знать, на каком этапе у вас возникла проблема. Я могу помочь вам ответить на эти.

0 голосов
/ 21 августа 2009

К сожалению, ваш вопрос не выражен четко. Другие ответы уже решали проблему настройки известного неверного запроса, но другая интерпретация заключается в том, что вы хотите отслеживать свою базу данных, чтобы находить плохо выполняющиеся запросы.

Если у вас нет Enterprise Edition с пакетом диагностики, а у вас его мало, лучше всего делать снимки statspack на регулярной основе. Это даст вам много информации о вашей системе, в том числе о том, какие запросы занимают много времени, а какие потребляют много ресурсов вашей системы. Вы можете узнать больше о statspack здесь .

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