システム・グローバル領域(SGA)は、1つのOracle Databaseインスタンスのデータおよび制御情報を格納するメモリー領域です。すべてのサーバーとバックグラウンド・プロセスでSGAを共有します。データベース・インスタンスを起動すると、SGAに割り当てられたメモリー量が表示されます。SGAには、次のデータ構造が含まれます。
- 共有プールは、複数のユーザーが共有できる様々な構造をキャッシュします。たとえば、共有プールには、解析されたSQL、PL/SQLコード、システム・パラメータおよびデータ・ディクショナリ情報が格納されます。データベースで発生するほぼすべての操作には、共有プールが関連します。たとえば、ユーザーがSQL文を実行する場合にも、Oracle Databaseは共有プールにアクセスします。
- (オプション)フラッシュバック・バッファは、フラッシュバック・データベースで機能するため、データを時間内に巻き戻して問題を修正できます。フラッシュバック・データベースを有効にすると、リカバリ・ライター・プロセス(RVWR)が起動します。RVWRは、変更されたブロックをバッファ・キャッシュからフラッシュバック・バッファに定期的にコピーし、フラッシュバック・バッファからフラッシュバック・データベース・ログ(循環的に再使用される)に順次書き込みます。
- データベース・バッファ・キャッシュは、データファイルから読み取られるデータ・ブロックのコピーを格納するメモリー領域です。バッファとは、現在使用されているデータ・ブロックまたは最近使用されたデータ・ブロックがバッファ・マネージャによって一時的にキャッシュされるメイン・メモリーのアドレスのことです。データベース・インスタンスに同時接続されたユーザーはすべて、バッファ・キャッシュへのアクセスを共有します。
- (オプション)Oracle Persistent Memory Filestore ( PMEM Filestore )を有効にし、データファイルをPMEM Filestoreに移行した場合、データベース・ファイルは直接読取り専用アクセス用にマップされます。問合せでは、従来のバッファ・キャッシュ・メカニズムをバイパスでき、不要なI/Oを回避できます。
- (オプション)データベース・スマート・フラッシュ・キャッシュは、SolarisまたはOracle Linuxで実行されているデータベースのデータベース・バッファ・キャッシュのメモリー拡張です。データベース・ブロックには、レベル2のキャッシュが提供されます。これにより、読取り集中型のオンライン・トランザクション処理(OLTP)ワークロードと、データ・ウェアハウス(DW)環境での非定型問合せおよび一括データ変更の両方について、応答時間およびスループット全体を向上できます。Database Smart Flash Cacheは、フラッシュ・メモリーを使用するソリッド状態の記憶装置である1つ以上のフラッシュ・ディスク装置に常駐します。Database Smart Flash Cacheは、一般的に、メイン・メモリーの増設よりも経済的であり、かつ、ディスク・ドライブよりもはるかに高速です。
- REDOログ・バッファは、データベースの変更に関する情報を保持するSGA内の循環バッファです。この情報はREDOエントリに格納されています。REDOエントリには、データ操作言語(DML)、データ定義言語(DDL)または内部操作によってデータベースに加えられた変更の再構築(または再実行)に必要な情報が格納されます。REDOエントリは、必要に応じてデータベース・リカバリに使用されます。
- (オプション)ラージ・プールは、共有プールに適切な量よりも大きいメモリー割当て用です。ラージ・プールは、(トランザクションが複数データベースと相互作用する場合に使用される)共有サーバーおよびOracle XAインタフェース用のユーザー・グローバル領域(UGA)、文のパラレル実行で使用されるメッセージ・バッファ、Recovery Manager (RMAN) I/Oワーカーのバッファおよび遅延挿入に対して大量のメモリー割当てを提供できます。
- (オプション)インメモリー領域では、オブジェクト(表、パーティションおよびその他のタイプ)を列形式でメモリーに格納できます。この形式では、従来のディスク上の形式よりも大幅に高速にスキャン、結合および集計できるため、OLTP環境とDW環境の両方に対して高速なレポート作成やDMLのパフォーマンスが提供されます。この機能は、少数の行の操作で多数の列を返すOLTPではなく、少数の列の操作で多数の行を返す分析アプリケーションで特に役立ちます。
- (オプション)memoptimize poolは、キーベースのクエリーのパフォーマンスとスケーラビリティを高めます。memoptimizeプールには、memoptimizeバッファ領域とハッシュ索引の2つの部分があります。高速検索では、memoptimizeプール内のハッシュ索引構造を使用して、ディスクI/Oを回避するためにバッファ・キャッシュに永続的に固定されている特定の表(
MEMOPTIMIZE FOR READ
に対して有効)のブロックに高速アクセスを提供します。memoptimizeプールのバッファは、データベース・バッファ・キャッシュとは完全に分離されています。ハッシュ索引は、Memoptimized Rowstoreが構成されると作成され、Oracle Databaseによって自動的にメンテナンスされます。 - (オプション)共有I/Oプール(SecureFiles)は、SecureFileラージ・オブジェクト(LOB)での大規模なI/O操作用です。LOBは、大量のデータを保持するデータ・タイプのセットです。SecureFileは、重複除外、暗号化および圧縮を可能にするLOB記憶域パラメータです。
- (オプション)ストリーム・プールは、Oracle Data PumpおよびOracle GoldenGateプロセスと連携します。ストリーム・プールには、バッファされたキュー・メッセージが格納されます。明示的に構成しないかぎり、ストリーム・プールのサイズはゼロから開始されます。
- (オプション)Javaプールは、Java Virtual Machine (JVM)のすべてのセッション固有のJavaコードおよびデータ用です。Javaプール・メモリーは、Oracle Databaseの実行モードに応じて異なる方法で使用されます。
- 固定SGAは、データベースとデータベース・インスタンスの状態に関する一般的な情報と、プロセス間で通信される情報を含む内部ハウスキーピング領域です。