Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 latch free: transaction branch allocation?  [new]
p4r53c
Member

Откуда:
Сообщений: 3
Господа, доброе время суток!

Подскажите пожалуйста, как понять, что вызвало событие ожидания latch free: transaction branch allocation?

Проблема: В рандомный момент времени возникла резкая деградация производительности инстанса, и утилизация CPU. Load Average более 100. В AWR вижу, что 90% DB-time тратится на latch free, по ASH-отчету совершенно четко виден конкретный вид лидирующего ожидания latch free – а именно transaction branch allocation.

Есть номер защелки из ASH Top Event, как понять, что его вызвало? Из v$latch получил адрес, но что делать дальше не знаю.

SQL> SELECT * FROM v$version;

BANNER                                                                          
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE	11.2.0.4.0	Production  
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production


Спасибо.
31 окт 19, 15:27    [22007283]     Ответить | Цитировать Сообщить модератору
 Re: latch free: transaction branch allocation?  [new]
Alexander Anokhin
Member

Откуда: Хабаровск
Сообщений: 442
Лучше весь AWR выложить.

Также почитай тут
Thousands of active sessions waiting on latch free in relation to 'transaction branch allocation' (Doc ID 2018260.1) -> Bug 20130575 - high contention on transaction branch allocation (Doc ID 20130575.8)
31 окт 19, 16:31    [22007351]     Ответить | Цитировать Сообщить модератору
 Re: latch free: transaction branch allocation?  [new]
p4r53c
Member

Откуда:
Сообщений: 3
Вот AWR.

К сообщению приложен файл (awr.7z - 80Kb) cкачать
31 окт 19, 17:10    [22007391]     Ответить | Цитировать Сообщить модератору
 Re: latch free: transaction branch allocation?  [new]
Alexander Anokhin
Member

Откуда: Хабаровск
Сообщений: 442
На что стоит обратить внимание:

1. Хост в этом AWR не перегружен, из 20 CPUs примерно 6 в секунду использовались, но это усредненные значения. Надо посмотреть что было когда load average доходил до 100. Например, в OS Watcher logs.
Sys% CPU выглядит высоким, лежит ли SGA в huge pages?

2. Среднее время ожидания "latch free" 6 сек, это достаточно много. Пиковые значения были 16-32 сек.
В таких случаях стоит снять hang analyze или system state dump и там смотреть, кто держит латч такое долгое время. Как вариант можно посмотреть в ASH, есть шанс найти блокера там. Все эти "latch free" могли стать жертвами какого-нибудь "latch: shared pool", которые тоже доходили до 8-16 сек.

Сообщение было отредактировано: 31 окт 19, 18:22
31 окт 19, 18:18    [22007484]     Ответить | Цитировать Сообщить модератору
 Re: latch free: transaction branch allocation?  [new]
p4r53c
Member

Откуда:
Сообщений: 3
Alexander Anokhin
лежит ли SGA в huge pages?

Нет.

Alexander Anokhin
Например, в OS Watcher logs.

Оно походу не стоит на сервере. Надо посмотреть. Нужно смотреть логи именно в период проблемы?

В ADDM есть несколько запросов с Waiting for event "latch free", а так же:
Finding 1: Latch Free Waits
Impact is 218.63 active sessions, 88.56% of total activity.
-----------------------------------------------------------
Database latches in the "Other" wait class were consuming significant database 
time.
 
   Recommendation 1: Database Configuration
   Estimated benefit is 218.63 active sessions, 88.56% of total activity.
   ----------------------------------------------------------------------
   Rationale
      The latch "transaction branch allocation" with latch ID 273 was one of 
      the top latches contributing to high "latch free" waits.
      Related Object
         Database latch 273.
   Rationale
      The latch "FOB s.o list latch" with latch ID 33 was one of the top 
      latches contributing to high "latch free" waits.
      Related Object
         Database latch 33.
   Rationale
      The latch "parameter table management" with latch ID 24 was one of the 
      top latches contributing to high "latch free" waits.
      Related Object
         Database latch 24.
   Rationale
      The latch "loader state object freelist" with latch ID 218 was one of 
      the top latches contributing to high "latch free" waits.
      Related Object
         Database latch 218.
   Rationale
      The latch "enqueues" with latch ID 28 was one of the top latches 
      contributing to high "latch free" waits.
      Related Object
         Database latch 28.
 
   Symptoms That Led to the Finding:
   ---------------------------------
      Wait class "Other" was consuming significant database time.
      Impact is 219.28 active sessions, 88.83% of total activity.


Дополнительно приложил ASH и ADDM.

Вероятно это не бага, надо просто тюнить запросы?

К сообщению приложен файл (ASH_ADDM.7z - 7Kb) cкачать
1 ноя 19, 12:03    [22007963]     Ответить | Цитировать Сообщить модератору
 Re: latch free: transaction branch allocation?  [new]
Alexander Anokhin
Member

Откуда: Хабаровск
Сообщений: 442
В ADDM в данном случае ничего полезного. ASH сильно широкий период - 7 часов.

Когда я упоминал поиск блокера в ASH, я имел ввиду смотреть в DBA_HIST_ACTIVE_SESS_HISTORY что делали блокирующие сессии.

p4r53c
Оно походу не стоит на сервере. Надо посмотреть. Нужно смотреть логи именно в период проблемы?

Да, надо смотреть период проблемы. Ожидания латчей, которые предполагаются быть очень короткими и не выходить в топ, могут становиться видны в результате перегрузки (overload) сервера, когда в следствие нехватки CPU процессы вынуждены спать дольше, там где спать не предполагается, удерживая чувствительные ресурсы типа латчей. Особенно там, где код удерживающий латч не оптимальный, как в случае Bug 20130575.
В твоём AWR не видно проблем с хостом, но если как ты говоришь load average доходил до 100, то надо смотреть в OS Watcher logs или sar, как хост себя чувствовал в эти периоды, почему load average был такой высокий, что запускалось и т.д. Стоит взять такой же AWR за другой день, где предполагается похожая нагрузка и сравнить. Также среднее время "latch free" - 6 сек - очень высокое. Это говорит не в пользу нехватки CPU, а скорее указывает что была некая блокирующая сессия, которая могла висеть по совсем другим причинам. Стоит заглянуть в трейс файл DIAG процесса и проверить не сделал ли Oracle hang analyze dump сам.
1 ноя 19, 16:34    [22008282]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить