Простой подход к настройке экземпляра база данных Oracle - Выявление долго выполняющихся транзакций в Oracle

« Prev
Next »

 

Выявление долго выполняющихся транзакций

Для выяснения того, какие SQL-операторы в экземпляре выполняются дольше всего и потребляют больше всего ресурсов, можно использовать представление V$SQL, как показано в следующем примере. В этом примере транзакции ранжируются по общему количеству затраченных на их выполнение секунд. Однако их также можно ранжировать и по количеству только использованных на их выполнение секунд ЦП.

SQL> SELECT hash_value, executions,
2 ROUND (elapsed_time/1000000, 2) total_time,
3 ROUND (cpu_time/1000000, 2) cpu_seconds
4 FROM (SELECT * FROM V$SQL
5 ORDER BY elapsed_time desc);
HASH_VALUE  EXECUTIONS  TOTAL_TIME  CPU_SECONDS
----------  ----------  ----------  -----------
 238087931     168         9.51        9.27
 1178035321    108         4.98        5.01
. . .
SQL>

После получения хеш-значения (HASH_VALUE) с помощью такого запроса, далее останется просто выяснить, как выглядит план выполнения данного оператора, который хранится в библиотечном кэше. Просмотреть план выполнения самых долгих SQL-операторов можно посредством запроса к представлению V$SQL_PLAN: 

SQL> SELECT * FROM V$SQL_PLAN WHERE hash_value = 238087931;

Как просто настроить экземпляр базы данных Oracle 

Заключается ли проблема в Oracle

Только из-за того, что пользователи жалуются на медленную работу базы данных, не следует торопиться делать вывод о том, что проблема заключается в базе данных. В конце концов, база данных не работает сама по себе: она функционирует на сервере и, следовательно, на ее производительности могут сказываться ограничения по ресурсам и узкие места, присутствующие на этом сервере. Если не работающие с Oracle пользователи используют на этом сервере все критически важные ресурсы наподобие вычислительных ресурсов ЦП и дисковых ресурсов ввода-вывода, база данных может быть просто жертвой обстоятельств и тогда необходимо искать ответы за ее пределами. Именно поэтому для администраторов баз данных так важно знать, каким образом измерять общую производительность системы, в том числе производительность памяти, дисковой подсистемы хранения, сети и процессоров. В следующих разделах описываются системные ресурсы, на которые необходимо обращать особое внимание.

 

« Prev
Next »
Войдите чтобы комментировать