База данных Oracle является очень медленной - Где запустить и как найти причину?

По моему скромному мнению, необходимо конкретно разрешить выходные запросы DNS на ВЫХОДНОЙ цепочке (и на UDP и на TCP, конечно), и затем отбросить порт - и протокол - определенные флаги от RELATED входное правило, например:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Или другими словами, используйте выходную политику управлять исходящим трафиком на основе на протокол и соответствием с сохранением информации для управления входящими ответами.

RHEL/CentOS iptables по умолчанию управляет работой как это, хотя они принимают значение по умолчанию для разрешения любого Исходящего пакета.

И да, Вы будете довольно часто видеть отклоненные пакеты, потому что они слишком опаздывали для соответствия соответствию с сохранением информации.

6
задан 29 June 2011 в 19:24
5 ответов

Если вещи работали отлично в течение некоторого времени, и ничего серьезного изменил (т.е. увеличил использование, изменил индексы, тяжелое создание отчетов, analytial обрабатывающий и т.д.),

Я запустил бы путем проверения здоровья и производительности аппаратных средств/физических дисков.

Откровенно говоря, это - довольно широкий вопрос и существует много unknown's..., но так как Ваш конкретный вопрос - то, где я запускаю. Это - то, где я запустил бы.

1
ответ дан 3 December 2019 в 00:36

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

Самый полный способ приблизиться к проблеме работы Oracle состоит в том, чтобы сделать расширенную трассировку SQL одного или нескольких медленных сессий, представить их и видеть, где они на самом деле проводят свое время. Превосходный источник информации о выполнении этого является книгой Cary Millsap, из которой Вы видите первую главу здесь.

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

select seq#, event, wait_time, seconds_in_wait, state
from v$session
where type='USER'
;

Другой подход к сбору подобной информации является сценарием Люциана Tanel Poder

2
ответ дан 3 December 2019 в 00:36

Вообще говоря, начиная с верхнего уровня, последовательно сломайтесь, где время проведено. В некоторое время необходимо достигнуть уровня, где Вы видите слишком много времени, проведенного, где он не был должен.

Для большего количества детали я настоятельно рекомендую статью Cary Millsap, Думающую Очевидно О Производительности.

1
ответ дан 3 December 2019 в 00:36

Проверьте эту ссылку: http://www.dba-oracle.com/t_top_reasons_poor_performance.htm

0
ответ дан 3 December 2019 в 00:36

Вы лицензировали Oracle Diagnostic Pack? Если да, у вас есть доступ к нескольким полезным инструментам: ADDM (автоматический диагностический монитор) и AWR (автоматический репозиторий рабочей нагрузки). Отчеты AWR поначалу могут быть трудными для понимания, но они могут дать бесценную информацию о том, что на самом деле происходит в базе данных.

Если у вас нет пакета диагностики, вы все равно будете иметь доступ к просмотрам истории активных сеансов.

У вас 11g, это означает, что вы можете запустить «Контроль БД», это ограниченный версия Enterprise Manager (Или, может быть, у вас есть полностью лицензированный Enterprise Manager). DB Control предоставляет веб-интерфейс, он позволяет вам, помимо прочего, просматривать информацию, связанную с производительностью, собирает много полезной информации. Опять же, есть чему поучиться, но если есть проблемы с производительностью, беглый взгляд на вкладку «Производительность» уже может дать много информации.

С уважением

0
ответ дан 3 December 2019 в 00:36

Теги

Похожие вопросы