2015-12-06 2 views
0

Я хотел бы задать несколько вопросов по мониторингу Oracle. Могу ли я использовать SQL-запросы для получения данных мониторинга, таких как загрузка процессора, использование ОЗУ, пространство на жестком диске, табличное пространство и т. Д. Нужно ли использовать привилегированный пользователь или я могу использовать каждого пользователя Oracle? Если это невозможно, то какие альтернативы?Мониторинг производительности Oracle с SQL-запросами

+1

Вы спрашиваете больше для системных метрик, чем Oracle. С помощью инструментов диагностики Oracle вы можете контролировать сеансы, их память и временные ассигнования, ожидания ожидания сеансов, пространство, выделяемое объектами, табличными пространствами и файлами данных. Вам нужны привилегии для доступа к словарю данных - в основном выберите на (G) V $ динамические представления производительности. – Husqvik

+0

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что он принадлежит dba.stackexchange.com –

ответ

1

Из того, что вы упомянули, я думаю, что только использование табличного пространства должно отслеживаться с использованием запросов. (Проверьте очень хороший запрос здесь: Find out free space on tablespace)

Процессор и файловая система должны контролироваться на уровне ОС (исключение, вероятно, является ASM, где запросы, вероятно, проще в использовании, чем консоль ASM).

Если вы хотите контролировать использование отдельных сеансов, вам необходимы привилегии для доступа к словарям данных, например. v$sql_workarea_active и v$session, чтобы получить использование ОЗУ для сеанса или запроса или v$session_wait, чтобы получить информацию о ожиданиях и т. Д. Я не знаю, что именно вы хотите контролировать, но документация Oracle - это ваш друг, чтобы найти информацию об этих словарях.

Лучшим решением, которое я знаю, является использование Oracle Enterprise Manager, где вы можете легко контролировать все показатели, а также создавать свои собственные.

Вы также можете реализовать свой собственный мониторинг показателей с помощью инструмента с открытым исходным кодом, такого как Zabbix (или другого по вашему выбору). Это также намного дешевле.

+0

Знаете ли вы, какие SQL-запросы используются Oracle Enterprise Manager для сбора данных? – user1285928

+0

Нет, на самом деле, я не думаю, что они общедоступны. Я вижу только результаты этих показателей через интерфейс. Вам придется писать свои собственные. – J91321

1

Oracle имеет представления производительности, где мы будем получать информацию о производительности Oracle Database.

Чтобы ответить на ваш вопрос, вы можете запросить представление v $ osstat, чтобы получить информацию об использовании ЦП, использовании ОЗУ, HDD и т. Д., Используя SQL-запросы. Official Oracle documentation on v$osstat

Image of query and result

Есть также многие другие виды особенно v $ Sysstat, v $ sqlstat, v $ sys_time_model, v $ метрика, где вы можете выкопать много информации, связанной с производительностью. Вы можете сослаться на ссылку ниже, чтобы увидеть все основные показатели, которые можно запрашивать в Oracle

Oracle Metrics List by Don Burleson

Смежные вопросы