バックグラウンド・プロセスの役割
Oracle Databaseはマルチプロセスのデータベース・システムです。多くのユーザーが同時にアクセスして利用します。ユーザーがストレスなく快適に使用できるようにするためには、システムやネットワークやインスタンスやプロセスに異常がないかを監視し、障害が見つかれば復旧作業を行ってくれる仕組みが必要です。また、ユーザーに最高のパフォーマンスを提供するためには、ディスクI/Oを始めとする低レベルのシステム処理を効率よく制御する必要があります。
このような影の調整役となるのが、Oracle Databaseのバックグラウンド・プロセスです。バックグラウンド・プロセスは、並列性を高めパフォーマンスと信頼性を向上させるために、なくてはならないプロセスです。
Oracleのバックグラウンド・プロセスを確認するには、以下のSQL文をSYSDBAで実行します。
SQL> CONNECT / AS SYSDBA 接続されました。 SQL> COLUMN NAME FORMAT A4 SQL> COLUMN DESCRIPTION FORMAT A50 SQL> SQL> SELECT NAME, DESCRIPTION 2 FROM V$BGPROCESS, V$PROCESS 3 WHERE PADDR = ADDR 4 ORDER BY NAME; NAME DESCRIPTION ---- -------------------------------------------------- CJQ0 Job Queue Coordinator CKPT checkpoint DBRM DataBase Resource Manager DBW0 db writer process 0 DIA0 diagnosibility process 0 DIAG diagnosibility process GEN0 generic0 LGWR Redo etc. MMAN Memory Manager MMNL Manageability Monitor Process 2 MMON Manageability Monitor Process PMON process cleanup PSP0 process spawner 0 QMNC AQ Coordinator RECO distributed recovery SMON System Monitor Process VKTM Virtual Keeper of TiMe process
今回はこれらのバックグラウンド・プロセスについて解説します。