Sep 15, 2009 20:37
Очередные заметки на полях.
Итак, исходные данные. Сервер под управлением Win2003 Ent. Edition R2, 32 бита. 8 гиг оперативки. Oracle 10.2.0.3
Как уже понятно, ничего хорошего из такого сочетания получиться не может, ибо ограничение 2 гига на процесс не дает воспользоваться всем богатством.
Итак, что можно сделать. (В принципе, никаких откровений тут нет, все уже разжевано на sql.ru, тут просто компиляция фактов)
1. в boot.ini прописываем ключ /3GB
2. убеждаемся, что включено PAE
3. в реестр прописываем AWE_WINDOW_MEMORY. Есть рекомендации по конкретным значениям для различных конфигураций, я тупо поставил 1Гб (указывать надо в байтах, строковый параметр)
4. Начинаем мучать Oracle. В прниципе, проще всего сделать
create pfile from spfile;
далее, бэкапим на всякий случай этот файлик.
В текстовом варианте правим
use_indirect_data_buffers=true
db_block_buffers = <сколько хотим памяти под кэш / размер страниццы>
Да, т.к. нам пришлось явно начать распределять SGA, про прелести жизни в виде sga_target можно забыть, поэтому нужно ручками прописать еще как минимум
shared_pool_size
streams_pool_size - нужен для репликации, impdp/expdp
Еще не забываем про pga_agregate_target, она + все что не кэш должны влезть в 2(3) гига
далее
shutdown immediate
create spfile from pfile;
startup
И если все хорошо, то получаем экземпляр, который использует ресурсы нашего сервера как следует