У меня есть 2 предложения:
- вы можете использовать Oracle Statspack.
- вы можете использовать какое-то время выполнения ведения журнала драйвера прокси-сервера JDBC P6Spy или log4jdbc .
В прошлом я использовал P6Spy и IronTrack SQL от IronGrid, и это была неплохая комбинация (см. это сообщение в блоге ).Но учтите, что:
- P6Spy на самом деле не поддерживается (5 лет без изменений).
- Меры были не совсем точными (это не большая проблема при погоне за жадными свиньями).
- IronTrack SQL, похоже, больше не доступен (но вы все равно можете его найти, например здесь ).
Я лично сейчас использую log4jdbc , который предоставляет аналогичные функции (без красивого графического интерфейса, но кого это волнует, используйте Excel или сценарий, который они предоставляют для создания отчета).С веб-сайта:
Функции
- Полная поддержка JDBC 3 и JDBC 4!
- Простота настройки, в большинстве случаев все, что вам нужно сделатьизмените имя класса драйвера на net.sf.log4jdbc.DriverSpy и добавьте «jdbc: log4» к существующему URL-адресу jdbc, настройте категории журналирования, и вы готовы к работе!
- В зарегистрированном выводедля подготовленных операторов аргументы связывания автоматически вставляются в вывод SQL.Это значительно улучшает удобочитаемость и отладку во многих случаях.
- Может быть сгенерирована информация о синхронизации SQL, чтобы помочь определить, сколько времени занимает выполнение операторов SQL, помогая идентифицировать операторы, которые выполняются слишком медленно, и эти данные могут бытьпост-обработка с помощью включенного инструмента для создания данных отчета профилирования для быстрой идентификации медленного SQL в вашем приложении .
- Информация о номере соединения SQL генерируется, чтобы помочь выявить проблемы с пулами соединений или многопоточностью.
- Работает с любым базовым драйвером JDBC, с JDK 1.4 и выше, и SLF4J 1.x.
- Программное обеспечение с открытым исходным кодом, лицензируемое по лицензии Apache 2.0 для бизнеса: http://www.apache.org/licenses/LICENSE-2.0