GAGA LIFE.

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

スポンサーリンク

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プロキシインスタンスでも実行される。

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

f:id:undercovergeek:20200721205710p:plain

PMON

プロセスモニタープロセス(PMON)は、すべてのプロセスを定期的にスキャンして、異常終了したプロセスを見つけるバックグラウンドプロセス。
その後、PMONは、クリーンアップメインプロセス(CLMN)とクリーンアップスレーブプロセススレーブ(CLnn)によって実行されるクリーンアップを調整する。

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

Oracle データベース アーキテクチャ(バックアップファイル)

f:id:undercovergeek:20200720193434p:plain

バックアップファイル

データベースのバックアップは、物理的または論理的のいずれかとなる。

 ・物理バックアップは、物理データベースファイルのコピー。 物理バックアップは、Recovery Manager(RMAN)またはオペレーティングシステムユーティリティを使用して作成できる。
 ・論理バックアップには、テーブル、ストアドプロシージャ、およびその他の論理データが含まれる。  
    Data Pump ExportなどのOracleデータベースユーティリティを使用して論理データを抽出し、バイナリファイルに保存できる。  
    また、論理バックアップは物理バックアップを補足できる。

イメージコピーとバックアップセット

RMANによって作成されたデータベースバックアップは、イメージコピーまたはバックアップセットとして保存される。

 ・イメージコピーは、データファイル、制御ファイル、またはアーカイブREDOログファイルのビット単位のディスク上の複製。  
    オペレーティングシステムユーティリティまたはRMANを使用して物理ファイルのイメージコピーを作成し、いずれかのツールを使用してそれらを復元できる。  
    イメージコピーは、増分更新して所定の場所にリカバリできるため、ディスクに役立つ。
 ・バックアップセットは、1つ以上のデータファイル、アーカイブREDOログファイル、制御ファイル、またはサーバーパラメータファイルからのデータを含む、RMANによって作成された独自の形式となる。  
    バックアップセットの最小単位は、バックアップピースと呼ばれるバイナリファイル。  
    バックアップセットは、RMANがバックアップをテープドライブなどのシーケンシャルデバイスに書き込むことができる唯一の形式。  
    バックアップセットの利点の1つは、Recovery Managerが未使用のブロック圧縮を使用して、データファイルのバックアップ領域を節約できることにある。  
    データの保存に使用されたデータファイル内のブロックのみがバックアップセットに含まれる。  
    バックアップセットは、圧縮、暗号化、テープへの送信、およびデータファイルのコピーでは使用できない高度な未使用領域圧縮を使用することもできる。

RMANは、メディア管理ライブラリ(MML)またはテープへのシステムバックアップ(SBT)ソフトウェアと連携して、テープ、Oracleデータベースバックアップクラウドサービス、またはZero Data Loss Recovery Appliance(一般にRecovery Applianceと呼ばれる)へのバックアップを作成できる。

Oracle データベース アーキテクチャ(自動診断リポジトリ (ADR))

f:id:undercovergeek:20200718130456p:plain

Automatic Diagnostic Repository (ADR)

自動診断リポジトリ(ADR)は、データベース診断データ用のシステム全体のトレースおよびロギングの中央リポジトリ。
次のアイテムが含まれる。

バックグラウンドトレースファイル
各データベースバックグラウンドプロセスは、関連するトレースファイルに書き込むことができる。
プロセスが内部エラーを検出すると、プロセスはエラーに関する情報をトレースファイルにダンプする。   トレースファイルに書き込まれる情報の一部はデータベース管理者向けであり、その他の情報はOracleサポートサービス向け。
通常、データベースのバックグラウンドプロセストレースファイル名には、Oracleシステム識別子(SID)、バックグラウンドプロセス名、およびオペレーティングシステムプロセス番号が含まれる。
RECOプロセスのトレースファイルの一例としては、mytest_reco_10355.trcのようなファイル名。

フォアグラウンドトレースファイル
各サーバープロセスは、関連するトレースファイルに書き込むことができる。
プロセスが内部エラーを検出すると、プロセスはエラーに関する情報をトレースファイルにダンプする。
サーバープロセスのトレースファイル名には、Oracle SID、文字列ora、およびオペレーティングシステムのプロセス番号が含まれる。
サーバープロセストレースファイル名の例は、mytest_ora_10304.trc。

ダンプファイル
診断ダンプファイルは、状態または構造に関する詳細なポイントインタイム情報を含む特別な種類のトレースファイル。
ダンプファイルは通常、イベントに応答した診断データの1回限りの出力だが、トレースファイルは診断データの継続的な出力になる傾向がある。

ヘルス・モニター・レポート
Oracle Databaseには、データベースで診断チェックを実行するためのヘルス・モニターと呼ばれるフレームワークが含まれている。
ヘルスチェックは、ファイルの破損、物理的および論理的なブロックの破損、元に戻すとやり直しの破損、データディクショナリの破損などを検出する。
ヘルスチェックは、その結果のレポートを生成し、多くの場合、問題を解決するための推奨事項を生成する。

インシデントパッケージ: 診断データをOracleサポートにアップロードするためのカスタマイズされたアプローチでは、まずインシデントパッケージ(パッケージ)と呼ばれる中間の論理構造にデータを収集する。
パッケージは、ADRに格納されるメタデータのコレクションであり、ADR内外の診断データファイルとその他のファイルを指す。
パッケージを作成するとき、パッケージに追加する1つ以上の問題を選択する。
次に、サポートワークベンチは、選択した問題に関連する問題情報、インシデント情報、および診断データ(トレースファイルやダンプなど)をパッケージに自動的に追加する。

インシデントダンプ
インシデントが発生すると、データベースは1つ以上のダンプをインシデント用に作成されたインシデントディレクトリに書き込む。
インシデントダンプでは、ファイル名にインシデント番号も含まれる。

アラートログファイル: データベースのアラートログは、メッセージとエラーの時系列ログ。
アラートログを定期的に確認することが推奨される。

Oracle データベース アーキテクチャ(アプリケーションコンテナ)

f:id:undercovergeek:20200717192927p:plain

アプリケーションコンテナ

アプリケーションコンテナは、ユーザーが作成したオプションのCDBコンポーネントであり、アプリケーションPDBのデータとメタデータを格納する。
CDBには0個以上のアプリケーションコンテナを含めることができる。
アプリケーションコンテナーは、1つのアプリケーションルートと、CDBルートにプラグインする1つ以上のアプリケーションPDBで構成される。
アプリケーションルートはCDBルートに属し、他のコンテナには属していない。 共通のメタデータとデータを格納する。

典型的なアプリケーションは、アプリケーション共通ユーザー、メタデータにリンクされた共通オブジェクト、およびデータにリンクされた共通オブジェクトをインストールする。
1つのアプリケーションコンテナー内に複数のSales関連のPDBを作成し、これらのPDBが一連の共通テーブルとテーブル定義で構成されるアプリケーションバックエンドを共有する場合がある。

アプリケーションルート、アプリケーションシード、およびアプリケーションPDBには、それぞれSYSTEM、SYSAUX、TEMP、USERS、およびオプションのUNDOテーブルスペースがある。
各テーブルスペースは、1つ以上のデータファイルを表す。

スポンサーリンク