powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как найти причину падения производительности сервера Oracle
8 сообщений из 8, страница 1 из 1
Как найти причину падения производительности сервера Oracle
    #40094688
ПавелZZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
У нашего сервера Oracle произошло резкое падения производительности.
Абсолютно все запросы выполняются в десятки раз медленнее.
DBA у нас на аутсорсинге и он явно не справляется.
Я хочу сам попытаться найти причину.
Но у меня есть возможность только выполнять запросы с правами администратора.
Другие инструменты мне не доступны.
Как можно с помощью запросов определить хотя бы общее состояние сервера?
И, по возможности, найти причину падения производительности.
...
Рейтинг: 0 / 0
Как найти причину падения производительности сервера Oracle
    #40094694
PuM256
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
select 'Сервер работает' "СОСТОЯНИЕ" from dual;
...
Рейтинг: 0 / 0
Как найти причину падения производительности сервера Oracle
    #40094712
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как минимум посмотреть список сессий. Какие запросы сейчас выполняются. Вполне возможно, что банально кто-то 100500 раз запустил "тяжелый" отчет, вот серверу и поплохело

Но вообще, вопрос слишком фундаментальный. В документации администратора все view описаны. Ну и есть тулзы (я не админ, т.ч. конкретнее не подскажу), которые "для чайников" показывают какую-то статистику с сервера.
...
Рейтинг: 0 / 0
Как найти причину падения производительности сервера Oracle
    #40094717
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p.s. с отчетами в свое время "боролся" с помощью Resource Manager'а (требуется Oracle Enterprise Edition). Отчетным запросам, которые долго выполняются, снижал приоритет до минимума.
...
Рейтинг: 0 / 0
Как найти причину падения производительности сервера Oracle
    #40094723
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПавелZZ,

могли поплыть планы
напр, было заточено на NL, но оракля предпочел hash
почему, причины могут быть разными
1) таблицы выросли, и бд решила что так дешевле
2) пересобрали/устарела статистика
3) поменяли параметры базы
4) ...

.....
stax
...
Рейтинг: 0 / 0
Как найти причину падения производительности сервера Oracle
    #40094747
Фотография kinky cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как найти причину падения производительности сервера Oracle
    #40094803
Фотография shane54
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПавелZZ
Всем привет!
У нашего сервера Oracle произошло резкое падения производительности.
Абсолютно все запросы выполняются в десятки раз медленнее.


Вообще, прежде чем лезть в саму базу, имеет смысл "осмотреть пациента наружно". Вы к сожалению ничего не указали про сервер (физический / виртуальный, вендор, модель, параметры / спецификации), диски (внутренние / внешний SAN), версию OS (какой-то *nix / Linux / Windows) и версию самой базы. Часто когда "все стало медленно", причина в том что банально села батарейка в дисковом контроллере и он перестал кешировать, скорость I/O может и в 10 раз упасть. Если сервер виртуальный - может появился "noisy neighbour" (ака "шумный сосед"), т.е. кто-то ещё на этом же гипервизоре (другой виртуальный сервер) стал потреблять намного больше ресурсов чем до этого, а гипервизор не совсем честно изолирует виртуалки друг от друга и Вашему Oracle серверу стало не хватать ресурсов. Или просто ещё одну виртуальную машину запустили на этом же гипервизоре, и начался overallocation / overprovisioning. Или тоже самое на SAN (если используется) - кто-то ещё, какая-то другая система, стала утилизировать SAN сильно больше чем до этого, и все остальные системы кто использует этот же SAN стали испытывать деградацию производительности I/O.

ПавелZZ

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


Можно посмотреть, что сама база "думает" про сервер на котором работает. Есть системное представление, содержащее значения т.н. System Stats - называется SYS.AUX_STATS$, заполняется при вызове системного пакета DBMS_STATS.GATHER_SYSTEM_STATS. Содержит значения в неких внутренних оракловских "попугаях", как база оценивает производительность CPU и пропускную способность I/O. Если тот Ваш "DBA, который на аутсорсе и который не справляется" позаботился заранее, то у Вас должна быть документация по базе (и серверу), где значения из этой вьюхи записаны (IMHO это считается хорошим тоном делать такую документацию по всем обслуживаемым базам клиента, как минимум я так работаю со своими клиентами). Если Вы сейчас ещё раз запустите DBMS_STATS.GATHER_SYSTEM_STATS, значения в AUX_STATS$ обновятся, и Вы сможете сравнить, что изменилось (если изменилось!) и дальше уже думать, чинить HW, или все же с железом все нормально и что-то "поплыло" в самой базе (планы, как было сказано выше, статистика, просто нагрузка выросла / количество одновременных параллельных сессий и тд).

Кстати, давно-давно тут на форуме было общенародное "мерянье сами_понимаете_чем" (в хорошем смысле) - народ собирал статистику по их серверам и как их параметры Oracle отображает в представлении AUX_STATS$ - суть 2 поля там важны, CPUSPEEDNW и IOSEEKTIM. Сам тред:

https://www.sql.ru/forum/682014-a/cpuspeed-na-intel-xeon-5500-nehalem

Тред этот от 2009 года (последние сообщения в 2012 году), померили даже старенькую Exadata X2, в общем 10-12 лет назад уже, так что все цифры что представлены там не сильно актуальны и представляют интерес скорее в общеобразовательном плане. К тому же тогда небыло ещё виртуализации, как минимум в том виде что мы знаем и используем её сейчас. Там все цифры с реальных физических серверов.
...
Рейтинг: 0 / 0
Как найти причину падения производительности сервера Oracle
    #40094816
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Вы сейчас ещё раз запустите DBMS_STATS.GATHER_SYSTEM_STATS, значения в AUX_STATS$ обновятся, и Вы сможете сравнить, что изменилось (если изменилось!) и дальше уже думать, чинить HW, или все же с железом все нормально и что-то "поплыло" в самой базе

IMHO У сервера есть админ. Хороший/плохой/справляется/не справляется но он есть. Что либо менять в конфигурациях/статистики и так далее сервера - может делать или админ, или, как минимум, только по согласованию в присутствие админа.

Посмотреть представления, попытаться вычленить медленные запросы, попытаться разобраться, что именно тормозит (даже не важна причина почему так стало) - еще можно. Но без админа или его разрешения лезть на сервер и что-то там менять (а сбор статистики явно что-то поменяет) - за такое можно (и обоснованно) просто увольнять.

В независимости от того, справляется админ или нет.

IMHO
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как найти причину падения производительности сервера Oracle
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]