Oracle

データベース・メモリー・キャッシュと他のメモリー構造について

・11 データベース・メモリーの割当て

この章では、Oracle Databaseにおけるメモリー割当て、およびメモリー管理の様々な方法について説明します。

この章のトピックは、次のとおりです:

データベース・メモリー・キャッシュと他のメモリー構造について

データベース・メモリーの管理方法

自動メモリー管理の使用
Oracle Databaseでは、メモリー・キャッシュおよびディスクに情報を格納します。メモリー・アクセスは、ディスク・アクセスよりはるかに高速です。ディスク・アクセス(物理I/O)は、メモリー・アクセスに比べ、時間がかかります(通常は約10ミリ秒)。また、物理I/Oでは、デバイス・ドライバやオペレーティング・システムのイベント・スケジューラのパス長のために必要なCPUリソースも増加します。このため、頻繁にアクセスされるオブジェクトに対するデータ・リクエストは、ディスク・アクセスではなくメモリー・アクセスで実行するほうが効率的です。Oracle Databaseメモリー・キャッシュを適切にサイズ設定して効率的に使用すると、データベースのパフォーマンスが大幅に向上します。

パフォーマンスに影響するOracle Databaseの主なメモリー・キャッシュは、次のとおりです。

データベース・バッファ・キャッシュ

データベース・バッファ・キャッシュには、ディスクから読み取られたデータ・ブロックが格納されます。

REDOログ・バッファ

REDOログ・バッファには、バッファ・キャッシュのデータ・ブロックに行われた変更のREDOエントリが格納されます。

共有プール

共有プールからは様々なタイプのデータがキャッシュされ、主に次のコンポーネントで構成されています。

ライブラリ・キャッシュ

データ・ディクショナリ・キャッシュ

サーバー結果キャッシュ

ラージ・プール

ラージ・プールでは、次のようなOracle Database機能に対して大量のメモリー割当てを行うことができます。

共有サーバー・アーキテクチャ

パラレル問合せ

Recovery Manager (RMAN)

Javaプール

Javaプールには、セッションに特化したJavaコードおよびJava Virtual Machine (JVM)データが格納されます。

Streamsプール

Streamsプールは、Oracle Advanced Queuing (AQ)およびレプリケーション・プロセスのためのメモリーを提供します。

プロセス・プライベート・メモリー

プロセス・プライベート・メモリーには、ソートやハッシュ結合などの操作に使用されるメモリーが含まれます。

インメモリー列ストア(IM列ストア)

Oracle Database 12cリリース1 (12.1.0.2)以降、IM列ストアは、表およびパーティションのコピーを格納するオプションの静的SGAプールです。IM列ストアでは、データは特殊な列形式に格納され、これによってスキャン、結合および集計などの操作のパフォーマンスが向上します。