dbheap - Database heap parametro di configurazione
- Tipo di configurazione
- Database
- Tipo di parametro
- Configurabile online (richiede una connessione al database)
- Classe di propagazione
- Immediato
- Default [ intervallo]
- Su sistemi operativi Linux e UNIX
- AUTOMATICO [AUTOMATICO, 32 - 2147483647]
- Il valore predefinito è AUTOMATICO con un valore sottostante di 1200.
- Sui sistemi operativi Windows
- AUTOMATICO [AUTOMATICO, 32 - 2147483647]
- Su 32 - bit architetture, il valore predefinito per un server autonomo è AUTOMATICO con un valore sottostante di 300.
- Su 64 - bit architetture, il valore predefinito è AUTOMATICO con un valore sottostante di 600.
- Unità di misura
- pagine (4 KB)
- Quando assegnato
- Il valore fisso o sottostante di dbheap e una quantità di memoria interna per i requisiti critici è riservata dalla memoria del database all'attivazione del database. L'heap del database viene assegnato come richiesto.
- Quando liberato
- Le assegnazioni di memoria vengono liberate quando non sono più necessarie. Tutta la memoria assegnata nell'heap del database viene liberata quando il database viene disattivato.
Esiste un heap di database per database, e viene utilizzato per una varietà di scopi critici al supporto delle attività di database. Molti requisiti noti, come il buffer di log, vengono valutati al momento dell'attivazione del database. Questi requisiti interni, insieme al valore dbheap configurato fisso o sottostante, contribuiscono alla dimensione della memoria del database iniziale e costituiscono una riserva della memoria del database per l'heap del database. Ulteriori requisiti che non fanno parte del calcolo interno includono una cache per i metadati della tabella, che si accumula come tabelle a cui si accede.
La prenotazione dell'heap del database iniziale include sia il valore configurato che il requisito calcolato internamente. Questa prenotazione iniziale è un limite hard forzato se l'heap del database è impostato su un valore fisso. Quando il parametro dbheap viene lasciato all'impostazione AUTOMATIC predefinita, l'heap del database può aumentare oltre la prenotazione iniziale e utilizzare l'eventuale eccedenza di memoria del database rimanente. Inoltre, se il parametro database_memory è impostato su AUTOMATIC, l'heap del database può aumentare ulteriormente aumentando automaticamente la dimensione di database_memory .
I requisiti di memoria riservata del database dipendono da una varietà di fattori tra cui il design di database, l'attività di applicazione e la configurazione. Si consiglia di lasciare l'impostazione a AUTOMATICA con un valore sottostante basso, come ad esempio il valore predefinito. L'impostazione dbheap viene modificata in AUTOMATIC quando si migra a Db2 Versione 9.5 o superiore dalle release precedenti o quando si applicano i suggerimenti dall'advisor di configurazione di Db2 .
- Un buffer di log di dimensione
LOGBUFSZ, che viene allocato all'attivazione del database. Questo fa parte dell'assegno di memoria riservata del database interno. - Circa 100KB viene assegnato per ogni tabella compressa a cui si accede. Se si utilizza il partizionamento della tabella, questa quantità è per partizione da tabella. Fino a 100MB è richiesto per ogni tabella a base di colonne a cui si accede. Questi requisiti di memoria non sono inclusi nella dimensione heap del database iniziale e devono essere inclusi in qualsiasi valore dbheap fisso. Questi metadati vengono memorizzati nella cache mentre il database è attivo.
- Se
AUDIT_BUF_SIZEè impostato su un valore diverso da zero, due buffer della dimensione specificata vengono assegnati durante l'attivazione del database. Questo è incluso nell'assegno di memoria riservata del database interno. - Un'indennità per due buffer HADR è fatta per la prenotazione dell'heap del database iniziale. Ad esempio, se
DB2_HADR_BUF_SIZEè impostato su 256000 pagine 4KB , circa 2GB viene aggiunto alla prenotazione dell'heap del database iniziale dalla memoria del database. Questo fa parte dell'assegno di memoria riservata del database interno, e si verifica sia sui database primari che in standby per supportare le risorse necessarie per le operazioni di failover. - Circa 100MB viene allocato di fronte al fine di supportare la strumentazione della diagnostica. Questo è incluso nell'assegno di memoria riservata del database interno.
Monitoraggio
Il valore dbheap che si configura rappresenta solo una parte dell'heap del database assegnato. Come documentato, viene aggiunto un importo extra all'heap del database per rendere conto dei requisiti critici. Di conseguenza, è normale che l'utilizzo della memoria heap del database superi il valore configurato dall'utente per il parametro dbheap .
select memory_pool_used, memory_pool_used_hwm
from table (mon_get_memory_pool(null,null,null))
where memory_pool_type='DATABASE'Restituisce i valori di memory_pool_used e memory_pool_used_hwm in unità KB:MEMORY_POOL_USED MEMORY_POOL_USED_HWM
-------------------- --------------------
140574 140574
1 record(s) selected.È inoltre possibile utilizzare il comando db2pd -db <database_name> -mempools per monitorare l'utilizzo dell'heap database.