powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / dml lock allocation
22 сообщений из 22, страница 1 из 1
dml lock allocation
    #37063797
ять
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Указанного типа ожидания длительные latch free. Откуда ноги растут, что делать ?
11g
...
Рейтинг: 0 / 0
dml lock allocation
    #37063826
wurdu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала покажи секции AWR из которых ясно, что есть проблема. top 5 с этим латчем, Latch Sleep breakdown Latch Miss Sources и т.д. по этому латчу, а лучше весь AWR, т.к. там может быть много интересного открывающее свет на проблему, если она есть. Также можно посмотреть в v$latch_children, может оно все по одной таблице.
...
Рейтинг: 0 / 0
dml lock allocation
    #37063849
ять
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wurduДля начала покажи секции AWR из которых ясно, что есть проблема. top 5 с этим латчем
непосредственно из trace по одной из ждущих сессий
WAIT #N: nam='latch free' ela= 8157 address=... number=232 tries=0 ...
WAIT #N: nam='latch free' ela= 8060 address=... number=232 tries=0 ...
и тд
...
Рейтинг: 0 / 0
dml lock allocation
    #37063880
wurdu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Желательно все-таки AWR, т.к. это конкуренция и причин может быть много, включая перегруженные CPU. address одинаковый? Раз есть trace, значит можно увидеть после DML на каких объектах возникает ожидание. Это разные объекты?
...
Рейтинг: 0 / 0
dml lock allocation
    #37063895
ять
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wurduЖелательно все-таки AWR, т.к. это конкуренция и причин может быть много, включая перегруженные CPU. address одинаковый? Раз есть trace, значит можно увидеть после DML на каких объектах возникает ожидание. Это разные объекты?
в сессии (и trace) select only (нет insert/update и тд)
...
Рейтинг: 0 / 0
dml lock allocation
    #37063925
ять
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
address один и тот же
...
Рейтинг: 0 / 0
dml lock allocation
    #37063936
Фотография Я и ёжик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
232-это вроде менеджер ресурсов (resmgr:gang list). Так, что вполне вероятно недостаток cpu.
...
Рейтинг: 0 / 0
dml lock allocation
    #37063947
Фотография Я и ёжик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я и ёжик232-это вроде менеджер ресурсов (resmgr:gang list). Так, что вполне вероятно недостаток cpu.
Упс... сори в 11-м изменилось.
...
Рейтинг: 0 / 0
dml lock allocation
    #37063994
wurdu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ятьaddress один и тот жеЗначит конкуренция скорее всего идет за один и тот же объект. Правда этот латч для DML, поэтому я не понимаю, как может он появляться в простом select. Интересно было бы взглянуть на сырой trace. Ну и на это
Код: plaintext
1.
select addr, latch#, name, gets, misses, sleeps, wait_time from v$latch_children where name = 'DML lock allocation';
...
Рейтинг: 0 / 0
dml lock allocation
    #37067601
оraguеst.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ятьв сессии (и trace) select only (нет insert/update и тд)
а случайно не на массовых запросах к каким-нибудь v$*lock* ?
где-то встречалась похожая бяка
...
Рейтинг: 0 / 0
dml lock allocation
    #37264729
2 оraguеst.

У меня такая проблема. вы нашли решение?
...
Рейтинг: 0 / 0
dml lock allocation
    #37264985
тэкс.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня тоже самое
У меня такая проблема. вы нашли решение?
опишите конкретнее свою ситуацию (и версию)
...
Рейтинг: 0 / 0
dml lock allocation
    #37265040
Гость--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все рассуждения бессмысленны пока не будет показан Top 5 и суммарный результат ожиданий в trace
Пока мы видели только 2 ожидания по 8миллисекунд.
...
Рейтинг: 0 / 0
dml lock allocation
    #37265044
Фотография Corner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возникают ожидания "latch free".

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
SQL> select name
  from v$latch
 where addr in (select p1raw from v$session where event = 'latch free')   2      3   ;

NAME
----------------------------------------------------------------
DML lock allocation

сессии, который ждут latch free выполняют как раз выборку по v$lock. но вот на что обратил внимание

Код: plaintext
1.
2.
3.
OPTIMIZER_MODE               SQL_TEXT
------------------           ------------------------------------------------------------------------------------------
RULE                         SELECT L.SID FROM V$LOCK L WHERE L.TYPE IN ('TM', 'TX') AND L.ID1 = :B1
FIRST_ROWS                   SELECT L.SID FROM V$LOCK L WHERE L.TYPE IN ('TM', 'TX') AND L.ID1 = :B1


В бд стоит
Код: plaintext
1.
2.
3.
4.
5.
SQL> show parameter optimizer_mode

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode                       string      FIRST_ROWS
откуда взялся Rule

Код: plaintext
1.
2.
3.
4.
5.
SQL> select * from v$version where rownum< 2 ;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release  11 . 2 . 0 . 1 . 0  - 64bit Production
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
dml lock allocation
    #39785489
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wurduДля начала покажи секции AWR из которых ясно, что есть проблема. top 5 с этим латчем, Latch Sleep breakdown Latch Miss Sources и т.д. по этому латчу, а лучше весь AWR, т.к. там может быть много интересного открывающее свет на проблему, если она есть. Также можно посмотреть в v$latch_children, может оно все по одной таблице.Может быть поможешь с разбиранием AWR.
...
Рейтинг: 0 / 0
dml lock allocation
    #39785491
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AWR
...
Рейтинг: 0 / 0
dml lock allocation
    #39785492
