Nel mio caso lanciando un package di archiviazione di un software mi sono imbattuto in questo errore in una virtual machine Windows 2003 32bit con 3 GB di RAM, Oracle 10G R2.
Questo argomento è descritto anche nel doc Metalink ID 1325100.1.
Nel Metalink fanno eseguire un trace dove nel dump si vede benissimo che è un problema di allocazione di memoria.
Il_realfree_heap_pagesize_hint nella 10g fa sì che il processo di private memory (PGA) usi pagine di allocazione più grandi, riducendo così TLB/TSB.
In questo caso occorre controllare due parametri nell'instanza:_use_realfree_heap e _realfree_heap_pagesize_hint che sono impostati per default.
select i.ksppinm name , v.ksppstvl cur_val, v.ksppstdf default_val, v.ksppstvf from x$ksppi i, x$ksppcv v where i.indx = v.indx and i.ksppinm in ('_realfree_heap_pagesize_hint', '_use_realfree_heap') NAME CUR_VAL DEFAULT_V KSPPSTVF —————————————- ———- ——— ———- _realfree_heap_pagesize_hint 65536 TRUE 0 _use_realfree_heap TRUE TRUE 0A questo punto provvedo a modificare solo il _realfree_heap_pagesize_hint :
alter system set "_realfree_heap_pagesize_hint" = 262144 scope=spfile;
e riavviare il db.
Una volta riavviato controllo se ha preso il nuovo parametro sempre con:
select i.ksppinm name , v.ksppstvl cur_val, v.ksppstdf default_val, v.ksppstvf from x$ksppi i, x$ksppcv v where i.indx = v.indx and i.ksppinm in ('_realfree_heap_pagesize_hint', '_use_realfree_heap') NAME CUR_VAL DEFAULT_V KSPPSTVF —————————————- ———- ——— ———- _realfree_heap_pagesize_hint 262144 TRUE 0 _use_realfree_heap TRUE TRUE 0Ci sono moltissimi esempi tra l'altro ben documentati, per quanto riguarda macchine ovviamente Solaris o Linux, ma in ambiente Windows purtroppo non ho trovato quasi nulla.
Aspetto feedback....
Nessun commento:
Posta un commento