データベース・バッファ・キャッシュは、バッファ・キャッシュとも呼ばれ、データベース・インスタンスのシステム・グローバル領域(SGA)内のメモリー領域です。データファイルから読み取られるデータ・ブロックのコピーが格納されます。バッファとは、現在使用されているデータ・ブロックまたは最近使用されたデータ・ブロックがバッファ・マネージャによって一時的にキャッシュされるメイン・メモリーのアドレスのことです。データベース・インスタンスに同時接続されたユーザーはすべて、バッファ・キャッシュへのアクセスを共有します。バッファ・キャッシュの目的は、物理的なI/Oの最適化、頻繁にアクセスされるブロックのバッファ・キャッシュでの保持、オプションのOracle Persistent Memory Filestore (PMEM Filestore)のデータファイルを指すバッファ・ヘッダーの管理です。

Oracle Databaseクライアント・プロセスで初めて特定のデータが必要になった場合は、そのデータがデータベース・バッファ・キャッシュ内で検索されます。すでにキャッシュ内にあるデータが見つかった場合(キャッシュ・ヒット)、メモリーからそのデータを直接読み込みます。キャッシュ内でデータが検出されなかった場合(キャッシュ・ミス)は、データにアクセスする前に、ディスク上のデータファイルからキャッシュ内のバッファにデータ・ブロックがコピーされます。キャッシュ・ヒットでのデータ・アクセスは、キャッシュ・ミスでのデータ・アクセスより高速です。

キャッシュ内のバッファは、最低使用頻度(LRU)リストとタッチ・カウントを組み合せた複合アルゴリズムによって管理されます。LRUは、最近使用されたブロックがメモリーに残るようにし、ディスク・アクセスを最小限に抑えるのに役立ちます。

データベース・バッファ・キャッシュは、次の領域で構成されます。