Фотография Валерий Юринский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир САwurduДля начала покажи секции AWR из которых ясно, что есть проблема. top 5 с этим латчем, Latch Sleep breakdown Latch Miss Sources и т.д. по этому латчу, а лучше весь AWR, т.к. там может быть много интересного открывающее свет на проблему, если она есть. Также можно посмотреть в v$latch_children, может оно все по одной таблице.Может быть поможешь с разбиранием AWR.Напишите мне письмо. Поможем с разбиранием AWR.
...
Рейтинг: 0 / 0
dml lock allocation
    #39785497
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий ЮринскийВладимир САпропущено...
Может быть поможешь с разбиранием AWR.Напишите мне письмо. Поможем с разбиранием AWR.Письмо отправил
...
Рейтинг: 0 / 0
dml lock allocation
    #39785524
Фотография Валерий Юринский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир САВалерий Юринскийпропущено...
Напишите мне письмо. Поможем с разбиранием AWR.Письмо отправилЛовите ответ!
...
Рейтинг: 0 / 0
dml lock allocation
    #39785859
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, получил...
...
Рейтинг: 0 / 0
dml lock allocation
    #39786799
Alexander Anokhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, давно вы перешли на приватные анализы публично выложенных AWR по email? Всё-таки мы должны делиться знаниями друг с другом.

Владимир СА,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Top 10 Foreground Events by Total Wait Time

Event				Waits	Total Wait Time (sec)	Wait Avg(ms)	% DB time	Wait Class
DB CPU	 				42,6K	 				32.2	 
latch free			34,665	302,1			9		.2		Other
log file sync			13,186	48,8			4		.0		Commit
db file sequential read		237,416	26,3			0		.0		User I/O
direct path read		14,658	14,3			1		.0		User I/O
SQL*Net more data to client	155,245	5,6			0		.0		Network
db file parallel read		472	1,6			3		.0		User I/O
SQL*Net message to client	304,588	,8			0		.0		Network
db file scattered read		7,535	,6			0		.0		User I/O
latch: cache buffers chains	57	,4			7		.0		Concurrency


Первое, что здесь бросается в глаза, это то, что только ~33% от DB time зарепорчено. Это очень мало, в идеале должно быть 100%. Остальные 77% это то что называют unaccounted time, здесь это скрытые ожидания.
В данном случае эту секцию можно читать как
Код: plsql
1.
2.
3.
4.
5.
Top 10 Foreground Events by Total Wait Time

Event				Waits	Total Wait Time (sec)	Wait Avg(ms)	% DB time	Wait Class
Unaccounted time                        89K					77.6
DB CPU	 				42,6K	 				32.2	 

Остальные ожидания около .0% от DB time как "latch free", "log file sync" и другие здесь можно игнорировать, поскольку если бы их не было, стало бы быстрее примерно на .0%.

Смотрим как себя чувствует хост
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Host Name			Platform		CPUs	Cores	Sockets	Memory (GB)
				Linux x86 64-bit	4	4	1	31.36

Load Profile
		Per Second	Per Transaction	Per Exec	Per Call
DB Time(s):	12.2		10.5		0.77		0.42
DB CPU(s):	3.9		3.4		0.25		0.14

Host CPU
CPUs	Cores	Sockets	Load Average Begin	Load Average End	%User	%System	%WIO	%Idle
4	4	1	0.18			15.71			98.8	0.8	0.0	0.4

Instance CPU
%Total CPU	%Busy CPU	%DB time waiting for CPU (Resource Manager)
98.9		99.3		0.0


Видно, что хост имеет всего 4 logical CPU на 4 ядрах, все они заняты, load average сильно выше кол-ва CPU (хотя на Linux load avg включает процессы в D state, тут это явно runable процессы). Хост явно перегружен по CPU, и все эти 4 CPU загружены этим инстансом, это видно по DB CPU per sec = 4 или 99% "%Busy CPU" в "Instance CPU". Скрытые ожидания выше в top timed events это CPU latency. Поскольку процессов, которые ждут когда их посадят на CPU больше, чем количество CPU, все они вынуждены время от времени ждать когда OS scheduler посадит их на CPU, сидя в run queue. В это время их DB time растёт, а DB CPU нет.

Далее смотрим сюда
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Time Model Statistics
Statistic Name			Time (s)	% of DB Time
sql execute elapsed time	131,940.74	99.81

SQL ordered by CPU Time
CPU Time (s)	Executions	CPU per Exec (s)	%Total	Elapsed Time (s)	%CPU	%IO	SQL Id	SQL Module	SQL Text
39,759.45	25	1,590.38	93.27	122,198.97	32.54	0.02	5n5rt0yjq36kg	w3wp.exe	select TITLE_TYPE_ID as title...
470.64	230	2.05	1.10	1,666.82	28.24	0.04	190n91x4147nz	w3wp.exe	select max(fiv.value/1000) kee...
442.80	1	442.80	1.04	1,732.08	25.56	0.00	afmujv9zqhbz7	w3wp.exe	WITH SRC AS (SELECT MAX(BD_ACT...
218.91	111	1.97	0.51	760.69	28.78	0.00	dc8rcs6y6f5vm	w3wp.exe	SELECT t.id Id, t.title_number...
150.80	77	1.96	0.35	531.48	28.37	0.00	9xw6mawqgy9v7	w3wp.exe	select * from (select rownum r...


видим, что 99% DB time это SQL execution, и вся эта загрузка порождена всего одним запросом-лидером. Оптимизируем его.
...
Рейтинг: 0 / 0
dml lock allocation
    #39786872
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Alexander AnokhinГоспода, давно вы перешли на приватные анализы публично выложенных AWR по email? Всё-таки мы должны делиться знаниями друг с другом.Поддерживаю полностью. К тому же для объективности надо показывать результат анализа.

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


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