Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 память под процессы  [new]
romu
Member

Откуда:
Сообщений: 53
Хочу обратиться к тем, кто может помочь в решении проблемы. Часто стали возникать на сервере ошибки ora-12500. У нас используется Oracle 8.1.7.0 на Win2k. Общий объем памяти на сервере 4Гб, под Оракл отдано около 3Гб. Ошибка может появляется, когда количество процессов доходит 170, а бывает, что и при 190 не возникает ошибка. При этом сама загрузка процессора не значительна. В Perfomance параметр Virtual bytes не достигает пика.
Какие параметры в init.ora необходимо подкорректировать, на что обратить в первую очередь.
25 дек 07, 10:23    [5091657]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 17088
В Windows все серверные процессы стартуют как нити в рамках ОДНОГО процесса oracle.exe, так же мы имеем ограничение в 4Г адресуемого пространства на один процесс в 32-х битной архитектуре. переходи что ли на Shared
25 дек 07, 10:29    [5091689]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 17088

https://www.sql.ru/forum/actualthread.aspx?tid=208727&pg=1&hl=ora+12500�

Posted via ActualForum NNTP Server 1.4

25 дек 07, 10:31    [5091704]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
romu
Member

Откуда:
Сообщений: 53
А в shared бывают такие заморочки? Есть ли шанс, что перейдя на shared, у меня данная проблема исчезнет?
25 дек 07, 11:01    [5091927]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
KoTTT
Member

Откуда: Екб
Сообщений: 1511
romu
А в shared бывают такие заморочки? Есть ли шанс, что перейдя на shared, у меня данная проблема исчезнет?

Перейдя на shared, вы поимеете массу этих "заморочек".
А так у вас вариантов немного. Уменьшайте db_block_buffers, shared_pool_size, *_area_size.
Если возможно перейти на 9-ку, то переходите. С ее pga_aggregate_target станет легче.
25 дек 07, 11:10    [5092011]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
romu
Member

Откуда:
Сообщений: 53
Если я буду уменьшать значения параметров, то придется что-то увеличивать
Вот наши параметры init.ora:
db_files = 1024
max_enabled_roles = 50
db_file_multiblock_read_count = 32
sort_multiblock_read_count = 128
db_block_buffers = 176947
shared_pool_size = 1127428915
java_pool_size = 0
log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800
processes = 500
parallel_max_servers = 5
log_buffer = 1024000
db_block_size = 8192
sort_area_retained_size = 1048576
sort_area_size = 1048576
optimizer_max_permutations = 12000
session_cached_cursors = 10
open_cursors = 300
cursor_space_for_time = false
25 дек 07, 11:23    [5092117]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
KoTTT
Member

Откуда: Екб
Сообщений: 1511
romu
Если я буду уменьшать значения параметров, то придется что-то увеличивать
Вот наши параметры init.ora:
db_files = 1024
max_enabled_roles = 50
db_file_multiblock_read_count = 32
sort_multiblock_read_count = 128
db_block_buffers = 176947
shared_pool_size = 1127428915
java_pool_size = 0
log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800
processes = 500
parallel_max_servers = 5
log_buffer = 1024000
db_block_size = 8192
sort_area_retained_size = 1048576
sort_area_size = 1048576
optimizer_max_permutations = 12000
session_cached_cursors = 10
open_cursors = 300
cursor_space_for_time = false

Больше гига под шаред пул - это мощно. Он у вас насколько занят?
Ну и
parallel_max_servers = 5
вам здорово "помогают" экономить память.
25 дек 07, 11:34    [5092201]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
romu
Member

Откуда:
Сообщений: 53
Поправьте меня если я ошибаюсь. Данная ошибка (ora-12500, в моем случае) может возникать, если для пользовательского процесса в оракле не осталось памяти. Я думал, что чем больше устанавливать shared_pool_size, тем лучше. Тогда, когда пользователь цепляется к базе, откуда он берет память, из какого параметра он рассчитывается?
25 дек 07, 13:00    [5093016]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
KoTTT
Member

