ORACLEMASTER 備忘録5(2/8)
続き
・REDOログバッファ:
データベースに加えられた“変更履歴情報(REDOエントリ)”を一時的(ディスク上のREDOログファイルに書き込むまでの間)に蓄えておく領域。
・共有プール:
SQL文が解析されたときに“解析済みの”SQL文”や“PL/SQLのコード、実行計画、※データディクショナリ情報”などが格納される領域。SQL文実行の際に必要な情報を多数のユーザーが共有し、再利用できるようにキャッシュすることで、メモリーの節約やディスクアクセスおよびCPUの浪費を防いでる。
・ラージ・プール:
オプションの領域。以下の場合構成する。
・データベースで共有サーバー構成を使用するとき
・パラレル問い合わせを使用する場合
・RMAN(Recovery Manager)を使用してバックアップ/リストア操作を行う場合など
これらの場合にラージ・プールが構成されていないと、代わりに共有プールが使用されてしまう。ラージ・プールは共有プールには適さない大量のメモリー割当用の領域として使用する。
・Javaプール:
Java仮想マシン(JVM)内のセッション固有のJavaコードやデータのために使用される領域。
・Streamsプール:Oracle Streamsによって使用される領域。
※データディクショナリとは、“データベースの管理情報を格納している読み取り専用の表の集合”である。データディクショナリは、SQL文の解析時はもとより、Oracleデータベースの稼働時は常に使用されている。
Oracleバックグラウンドプロセス
「Oracleバックグラウンドプロセス(以降バックグラウンドプロセス)」は、インスタンスの起動時に自動的に起動するプロセス群である。このプロセス群は、ユーザー個別の処理を行うのではなく、OSと連携してメモリー構造を管理したり、ディスクI/Oを行ってディスクにデータを書き込むなど、“Oracleデータベースシステムがスムーズに動作するために必要な全体管理を行っている。”主な役割としては「Oracleデータベースシステムの裏で様々なメンテナンスを行っている」と考えるとわかりやすい。
主なバックグラウンドシステム
・SMON(システムモニター):
障害によってインスタンスを再起動した際に、「インスタンス・リカバリ」を実行する。インスタンス・リカバリとは、インスタンスの異常終了によって失われたデータを直近のトランザクションのコミット時まで回復すること。
・PMON(プロセスモニター):
ユーザープロセスの障害時に、使用していたリソースを開放してクリーンアップを行う。
・DBWn(nは数字)(データベースライター):
データベース・バッファ・キャッシュ上で変更されたデータをデータファイルに書き込む。複数のDBwnを起動できる。
・CKPT(チェックポイント):
データベース・バッファ・キャッシュ内に変更されたすべてのバッファがDBwnによってデータファイルに書き込まれるイベントを「チェックポイント」という。チェックポイントが起こると、CKPTはDBwnを呼び出し、さらにメモリーとディスクの同期情報を制御ファイルとデータファイルに書き込む。この情報を利用すると「どこまでディスクに書き込みが完了しているかがわかるため、障害発生後の回復処理が実行できる。
・RGWR(ログライター):
REDOログエントリ(変更情報履歴)をREDOログファイルに書き込む。
・ARCn(nは数字)(アーカイバ):
REDOログファイルを「アーカイブファイル」としてコピーする。アーカイブログファイルは、データファイルのバックアップを使用した障害回復時に使用される。
・MMON(管理性モニター):
“管理性に関するタスク”(AWRのスナップショットの取得や、ADDM分析の実行など)を実行する。