Oracle - パフォーマンスチューニング - キャッシュのヒット率を取得する

データベースバッファキャッシュのヒット率

(ヒット率が低い場合(85%以下),初期化パラメータdb_block_buffersを大きくする)

SELECT
    TO_CHAR((1 - (A.VALUE / (B.VALUE + C.VALUE))) * 100, '99.99') || '%'  	"HIT RATIO"
FROM
    V$SYSSTAT A,
    V$SYSSTAT B,
    V$SYSSTAT C
WHERE
    A.NAME = 'PHYSICAL READS' AND
    B.NAME = 'DB BLOCK GETS' AND
    C.NAME = 'CONSISTENT GETS';

ディクショナリキャッシュのヒット率を取得

(ヒット率が低い場合(90%以下),初期化パラメータshared_pool_sizeを大きくする)

SELECT
    SUM(GETS) TOTAL_GETS,
    SUM(GETMISSES) TOTAL_MISSES,
    TO_CHAR((1 - SUM(GETMISSES)/SUM(GETS)) * 100, '990.99')|| '%' HIT_RATIO
FROM
    V$ROWCACHE;

ライブラリキャッシュ(共有SQL領域)のヒット率を取得する

共有プールのライブラリキャッシュヒット率です。
SQLPL/SQLの実行計画を格納する領域)

(ヒット率が低い場合(90%以下),初期化パラメータshared_pool_sizeを大きくする)

SELECT
    SUM(PINS) TOTAL_PINS,
    SUM(RELOADS) TOTAL_RELOADS,
    TO_CHAR((1 - SUM(RELOADS)/SUM(PINS)) * 100, '990.99')|| '%' HIT_RATIO
FROM
    V$LIBRARYCACHE;