Гость
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Enterprise Manager / 8 сообщений из 8, страница 1 из 1
16.12.2021, 14:35
    #40120637
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Enterprise Manager
Братья по разуму, выручайте (Enterprise Manager вижу сегодня первый раз).

Есть.

Oracle 19c
Enterprise Manager 13c

Что было: начал тормозить сервер БД (1.5 часа тормозил, Deadlock серврер не квалифицировал), отстрелили сессии с большими ожиданиями, всё поехало в штатном режиме.

Вопрос: как используя Enterprise Manager можно понять, что случилось?

Пока докопался до того, что сессии (выполняющие Select) ждали Select, как такое может быть, хинтов на Select-е нет, причем этот запрос работает много лет?


Вообщем, помогите кто чем может :)
...
Рейтинг: 0 / 0
16.12.2021, 14:47
    #40120645
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Enterprise Manager
Не поймите превратно, но в Вашем случае, судя по вводным, вероятно, лучшим решением станет привлечение специалиста по оптимизации/траблшутингу.
Тема слишком обширная, чтобы действовать на основе форумных советов.
Из известных мне специалистов в этой области могу уверенно рекомендовать Саяна Малакшинова, который иногда присутствует на этом форуме.
...
Рейтинг: 0 / 0
16.12.2021, 14:53
    #40120650
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Enterprise Manager
andrey_anonymous,

Хорошо.

Мне для начала не понятно, как Select может заблокировать Select, скрипты которые блокируются вижу, планы запросов вижу - в планах либо Table Access Full, либо Index Range Scan, либо Index Full Scan, естественно на одну и туже табличку.
...
Рейтинг: 0 / 0
16.12.2021, 15:03
    #40120656
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Enterprise Manager
PaulWist
Мне для начала не понятно, как Select может заблокировать Select, скрипты которые блокируются вижу, планы запросов вижу - в планах либо Table Access Full, либо Index Range Scan, либо Index Full Scan, естественно на одну и туже табличку.

Для начала не очевидно, что речь идет именно о блокировке, а не о конкуренции за ресурсы (от ввода-вывода до буферного кэша).
Далее не очевидно, что select-ы не for update
Если же речь именно о блокировке и именно простых селектов, то такой сценарий возможен при возникновении in-doubt распределенных транзакций.
...
Рейтинг: 0 / 0
16.12.2021, 16:32
    #40120697
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Enterprise Manager
andrey_anonymous

Для начала не очевидно, что речь идет именно о блокировке, а не о конкуренции за ресурсы (от ввода-вывода до буферного кэша).
Далее не очевидно, что select-ы не for update
Если же речь именно о блокировке и именно простых селектов, то такой сценарий возможен при возникновении in-doubt распределенных транзакций.


Отлично, спасибо.

1. Блокировки действительно нет!!!

2. select-ы не for update есть, НО они заканчиваются успешно.

3. Распределенные транзакции есть, как посмотреть в каком они были состоянии?

4. I/O тоже есть, но в исчезающе малых количествах, не влияет.

5. SGA не свопился, настроены алерты.

На какие ещё буферы посмотреть?
...
Рейтинг: 0 / 0
16.12.2021, 17:20
    #40120724
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Enterprise Manager
PaulWist
3. Распределенные транзакции есть, как посмотреть в каком они были состоянии?


select * from dba_2pc_pending;

PaulWist

На какие ещё буферы посмотреть?

select * from v$session_event;
select * from v$session_wait;
select * from v$session_wait_history;
select * from v$session_wait_class;


Но "смотреть" надо было в то время, когда всё было плохо.
Если ситуация не воспроизводится, то можно начать с AWR-отчёта за период, когда было плохо.
Или, возможно, нагляднее будет выполнить дифференциальный AWR за периоды "хорошо" и "плохо".
Однако для корректной интерпретации этой информации требуется определённая квалификация.
...
Рейтинг: 0 / 0
16.12.2021, 19:59
    #40120795
ma1tus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Enterprise Manager
PaulWist
используя Enterprise Manager можно
https://docs.oracle.com/database/121/TDPPT/tdppt_auto.htm#TDPPT025 By default, ADDM runs every hour to analyze snapshots taken by AWR during that period. If the database finds performance problems, then it displays the results of the analysis under Diagnostics in the Summary section on the Database Home page
...
Рейтинг: 0 / 0
17.12.2021, 11:24
    #40120958
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Enterprise Manager
2 andrey_anonymous, ma1tus

Спасибо мужики!!!!

(все ваши посты в "кассу")

Докладываю результат:

1. Проблема была в latch: cache buffers chains класса Concurrency.

2. Проблему вызвал простой запрос на табличку в >500К записей, типа:

Код: plsql
1.
select /*+ FIRST_ROWS(2) INDEX(idx) */ f1, f2, from table where f3 = 3 and f4 = 4



Причина: указанный в хинте индекс, типа:

Код: plsql
1.
create index idx on table(f1, f2) 



не пересекался по полям с предикатом запроса, в итоге получался Index Full Scan, косяк программёра.

Ещё раз спасибо!!!

PS для истории, может кому пригодиться https://iusoltsev.wordpress.com/2009/11/25/latch-cache-buffers-chains-cardinality-feedback/
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Enterprise Manager / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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