Video: Software Testing Tutorials for Beginners 2024
La gestione della memoria è un componente importante del lavoro con le istanze nel database. Oracle 12c offre tre modi per gestire la memoria nell'istanza:
-
Automaticamente lasciando che Oracle esegua tutto il lavoro
-
Manualmente sintonizzando i singoli parametri per le diverse aree di memoria
-
Combinazione di automatico e manuale utilizzando le tue conoscenze su come funzionano le cose, utilizzando l'infrastruttura di consulenza di Oracle e lasciando che Oracle prenda possesso di alcune aree
Una breve nota sull'automazione Oracle. Attraverso le ultime versioni di Oracle, il database è diventato più automatizzato in aree che in precedenza erano manuali e persino noiose a volte. Questo non vuol dire che presto non ci vorrà abilità particolari per gestire un database Oracle. Esattamente il contrario: quando operazioni più banali sono automatizzate, ti consente di concentrarti sulle funzionalità più avanzate.
Abbiamo avuto un grande successo nell'implementazione di funzionalità automatizzate per i clienti. Libera le nostre risorse per concentrarsi su aspetti quali alta disponibilità e sicurezza, aree che richiedono attenzione a tempo pieno. Grazie al cielo non è necessario passare ore a guardare le dichiarazioni SQL che invecchiano prematuramente dal pool condiviso, con conseguenti problemi di prestazioni.
Si consiglia di gestire automaticamente la memoria in Oracle 12c.
Quando crei il tuo database, puoi impostare un nuovo parametro che toglie quasi tutte le regolazioni della memoria dalle tue mani: MEMORY_TARGET. Impostando questo parametro, tutte le aree di memoria vengono automaticamente ridimensionate e gestite. Dopo aver digitato mostra parametro memory_target in SQL * Plus (l'interfaccia della riga di comando SQL disponibile in Oracle), vedi questo output sullo schermo:
NAME TYPE VALUE -------- ---------------------------- ----------- ----------- ------------------- memory_target big integer 756M
La gestione automatica della memoria ti permette di prendere in mano la quantità di memoria sul sistema e poi decidere quanto vuoi usare per il database.
Non è mai ovvio quale valore si debba scegliere come punto di partenza. Rispondi a queste domande per impostare il valore:
-
Quanta memoria è disponibile?
-
Quanti database saranno alla fine sulla macchina?
-
Quanti utenti saranno sulla macchina? (Se molti, si allocano 4 MB per utente per il sovraccarico del processo.)
-
Quali altre applicazioni sono in esecuzione sulla macchina?
Prima che gli utenti entrino nella macchina, prendere in considerazione non più del 40% della memoria per i database Oracle.Utilizzare questa formula:
(GB di memoria ×. 40) / Numero di database finali = GB per MEMORY_TARGET per database
Ad esempio, se la macchina ha 8 GB di memoria e alla fine ospiterà due database di natura simile e solo 100 utenti ciascuno, si avrebbe questa equazione: (8 × 40) / 2 = 1. 6 GB per MEMORY_TARGET per database.
Per aiutarti a determinare se hai abbastanza memoria, Oracle ti fornisce alcuni suggerimenti se sai dove cercare. Si chiama Memory Advisor Advisor. Trovalo dalla riga di comando sotto forma di vista V $ MEMORY_TARGET_ADVICE. È possibile trovarlo nella home page Controllo database facendo clic su Advisor Central> Consulenti memoria> Consigli.
Qualunque cosa tu scelga per l'impostazione MEMORY_TARGET non è tutta la memoria che Oracle usa. Ecco perché dovresti avere un'idea di quante sessioni ci saranno prima di tu fai la determinazione finale.
Ad esempio, questo parametro copre solo la memoria utilizzata da SGA e PGA. Ogni singola sessione che si collega al database richiede memoria associata al suo sistema operativo o al processo del server. Questo requisito di memoria si aggiunge. Uno dei nostri clienti ha quasi 3, 000 connessioni simultanee che consumano circa 16 GB di memoria al di fuori di SGA e PGA. La macchina del client ha 64 GB di memoria e MEMORY_TARGET è impostato a 16 GB.