GAGA LIFE.

インフラエンジニアブログ

スポンサーリンク

Oracle データベース アーキテクチャ(Recoverer Process (RECO))

f:id:undercovergeek:20200730091316p:plain

RECO

リカバリー・プロセス(RECO)は、分散データベースのネットワークまたはシステムの障害のために保留中の分散トランザクションを解決するバックグラウンド・プロセス。
RECOは、スレッドまたはオペレーティングシステムプロセスとして実行できる。

Oracle データベース アーキテクチャ(Manageability Monitor Process (MMON) and Manageability Monitor Lite Process (MMNL))

f:id:undercovergeek:20200728203020p:plain

管理性監視プロセス(MMON)および管理性監視ライトプロセス(MMNL)は、自動ワークロードリポジトリ(AWR)に関連するタスクを実行するバックグラウンドプロセス。
AWRは、システム、セッション、個々のSQLステートメント、セグメント、およびサービスの累積統計を含む履歴パフォーマンスデータのリポジトリ。
問題の検出とセルフチューニングの目的で使用される。

MMON

MMONはSGAからさまざまなメモリ統計を収集し、それらをフィルタリングして、自動ワークロードリポジトリ(AWR)に60分ごとにそれらの統計のスナップショットを作成する。
60分がデフォルト値であり、変更できる。
また、自動データベース診断モニター(ADDM)分析を実行し、しきい値を超えるメトリックに対してアラートを発行する。

MMNL

MMNLは、セッション統計(ユーザーID、状態、マシン、および実行中のSQLなど)を収集し、アクティブセッション履歴(ASH)バッファーに格納する。
具体的には、MMNLはV$SESSIONおよびV$SESSION_WAITビューをSGAで毎秒サンプリングし、そのデータをV$ACTIVE_SESSION_HISTORYビューに記録する。
非アクティブなセッションはサンプリングされない。
ASHはメモリ内のローリングバッファとして設計されているため、必要に応じて以前の情報が上書きされる。
ASHバッファーがいっぱいになるか、MMONがスナップショットを取得すると、MMNLはASHバッファーをAWRのDBA_HIST_ACTIVE_SESS_HISTORYビューにフラッシュ(空)する。
スペースが高価なため、10エントリごとに1つだけがフラッシュされる。
MMNLはメトリックも計算する。

MMONとMMNLはどちらも、スレッドまたはオペレーティングシステムプロセスとして実行できる。
データベースインスタンスに加えて、MMONおよびMMNLは自動ストレージ管理(ASM)インスタンスでも実行される。

Oracle データベース アーキテクチャ(Checkpoint Process (CKPT))

f:id:undercovergeek:20200727195256p:plain

CKPT

チェックポイントプロセス(CKPT)は、特定の時間にデータベースライタープロセス(DBWn)にメッセージを送信してチェックポイント要求を開始し、ダーティバッファーの書き込みを開始するバックグラウンドプロセス。
個々のチェックポイント要求が完了すると、CKPTはデータファイルヘッダーと制御ファイルを更新して、最新のチェックポイントを記録する。

CKPTは、3秒ごとにメモリー量がPGA_AGGREGATE_LIMIT初期化パラメーターの値を超えているかどうかを確認し、超えている場合はアクションを実行する。

CKPTは、スレッドまたはオペレーティングシステムプロセスとして実行できる。
データベースインスタンスに加えて、CKPTはOracle自動ストレージ管理(ASM)インスタンスでも実行される。

Oracle データベース アーキテクチャ(Database Writer Process (DBWn))

f:id:undercovergeek:20200725092650p:plain

DBWn

データベースライタープロセス(DBWn)は、主にデータブロックをディスクに書き込むバックグラウンドプロセス。
また、チェックポイント、ファイルオープン同期、ブロック書き込みレコードのロギングも処理する。
フラッシュキャッシュが構成されている場合、DBWnはデータベーススマートフラッシュキャッシュ(フラッシュキャッシュ)にも書き込む。

多くの場合、DBWnが書き込むブロックはディスク全体に散在している。
したがって、書き込みは、ログライタープロセス(LGWR)によって実行される順次書き込みよりも遅くなる傾向がある。
DBWnは、効率を向上させるために、可能な場合はマルチブロック書き込みを実行する。
マルチブロック書き込みで書き込まれるブロックの数は、オペレーティングシステムによって異なる。

DB_WRITER_PROCESSES初期化パラメーターは、データベース書き込みプロセスの数を指定する。
1〜100個のデータベースライタープロセスが存在できる。
最初の36個のデータベースライタープロセスの名前は、DBW0-DBW9およびDBWa-DBWz。
37〜100番目のデータベースライタープロセスの名前はBW36〜BW99。
データベースは、DB_WRITER_PROCESSESパラメータに適切なデフォルト設定を選択するか、CPUとプロセッサグループの数に基づいてユーザー指定の設定を調整する。

Oracle データベース アーキテクチャ(System Monitor Process (SMON))

f:id:undercovergeek:20200724095618p:plain

SMON

システムモニタープロセス(SMON)は、以下を含む多くのデータベース保守タスクを実行するバックグラウンドプロセス。

 ・一時テーブルスペースのメタデータを作成および管理し、孤立した一時セグメントが使用していたスペースを再利用する。
 ・UNDO領域の使用統計に基づいてUNDOセグメントをオンライン化、オフライン化、および縮小することにより、UNDO表領域を維持する。
 ・一時的で一貫性のない状態のデータディクショナリをクリーンアップする
 ・Oracle Flashback機能のサポートに使用されるシステム変更番号(SCN)から時間へのマッピングテーブルを維持する。

SMONは、バックグラウンドアクティビティ中に発生した内部エラーと外部エラーに耐性がある。
SMONは、スレッドまたはオペレーティングシステムプロセスとして実行できる。
Oracle Real Application Clusters(RAC)データベースでは、1つのインスタンスのSMONプロセスが、障害が発生した他のインスタンスのインスタンスリカバリを実行できる。

Oracle データベース アーキテクチャ(Listener Registration Process (LREG))

f:id:undercovergeek:20200723164855p:plain

LREG

リスナー登録プロセス(LREG)は、インスタンス、サービス、ハンドラー、およびエンドポイントについてリスナーに通知するバックグラウンドプロセス。

LREGは、スレッドまたはオペレーティングシステムプロセスとして実行できる。
データベースインスタンスに加えて、LREGはOracle自動ストレージ管理(ASM)インスタンスおよびOracle Real Application Clusters(RAC)でも実行される。

Oracle データベース アーキテクチャ(Process Manager Process(PMAN))

f:id:undercovergeek:20200722191908p:plain

PMAN

プロセスマネージャープロセス(PMAN)は、必要に応じて以下を監視、生成、停止するバックグラウンドプロセス。

 ・ディスパッチャーと共有サーバープロセス
 ・データベース常駐接続プールの接続ブローカーとプールされたサーバープロセス
 ・ジョブキュープロセス
 ・再起動可能なバックグラウンドプロセス

PMANは、スレッドとしてではなく、オペレーティングシステムプロセスとして実行される。
データベースインスタンスに加えて、PMANはOracle自動ストレージ管理(ASM)インスタンスおよびOracle ASMプロキシインスタンスでも実行される。

スポンサーリンク