Home » database » オラクルの動作概要

オラクルの動作概要

オラクルの動作概要は次のような流れになります。

Oracle_motion

SGAがどのように割り当てられるかは、インスタンス起動時に参照される初期化パラメータによって設定します。

DB_BLOCK_SIZE(メモリやディスクなどファイルI/Oの基本サイズ(一度設定すると変更不可)

SGA(システムグローバル領域)のサイズ

データやREDOログファイルなどの物理的格納場所

サーバプロセスやユーザプロセスの内容も初期化パラメータによって設定します。

どのくらいのユーザー数、セッション数になるか

共有サーバプロセス(メモリを共有できる部分は共有する仕組み)

専用サーバプロセスか(メモリをユーザごとに確保する仕組み)

など

共有サーバプロセスは、メモリ資源を有効活用できるメリットがあります。メモリは高価なので、こうゆう仕組みが必要です。

専用サーバプロセスは、メモリは使いますが、処理は多少早いというメリットがあります。

SQL処理に比べれば微々たる違いかも知れません。

Oracleを起動すると、初期化パラメータ及びディスク内にある情報によってインスタンスが起動し使える状態になります。

問合せを受け付けるリスナーによって、ユーザからの処理の問合せをユーザプロセスが受け取り、サーバプロセスへと展開します。

データがメモリ(SGAの中のデータベースバッファキャッシュ)上に存在すれば、読み取ったデータを返します。

データがメモリ(SGAの中のデータベースバッファキャッシュ)上に存在しない場合、

ディスクからメモリ(SGAの中のデータベースバッファキャッシュ)へ展開します。

その後はメモリ(SGAの中のデータベースバッファキャッシュ)に存在する場合と同様です。

つまり、データがメモリ(SGAの中のデータベースバッファキャッシュ)上に存在する場合はディスクから読む必要がなく、

メモリ上だけの処理ですみますので、高速になります。

チューニングの一つのポイントとして、データをいかにメモリ内の処理で完結させられるかにあります。

データに変更があった場合は、メモリ上の更新がなされ、一定のルール(メモリからの追い出しなど)に従いディスクに書き出されます。