GAGA LIFE.

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

スポンサーリンク

Oracle データベース アーキテクチャ(Space Management Coordinator Process (SMCO))

f:id:undercovergeek:20200806213218p:plain

SMCO

スペース管理コーディネータープロセス(SMCO)は、事前のスペース割り当てやスペースの再利用など、さまざまなスペース管理タスクの実行をスケジュールするバックグラウンドプロセス。
SMCOは動的にスペース管理スレーブプロセス(Wnnn)を生成して、これらのタスクを実装する。
インメモリコーディネータープロセス(IMCO)は、バックグラウンドの作成と列データの再作成を開始するバックグラウンドプロセスであることに注意。

Wnnnスレーブプロセスは、スペース管理に代わって、およびOracle In-Memoryオプションに代わって作業を実行する。

・Wnnnプロセスは、バックグラウンドでスペース管理タスクを実行するためにSMCOによって動的に生成されるスレーブプロセス。  
これらのタスクには、スペース使用量の増加分析に基づいてローカルに管理されたテーブルスペースとSecureFilesセグメントにスペースを事前に割り当てること、およびドロップされたセグメントからスペースを再利用することが含まれる。  
タスクには、高速取り込みの据え置き挿入も含まれる。  
起動後、スレーブは自律エージェントとして機能する。  
タスクの実行が完了すると、自動的にキューから別のタスクを取得する。  
長時間アイドル状態になった後、プロセスは終了する。

 ・Wnnnプロセスは、メモリ内の有効なオブジェクトにデータを入力および再入力する。  
 インメモリコーディネータープロセス(IMCO)は、バックグラウンド入力と列データの再入力を開始する。  
 IMCOバックグラウンドプロセスとフォアグラウンドプロセスは、人口と再人口にWnnnスレーブを利用する。  
 IMCOはWnnnプロセスを使用して、優先度がLOW/MEDIUM/HIGH/CRITICALのメモリ内オブジェクトの事前入力、およびメモリ内オブジェクトの再入力を行う。  
 Wnnnスレーブで実行されているメモリ内のデータの追加と再作成のタスクも、メモリ内の有効なオブジェクトを参照するクエリとDMLに応答して、フォアグラウンドプロセスから開始される。  

SMCOとWnnnはどちらも、スレッドまたはオペレーティングシステムプロセスとして実行できる。

Oracle データベース アーキテクチャ(Flashback Data Archiver Process (FBDA))

f:id:undercovergeek:20200805195607p:plain

FBDA

フラッシュバックデータアーカイバープロセス(FBDA)は、テーブルの存続期間中のトランザクションの変更を追跡および保存する機能を提供するバックグラウンドプロセス。
このようにして、テーブルをフラッシュバックして元の状態に戻すことができる。

追跡対象のテーブルを変更するトランザクションがコミットすると、FBDAは生成された新しい取り消しをチェックし、アーカイブ対象としてマークされたオブジェクトに関連するものをフィルタリングし、取り消した情報をフラッシュバックデータアーカイブテーブルスペースにコピーする。
FBDAは現在の行のメタデータを維持し、アーカイブされたデータの量を追跡する。

FBDAは、スペース、編成(パーティション化テーブルスペース)、および保持のためのフラッシュバックデータアーカイブの自動管理も担当する。
また、FBDAは、追跡されたトランザクションのアーカイブがどこまで進行したかを追跡する。

FBDAは、スレッドまたはオペレーティングシステムプロセスとして実行できる。

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

f:id:undercovergeek:20200804200831p:plain

RVWR

リカバリライタープロセス(RVWR)は、データベース全体またはプラガブルデータベースをフラッシュバックするために使用されるバックグラウンドプロセス。
つまり、必要なフラッシュバックログがあれば、データベースの現在の状態から過去の時間までのトランザクションを取り消す。
フラッシュバックが有効な場合、または復元ポイントが保証されている場合、RVWRはフラッシュバックデータを高速リカバリ領域のフラッシュバックデータベースログに書き込む。

RVWRは、スレッドまたはオペレーティングシステムプロセスとして実行できる。

Oracle データベース アーキテクチャ(Job Queue Coordinator Process (CJQ0))

f:id:undercovergeek:20200803203845p:plain

CJQ0

