Oracleアーキテクチャ図



Oracle Architecture Diagram



1.いくつかの重要なOracle用語
Oracleのアーキテクチャを学ぶには、最初にいくつかの重要な用語を理解する必要があります。Oracleサーバー、Oracleインスタンス、Oracleデータベースです。
Oracleサーバー :OracleインスタンスとOracleデータベースで構成されるOracleサーバー。
Oracleインスタンス :Oracleインスタンス。これは、一連のバックグラウンドプロセスであり、Oracle起動の最初の段階でパラメータファイルに従って生成された共有メモリSGAです。
Oracleデータベース :Oracleデータベースは、Oracleのすべての物理ファイルで構成されています。最も重要なものは、制御ファイル、データファイル、REDOログファイルなどです。
OracleインスタンスはOracleデータベースと対話します。 Oracleインスタンスは、データベースに対してさまざまな操作を実行して、外部データベースのストレージおよび検索サービスを提供します。

2.Oracleの全体的な構造
Oracleサーバーは、OracleインスタンスとOracleデータベースで構成されています。 Oracleインスタンスはバックグラウンドプロセスと共有メモリで構成されているため、Oracleの構造には次のものが含まれます。 メモリ構造プロセス構造 また、Oracleデータベースは物理ファイルで構成されているため、Oracle構造には次のものも含まれます。 ストレージ構造




以下は、Oracleのメモリ構造、Oracleのプロセス構造、Oracleのストレージ構造の概要です。Oracleの予備的な概念を見てみましょう。
3.Oracleのメモリ構造
一般に、OracleのメモリはPGAとSGAの2つの部分で構成されており、その構造を次の図に示します。




サーバープロセスであるかバックグラウンドプロセスであるかに関係なく、それらには独自のプロセスプライベートメモリスペースがあります。つまり、PGAとSGAは、すべてのバックグラウンドプロセス間の共有アクセスに使用されます。
サーバープロセスに割り当てられたPGAは、その機能に応じていくつかの特定の部分に分けられます。フォローアップブログについて詳しく説明します。
上記のように、SGAはOracle10gで6つの部分に分割されています。機能の概要は次のとおりです。
1) 共有プール (共有プール):
主な役割は、SQL文およびPL / SQL文の実行効率の向上、実行されたSQL文のキャッシュ、実行計画PL / SQL文のコード・ブロック、実行コードなど(この部分はライブラリ・キャッシュと呼ばれます)、およびSQLのコンパイルです。 、PL / SQL文はデータ辞書情報の参照です(この部分は辞書キャッシュまたは行キャッシュと呼ばれます)。これは、SGAで最も重要な部分の1つです。
二) データベースバッファキャッシュ (データベースバッファ):
主な機能は、読み取られたデータブロックをキャッシュすることです。 Oracleデータベース内のデータに対するすべての変更操作は、バッファキャッシュで実行されます。すべての操作は、最初に物理ファイルのデータブロックをバッファキャッシュに読み込む必要があるため、次にさまざまな操作を実行できます。バッファキャッシュは、SGAで最大のメモリ領域であり、SGAで最も重要な部分の1つです。
3) ログバッファをやり直す (ログバッファのやり直し):
生成されたREDOログレコードをキャッシュします。ログ書き込みバックグラウンドプロセスは、ログバッファ内のレコードをディスクに書き込みます。また、SGAの最も重要な部分の1つです。
4)大きなプール:
オプションのメモリプール。その主な役割は、共有プールのプレッシャーを共有することです。バックアップやリカバリなど、ラージプールが割り当てられていない場合は、共有プールからメモリが割り当てられるため、共有プールの負担が大きくなります。
5)Javaプール(Javaプール):
Javaプログラムに使用されます。
6)ストリームプール:
ストリーム作業でデータベースが使用するメモリの領域。
4.Oracleのプロセス構造
Oracleプロセスには、主にバックグラウンドプロセスとサーバープロセスが含まれます(実際、Linuxの厳密な意味では、サーバープロセスもバックグラウンドプロセスです)。バックグラウンドプロセスは主にさまざまなOracleデータベースプロセスを維持および操作しますが、サーバープロセスは主にユーザー要求を処理します。


ユーザー・プロセスがリスナーを介してOracle instacneにアクセスすると、サーバー・プロセス・プロセスがトリガーされて、ユーザー・プロセスの要求プロセスが処理されます。バックグラウンドプロセスには通常、LGWR、DBWn、ARCn、CKPT、SMON、PMONなどが含まれます。
1) DBWn (データベースライターデータベース書き込み):
主な機能は、特定の条件に従って、変更されたバッファキャッシュを物理ディスクに書き込むことです。
二) LGWR (ログライター):
主な機能は、特定の条件に従って、ログバッファ内のREDOログレコードをオンラインREDOログファイルに書き込むことです。
3) CKPT (チェックポイント、チェックポイントプロセス):
主な機能は、チェックポイントの位置を制御ファイルとデータファイルの先頭に書き込むことです。
4) スモン (システムモニター、システム監視プロセス):
主な機能は、データベースが最後に起動されたときにインスタンスが正常にシャットダウンされたかどうかを判断することです。インスタンスが異常に閉じられた場合は、プロセスインスタンスが復元されます。さらに、接続されたスペースをマージすることもできます。
5) PMON (プロセス監視、プロセス監視):
サーバープロセスを監視します。サーバープロセスが異常にシャットダウンした場合、PMONはそれが占有するさまざまなリソースをクリーンアップする責任があります。
5.Oracleストレージ構造
ストレージ構造は、物理ファイルの構造です。 Oracleに関連する物理ファイルは次のとおりです。




図2:


制御ファイル、データファイル、およびREDOログファイルは必須のキーファイルです。
1) 制御ファイル (制御ファイル):
さまざまなファイルの保存場所、現在のデータベースの動作ステータスなど、データベースの物理構造に関する情報が含まれています。非常に重要なことですが、データベースが失われると、データベースインスタンスを起動できなくなります。
二) データファイル (データファイル):
データを保存するファイル。
3) オンラインREDOログファイル (オンラインREDOログファイル):
REDOログを保存するファイル。データベースリカバリのためにデータベースの整合性を維持します。