Newsgroup: it.comp.software.database
Titolo: [HELP]Oracle - memoria perm

Salve a tutti,
faccio una premessa: non so nulla di Oracle DBA :-) ma, per problemi vari,
avrei delle domande
specifiche da porre al ng.
Mi interesserebbe sapere:
1)Cosa e' la memoria "perm" di Oracle?
2)Come viene gestita? (a grandi linee!!!!)
3)Per farla diminuire si puo' solo tirare giu' Oracle?
4)Si puo' sapere cosa ci viene scritto?
In particolare sarebbe forte sapere cosa puo' scatenare un suo aumento (a
livello di
sessioni,utenti,query fatte al database...)
In pratica mi piacerebbe conoscere quali possono essere i legami
causa/effetto di una sua crescita
continua (e, ovviamente, se questa e' normale in un db Oracle).
Mille grazie per l'attenzione e scusate in principio la mia ignoranza in
materia,
Marco.
PS Uso questa query per monitorarla:
select  sum(ksmchsiz) Bytes, ksmchcls Status
from    x$ksmsp
group by ksmchcls;

 materia,
Purtroppo quando arrivi agli internal di Oracle un pò tutti sono ignoranti...
solo la Oracle sa e può... l'unico modo per sapere come funzionano è 
smanettare sopra... 
o avere un amico che lavora alla Oracle e che ti passa i docs <g>
/G


da prendere con le pinze, aiuta fare una flush,
in alcuni casi puo'sfalsare i valori delle sequence, soprattutto
se sono pinnate in sga, cmq :)
felice_pago
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 della cache...
credo che sia quello che sta succedendo nel mio caso...credo!
Solo che il problema non e' solo di performance..... e' la shared memory che
si esaurisce proprio :-(
Mille grazie ancora dell'interessamento,
Marco.

 se sono pinnate in sga, cmq :)
Qui per me e' buio totale...cmq grazie per la risposta!
Un saluto,
Marco.

 perm che la saturasse in quanto.....non l'ho mai vista scendere!
[...]
ok... piattaforma e versione del dibbi farebbero comodo, come pure capire
in che architettura stai... MTS e/o Parallel Server....
sta cosa mi puzza...
nella shared ci sono:
a) dictionary
b) library
c) uga (se usi MTS)
(a) e (b) non dovrebbero fare casini, in quanto la prima è gestita 
internamente la seconda è gestita con delle LRU... 
la (a) comqunque mi puzzicchia (ma non troppo) perchè secondo Oracle
è proprio quella che viene allocata nella memoria detta "perm", però
se così fosse sarebbe o un baco di Oracle (dubito si sarebbe saputo) 
o un effetto collaterale di un'altra causa...
la terza che mi puzza un bel po'... se sei in MTS la uga prende posto 
nella shared (a meno che tu non abbia configurato la large_pool)...
Se sei in MTS (Multi threaded server) e non hai configurato la 
large_pool, puoi controllare da sqlplus (con utente sys/system)
SQL> show parameter mts_servers
SQL> show parameter large pool
poi fai questa query e vedi se c'è qualcuno che esagera con la UGA
SELECT v1.sid, program, v1.value ugastat, v2.value maxugastat
  FROM v$statname s1, v$statname s2, v$sesstat v1, v$sesstat v2, v$session sess
 WHERE 
s1.name
 = 'session uga memory'
   and 
s2.name
 = 'session uga memory max'
   and sess.sid = v1.sid
   and v1.statistic#=s1.statistic#
   and v2.statistic#=s2.statistic#
   and v1.sid=v2.sid
   and v1.value>0
 ORDER BY v2.value DESC
comunque... a corollario di tutto se ti crasha il sistema deve aver scritto
qualche cosa da qualche parte prima di morire:
alertlog e file di trace nelle directory..
SQL> show parameter dump_dest
HTH
/G


gli oggetti piu' acceduti e' buona educazione tenerli in sga,
sono sempre in sga, ma vengono scaricati appena non piu' utili
in sga, o per far posto LRU, e se "pinni" delle sequence in
sp puoi avere dei diseallineamenti sulle stesse.
EXEC DBMS_SHARED_POOL.KEEP('SYS.DBMS_STANDARD','P');
con utente sys e il pakage installato puoi eseguire.


SQL> show parameter dump_dest
Ci daro' un'occhiata, spero di capirci qualcosa :-(
Grazie ancora per le risposte,
Marco.

 con utente sys e il pakage installato puoi eseguire.
Questa la studio domani..... per adesso non c'ho capito molto! ;-) ;-) ;-)
Un cordiale saluto,
Marco.

 Ci daro' un'occhiata, spero di capirci qualcosa :-(
I file di log sono importantissimi... se ci sono problemi seri è li che 
oracle scrive...
/G