Откуда: Екб
Сообщений: 1511
Ошибаетесь. Причем "фундаментально". Пока читаете "Oracle8i Concepts. Release 2 (8.1.6). Memory Architecture" , уменьшайте шаред пул до 200-300 Мб, можно и db_block_buffers до 1 Гб. Отрубайте параллелизм. Но все зависит от кол-ва сессий, тяжести запросов, от приложений... и т.д.
25 дек 07, 13:21    [5093230]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
romu
Member

Откуда:
Сообщений: 53
Хм, db_block_buffers и так маленький, куда уж его уменьшать. Всего 176Кб
25 дек 07, 13:40    [5093391]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
KoTTT
Member

Откуда: Екб
Сообщений: 1511
romu
Хм, db_block_buffers и так маленький, куда уж его уменьшать. Всего 176Кб

Опять мимо. Читаем DB_BLOCK_BUFFERS.
У вас сейчас размер кэша = 176947 * 8192 = 1449549824 байт.

А вообще открываем Oracle8i Concepts. Release 2 (8.1.6) и читаем, читаем....
25 дек 07, 13:53    [5093509]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
Evo985
Member

Откуда:
Сообщений: 47
Что могу посоветовать... у нас в организации тоже такая проблема была 250-270 сессий и ошибка ora-12500 или так называемый сбой приёмника. Решилась только одним способом - переход на shared сервер. Теперь у нас около 100 пользователей на dedicated, а остальные 50 на shared. Однозначно тебе нужно уменьшить shared_pool до 300 метров, увеличить large_pool(смотря сколько юзеров собираешься на шаред перевести) до 100-150 метров. У нас так по крайней мере. Это всё что можно предложить на 32-битной платформе. Пропиши в boot.ini /PAE /3Gb /userva=2600
25 дек 07, 14:03    [5093594]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
KoTTT
Member

Откуда: Екб
Сообщений: 1511
Evo985
Что могу посоветовать... у нас в организации тоже такая проблема была 250-270 сессий и ошибка ora-12500 или так называемый сбой приёмника. Решилась только одним способом - переход на shared сервер. Теперь у нас около 100 пользователей на dedicated, а остальные 50 на shared. Однозначно тебе нужно уменьшить shared_pool до 300 метров, увеличить large_pool(смотря сколько юзеров собираешься на шаред перевести) до 100-150 метров. У нас так по крайней мере. Это всё что можно предложить на 32-битной платформе. Пропиши в boot.ini /PAE /3Gb /userva=2600

Авторские 170-190 сессий проживут нормально и в dedicated в 8.1.7. А на оракле 9 и выше и 220-250 смогут прожить в олтп базе. Будет больше - тогда да, либо шаред, либо 64 бита.
25 дек 07, 14:09    [5093651]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
Evo985
Member

Откуда:
Сообщений: 47
KoTTT
Авторские 170-190 сессий проживут нормально и в dedicated в 8.1.7. А на оракле 9 и выше и 220-250 смогут прожить в олтп базе. Будет больше - тогда да, либо шаред, либо 64 бита.


Честно говоря всё зависит не от версии Оракл, а от активности юзеров. может ora-12500 вывалиться и при 100 сессиях если каждый будет делать full scan. Так что нужно подгонять базу динамически под оптимальную работу
25 дек 07, 14:20    [5093738]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
KoTTT
Member

Откуда: Екб
Сообщений: 1511
Evo985
KoTTT
Авторские 170-190 сессий проживут нормально и в dedicated в 8.1.7. А на оракле 9 и выше и 220-250 смогут прожить в олтп базе. Будет больше - тогда да, либо шаред, либо 64 бита.


Честно говоря всё зависит не от версии Оракл, а от активности юзеров. может ora-12500 вывалиться и при 100 сессиях если каждый будет делать full scan. Так что нужно подгонять базу динамически под оптимальную работу

От версии очень даже зависит. В 9-ке есть pga_aggregate_target, который (в идеале) позволяет с меньшими совокупными затратами памяти обслужить большее кол-во сессий.
А full scan-ы тут вообще ни при чем, они память не кушают.

А с последним согласен.
25 дек 07, 14:34    [5093863]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
romu
Member

