powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / размер LOG_BUFFER
7 сообщений из 7, страница 1 из 1
размер LOG_BUFFER
    #39782302
пдржзгл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,
init.ora
авторsga_target=192G
pga_aggregate_target=48G
use_large_pages=only

запускаем БД,
select value from v$parameter where name = 'log_buffer';
515358720

Кто-нибудь знает зачем оракл выставил такой большой буфер, и как он его рассчитывает?
В доках вообще не идет речь о таких размерах
Оракл 12.1
...
Рейтинг: 0 / 0
размер LOG_BUFFER
    #39782303
х.з.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пдржзгл,

supportlog_buffer = max(2M, 128K * ncpus) * max(2, ncpus/16);
The default min log buffer size = 4M;

похоже?
...
Рейтинг: 0 / 0
размер LOG_BUFFER
    #39782304
wurdu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это размер гранулы.
Код: plsql
1.
select bytes from v$sgainfo where name like 'Granule Size';
...
Рейтинг: 0 / 0
размер LOG_BUFFER
    #39782311
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пдржзглinit.oraЧтобы экземпляр использовал init.ora, нужно это указывать при старте.
wurduЭто размер гранулы.log_buffer не является компонентой с автоматическим управлением памятью. Да и размер для гранулы странный.
...
Рейтинг: 0 / 0
размер LOG_BUFFER
    #39782312
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но выравнивается (вместе с FIXED SGA) по размеру гранулы (для SGA>128G он именно 512M)
...
Рейтинг: 0 / 0
размер LOG_BUFFER
    #39782326
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровНо выравнивается (вместе с FIXED SGA) по размеру гранулы (для SGA>128G он именно 512M)Сошлось с точностью до нескольких копеек.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
> select name, bytes/1048576 mb, resizeable
from v$sgainfo t
where name in ('Granule Size', 'Redo Buffers', 'Maximum SGA Size', 'Fixed SGA Size')
model dimension by (name) measures(bytes, resizeable, 0 diff)
(bytes['fixed+log buffer']=bytes['Fixed SGA Size']+bytes['Redo Buffers'], 
 bytes['diff']=1048576*(
    ceil((bytes['Fixed SGA Size']+bytes['Redo Buffers'])/bytes['Granule Size'])*bytes['Granule Size']
        -(bytes['Fixed SGA Size']+bytes['Redo Buffers']))
);

NAME                              MB    RES
------------------------- ------.------ ---
Maximum SGA Size          393216        No 
Granule Size                 512        No 
Fixed SGA Size                25.127693 No 
Redo Buffers                 998.871094 No 
fixed+log buffer            1023.998787    
granule count                         2    
diff                               1272    


параметр референс 19When the log buffer size is not specified, any remaining memory in the redo granules is given to the log buffer.В базе задано
Код: plsql
1.
2.
3.
4.
5.
> select display_value, isdefault from v$parameter where name = 'log_buffer';

DISPLAY_VA ISDEFAULT 
---------- ----------
512M       FALSE     

Выходит, что, хоть оно и specified 512M, но все равно выравнивается. 512 не влезло в одну гранулу вслед за fixed sga, поэтому заняло чуть-чуть плюс any remaining memory следующей гранулы и получилось 998.87МБ.
...
Рейтинг: 0 / 0
размер LOG_BUFFER
    #39784231
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Сошлось с точностью до нескольких копеек.У меня на всех БД 11-12 расхождения десяток процентов
По-хорошему, можно попытаться проанализировать дампы, адреса областей памяти из x$, но честно говоря, лениво да и не вижу большого смысла
У меня есть одно предположение: Private Redo Strands. По идее, им выделяется память в SGA, но где-то в статейках проскакивала информация, что для них память выделяется в той же грануле, что и LOG_BUFFER, а затем, если PRS не используется по какой-то причине (SUPPLIMENTAL LOGGING, FLASHBACK DATABASE, GUARANTEED RESTORE POINT, это только навскидку) то про эту память забывается и она становится просто "потерянной".
Звучит не очень красиво, но объясняет расхождение (а у меня везде SUPPLIMENTAL LOGGING включен)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / размер LOG_BUFFER
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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