Я пытаюсь отследить производительность некоторых процедур, которые работают слишком медленно (и, похоже, продолжают работать медленнее). Я использую v $ session_longops для отслеживания объема выполненной работы, и у меня есть запрос (sofar/((v$session_longops.LAST_UPDATE_TIME-v$session_longops.start_time)*24*60*60)
), который сообщает мне, с какой скоростью выполняется работа.
То, что я хотел бы сделать, это зафиксировать скорость, с которой выполняется работа, и то, как она меняется со временем. Прямо сейчас я просто повторяю запрос вручную, а затем копирую / вставляю в Excel. Не очень оптимально, особенно когда телефон звонит или что-то еще прерывает мою частоту дискретизации.
Есть ли способ заставить скрипт в SQL * Plus запускать запрос evern n секунд, буферизовать результаты в файл, а затем продолжать делать это до завершения задания?
(Oracle 10g)