Oracle Datenbank-Tuning - Der Buffer Cache

Datenbankobjekte des Buffer Pool

Nützliche Informationen liefert auch das View V$BH. Es wurde für den Parallel Server entwickelt, steht aber auch für Single Instance zur Verfügung. Die Abfrage in folgendem Listing gibt alle Datenbankobjekte zurück, die sich im Buffer Pool befinden. Die Liste ist absteigend nach der Buffer-Anzahl sortiert.

SQL> SELECT a.owner, a.object_name, a.object_type,
2 COUNT(*)
3 FROM dba_objects a, v$bh b
4 WHERE a.object_id = b.objd
5 AND owner NOT IN ('SYS','SYSTEM')
6 GROUP BY a.owner, a.object_name, a.object_type
7 HAVING COUNT(*) > 2
8 ORDER BY 4 DESC;
OWNER OBJECT_NAME OBJECT_TYPE COU
--------- --------------------- ------------- ---
DBSNMP MGMT_RESPONSE_CAPTURE TABLE 11
DBSNMP MGMT_RESPONSE_CONFIG TABLE 6
DBSNMP MGMT_RESPONSE_BASELINE TABLE 6

Nachdem Sie festgelegt haben, welche Objekte in welchem Pool gespeichert werden sollen, gilt es zu bestimmen, wie groß die einzelnen Pools sein sollen. Die aktuelle Größe einer Tabelle kann mit der folgenden Abfrage ermittelt werden.

SQL> SELECT owner, table_name, blocks
2 FROM dba_tables
3 WHERE owner = 'SH';
OWNER TABLE_NAME BLOCKS
------------ ----------------------- ------
SH SALES 1768
SH COSTS 206
SH TIMES 59
SH PRODUCTS 5
SH CHANNELS 4

Die Statistiken in den Views DBA_TABLES und DBA_INDEXES werden nur bereitgestellt, wenn die Objekte analysiert sind. Analysieren Sie deshalb die Tabellen und Indexe. Verwenden Sie für das Erstellen von Statistiken das Paket DBMS_STATS.