バックグラウンドプロセス (Oracle Database)バックグラウンドプロセスとは、データベースであるOracle Databaseのシステムを管理するプロセスである。バックグラウンドで動作する。ファイルとシステムグローバル領域の仲介役となる。インスタンスの実行中にメモリーを管理したり、データをハードディスクに書き込んだりする。 7つの主要なバックグラウンドプロセス主要なバックグラウンドプロセスは以下の7つがある。
利用のオプションやバージョンによってはこれ以外のプロセスも存在する。 SMONOracle Databaseのシステムを監視する。インスタンスに障害が発生した後にOracle Databaseをオープンすると、インスタンス回復を行う。 PMON障害が発生したプロセスを回復させる。そのプロセスが利用していたリソースを開放する。 DBWRメモリの「データベースバッファキャッシュ[1]」上のデータをディスクの「データファイル[2]」に書き込む。データベースバッファキャッシュはシステムグローバル領域の一部である。 Oracle Databaseでは、メモリ上でデータの処理を完了させてからディスクのファイルに書き込む。書き込むデータの順番はLRU(Least Recently Used)というアルゴリズムで決定する。 DBWRを起動する数は、「DB_WRITER_PROCESSES」という初期化パラメータで指定する。DBWRは10つまで起動できる。ほとんどのシステムでは1つ起動すれば十分である。ただし、データを頻繁に変更するなら多く起動するとよい。 DBWRが書き込みをするシステムの状態
LGWRメモリの「REDOログバッファ[1]」にあるデータの変更履歴をディスクの「REDOログファイル[2]」に書き込む。REDOログバッファもシステムグローバル領域の一部である。 LGWRが書き込みをするシステムの状態
CKPTデータファイルと「制御ファイル[2]」(システム制御用のファイル)を更新するための「チェックポイント」を発生させる。 チェックポイントが発生したときにDBWRへ信号を送る。DBWRはデータベースバッファキャッシュでの処理をデータファイルに反映させる。管理者はデータベースを停止するときなど、いろいろなタイミングで発生させることができる。 チェックポイントの処理の流れ
チェックポイントが発生する条件
ARCHREDOログファイルを「アーカイブREDOログファイル[2]」(アーカイブのファイル)にコピーする。REDOログファイルがいっぱいになるか、ログスイッチが発生したときに、書き込みをする。 ARCHを起動する数は、「LOG_ARCHIVE_MAX_PROCESSES」という初期化パラメータに指定する。ARCHが不足しているとLGWRがARCHを自動で起動する。10つまで動作させることができる。 脚注
関連項目 |
Portal di Ensiklopedia Dunia