ジョブキューコーディネータープロセス(CJQ0)は、データディクショナリから実行する必要があるジョブを選択し、ジョブキュースレーブプロセス(Jnnn)を起動してジョブを実行するバックグラウンドプロセス。
CJQ0は、Oracle Schedulerによって必要に応じて自動的に起動および停止される。
JOB_QUEUE_PROCESSES初期化パラメーターは、ジョブの実行用に作成できるプロセスの最大数を指定する。
CJQ0は、実行するジョブの数と使用可能なリソースに必要な数のジョブキュープロセスのみを開始する。

ジョブキュースレーブプロセス(Jnnn)は、ジョブコーディネーターによって割り当てられたジョブを実行する。
処理するジョブが選択されると、ジョブスレーブは次のことを行う。

 ・プログラムの引数や特権情報など、ジョブの実行に必要なすべてのメタデータを収集する
 ・ジョブの所有者としてデータベースセッションを開始し、トランザクションを開始してから、ジョブの実行を開始する
 ・ジョブが完了すると、スレーブはトランザクションをコミットして終了する
 ・セッションを閉じる

ジョブが完了すると、スレーブは次のことを行う。

 ・必要に応じてジョブを再スケジュールする
 ・ジョブテーブルの状態を更新して、ジョブが完了したか、再度実行するようにスケジュールされているかを反映する
 ・ジョブログテーブルにエントリを挿入する
 ・実行カウントを更新し、必要に応じて、失敗と再試行のカウントを更新する
 ・クリーンナップ
 ・新しい仕事を探る(ない場合は、スリープ状態になる)

CJQ0とJnnnはどちらも、スレッドまたはオペレーティングシステムプロセスとして実行できる。

Oracle データベース アーキテクチャ(Archiver Process (ARCn))

f:id:undercovergeek:20200802172209p:plain

ARCn

アーカイバプロセス(ARCn)は、データベースがARCHIVELOGモードであり、自動アーカイブが有効な場合にのみ存在するバックグラウンドプロセス。
この場合、ARCnはオンラインREDOログファイルを自動的にアーカイブする。
ログライタープロセス(LGWR)は、アーカイブされるまでオンラインREDOロググループを再利用および上書きできない。

一杯になったオンラインREDOログのアーカイブが遅れないようにするために、データベースは必要に応じて複数のアーカイバプロセスを開始する。
可能なプロセスには、ARC0〜ARC9およびARCa〜ARCt(31の可能な宛先)が含まれる。

LOG_ARCHIVE_MAX_PROCESSES初期化パラメータは、データベースが最初に呼び出すARCnプロセスの数を指定する。
データの一括読み込み中など、アーカイブの負荷が大きいことが予想される場合は、アーカイバープロセスの最大数を増やすことができる。
複数のアーカイブログの宛先が存在する場合もある。
宛先ごとに少なくとも1つのアーカイバープロセスがあることが推奨される。

ARCnは、スレッドまたはオペレーティングシステムプロセスとして実行できる。

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

f:id:undercovergeek:20200730201358p:plain

LGWR

ログライタープロセス(LGWR)は、REDOログエントリをREDOログファイルに順次書き込むバックグラウンドプロセス。
REDOログエントリは、システムグローバルエリア(SGA)のREDOログバッファに生成される。
データベースに多重化REDOログがある場合、LGWRは同じREDOログ・エントリをREDOログ・ファイル・グループのすべてのメンバーに書き込む。

LGWRは、非常に高速な操作、または調整が必要な操作を処理し、操作をログライターワーカーヘルパープロセス(LGnn)に委託する。
この操作は、主にログバッファーからREDOログファイルにREDOを書き込み、 待機中のフォアグラウンドプロセスへの書き込みが完了させる。

REDO転送スレーブ・プロセス(TT00-zz)は、現在のオンラインおよびスタンバイREDOログから、非同期(ASYNC)REDO転送用に構成されたリモート・スタンバイ宛先にREDOを送信する。

LGWRは、スレッドまたはオペレーティングシステムプロセスとして実行できる。
データベースインスタンスに加えて、LGWRはOracle ASMインスタンスでも実行される。
Oracle Real Application Clusters(RAC)構成の各データベースインスタンスには、独自のREDOログファイルのセットがある。

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

f:id:undercovergeek:20200730091316p:plain

RECO

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

スポンサーリンク