Откуда:
Сообщений: 53
Ключ /3Gb прописан, а что дает ключ /userva=2600?
25 дек 07, 14:42    [5093921]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
А full scan-ы тут вообще ни при чем, они память не кушают.

Ну зачем уж так уж. Кушать то кушают, только не ту память :)
25 дек 07, 14:43    [5093923]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
Evo985
Member

Откуда:
Сообщений: 47
А full scan-ы тут вообще ни при чем, они память не кушают.

не кушают??? А то что они PGA хавают каждая сессия по 20 метров... а то и больше. Кушают, ещё как кушают!
25 дек 07, 14:44    [5093936]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Evo985
А full scan-ы тут вообще ни при чем, они память не кушают.

не кушают??? А то что они PGA хавают каждая сессия по 20 метров... а то и больше. Кушают, ещё как кушают!


А какое отношение full scan имеет к PGA? Может, туда блоки читаются с диска?
25 дек 07, 14:46    [5093947]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
romu
Member

Откуда:
Сообщений: 53
Народ, вы своих обсуждениях пропустили мой вопрос: Ключ /3Gb прописан, а что дает ключ /userva=2600???
25 дек 07, 14:51    [5093991]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
Evo985
Member

Откуда:
Сообщений: 47
tru55
Evo985
А full scan-ы тут вообще ни при чем, они память не кушают.

не кушают??? А то что они PGA хавают каждая сессия по 20 метров... а то и больше. Кушают, ещё как кушают!


А какое отношение full scan имеет к PGA? Может, туда блоки читаются с диска?



попробуйте запустить несколько тяжёлых запросов и вы увидите как у вас быстро увеличивается PGA(она сидит в oracle.exe)- а это значит наступит ora-12500.

По поводу userva... без этого свича 3gb не работает
25 дек 07, 15:00    [5094048]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Evo985
tru55
Evo985
А full scan-ы тут вообще ни при чем, они память не кушают.

не кушают??? А то что они PGA хавают каждая сессия по 20 метров... а то и больше. Кушают, ещё как кушают!


А какое отношение full scan имеет к PGA? Может, туда блоки читаются с диска?


попробуйте запустить несколько тяжёлых запросов и вы увидите как у вас быстро увеличивается PGA(она сидит в oracle.exe)- а это значит наступит ora-12500.


Попробуйте для начала почитать Concept, что ли. Куда читаются блоки данных (независимо от того, full scan или нет), для чего используется PGA (может, сортировки??? ) ну и т.д.

А то уже во втором топике (первый - про экспорт на закрытой базе) идет, мягко говоря, ахинея...
25 дек 07, 15:04    [5094087]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
KoTTT
Member

Откуда: Екб
Сообщений: 1511
Evo985
tru55
Evo985
А full scan-ы тут вообще ни при чем, они память не кушают.

не кушают??? А то что они PGA хавают каждая сессия по 20 метров... а то и больше. Кушают, ещё как кушают!


А какое отношение full scan имеет к PGA? Может, туда блоки читаются с диска?



попробуйте запустить несколько тяжёлых запросов и вы увидите как у вас быстро увеличивается PGA(она сидит в oracle.exe)- а это значит наступит ora-12500.

По поводу userva... без этого свича 3gb не работает

А "тяжелые" запросы - это что имеется в виду? Фуллсканы? Не кушают они pga. Или там еще где-то сортировки спрятались?

/3Gb прекрасно без userva работает.
Использование параметра /userva с параметром /3GB для настройки объема виртуальной памяти в режиме пользователя в пределах между 2 и 3 ГБ
25 дек 07, 15:06    [5094103]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
KoTTT
Member

Откуда: Екб
Сообщений: 1511
2Автор:
Читайте доки. А пока уменьшайте размеры shared_pool и кэша.
И /3Gb поставить не повредит в boot.ini. Правда, в Вин2к, кажется, оно только в Advanced Server работает.
25 дек 07, 15:10    [5094142]     Ответить | Цитировать Сообщить модератору
 Re: память под процессы  [new]
Evo985
Member

Откуда:
Сообщений: 47
Не кушают они pga...

Полный бред! Тогда вам вопрос- что же такое ПГА? может его вообще не надо использовать??? )))
25 дек 07, 15:11    [5094152]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить