ablog

不器用で落着きのない技術者のメモ

Windows 版の Oracle Database はスレッドベースのアーキテクチャ

Windowsでは、各バックグラウンド・プロセスは、1つの大きなプロセス内のスレッドとして実装されます。Oracle Databaseインスタンスまたはシステム識別子のそれぞれには、対応するOracle Databaseのプロセスが1つあります。たとえば、UNIX上の1つのデータベース・インスタンスに対する100のOracle Databaseプロセスは、Windowsでは1つのプロセス内の100のスレッドとして処理されます。

Oracle DatabaseのWindowsとUNIXでの相違点

Oracle Databaseの内部プロセスのアーキテクチャは、スレッドベースです。スレッドは、プロセス内のプログラム命令を実行するオブジェクトです。スレッドにより、1つのプロセス内での同時処理が可能になり、プロセスが、異なるプロセッサ上でプログラムの異なる部分を同時に実行できます。スレッドベースのアーキテクチャには、次の利点があります。

  • コンテキストのスイッチングが高速
  • 共有メモリーを使用する必要がないため、システム・グローバル領域割当てルーチンがシンプル
  • スレッドはプロセスよりも速く作成できるため、新規接続の高速な作成が可能
  • スレッドはプロセスよりも多くのデータ構造を共有するため、メモリー使用量が減少
WindowsでのOracle Databaseアーキテクチャ