【学習】#1 アーキテクチャの確認 / 確認ツール [Oracle database Silver 12c (1Z0-062)]
Oracle database Silver 12c (1Z0-062)のに関する学習用の連載記事です。
短文を意識して簡易的にまとめているので参考程度にお読みください。
関連リンク
【学習】#0 前書き [Oracle database Silver 12c (1Z0-062)]
目次
確認事項
本記事は以下についてまとめています。
- メモリー構造
- 各バックグラウンドプロセスの役割
- サーバープロセスの役割
- 管理ツール
理解している項目は飛ばして頂いて構いません。
効率よく進めていきましょう。
メモリー構造
インスタンスはSGAとバックグラウンドプロセスから構成されます。
SGA(システムグローバル領域)
SGAにはインスタンス用データおよび制御情報が含まれます。
SGA内の主要コンポーネントは以下の通りです。
初期化パラメータ | |
REDOログバッファ | LOG_BUFFER |
共有プール | SHARED_POOL_SIZE |
ラージプール | LARGE_POOL_SIZE |
データベースバッファキャッシュ | DB_CACHE_SIZE |
Javaプール | JAVA_POOL_SIZE |
streamsプール | STREAMS_POOL_SIZE |
REDOログバッファ
DMLなどによって行われた変更操作を再実行するための情報が書き込まれる領域です。
共有プール
解析済みのSQLやPL/SQLプログラムを保持するための領域です。
ラージプール
RMANコマンドによるバックアップやリストア操作のための領域です。
共有サーバー用のセッションメモリーとしても使用されます。
データベースバッファキャッシュ
データファイルから読み取られたデータブロックを保持するための領域です。
データベースバッファキャッシュのコンポーネントは以下の通りです。
初期化パラメータ | 説明 |
DB_CACHE_SIZE | デフォルトとして扱われる標準のブロックサイズ |
DB_nK_CACHE_SIZE | 標準ブロックサイズ以外の値を指定できる(2,4,8,...,32) |
DB_KEEP_CACHE_SIZE | 使用頻度の高いオブジェクト(表、索引)に対して有用 |
DB_RECYCLE_CACHE_SIZE | 使用頻度の低いオブジェクト(表、索引)に対して有用 |
※データベースバッファキャッシュにおいて、自動メモリ管理および自動共有メモリ管理はDB_CACHE_SIZEにのみ適用されます。
Javaプール
JVMに含まれるセッション固有のJavaコードやセッションを格納します。
Streamsプール
Oracle Golden GateやOracle Data Pumpのメッセージを格納します。
各バックグラウンドプロセスの役割
主要なバッググラウンドプロセスは以下の通りです。
※プロセス名末尾のnは複数起動可能なプロセスであることを表します。
プロセス名 |
説明 |
DBWn | データファイルに書き込む |
SMON | インスタンス回復、一時セグメントのクリーンアップなどを行う |
ARCn | REDOログファイルのコピーを作成する |
CKPT | チェックポイントイベントを処理する |
LGWR | REDOログファイルに書き込む |
LREG | リスナーに通知する |
MMON | メモリ情報をAWRに書き込む |
PMON | 異常ユーザープロセスのクリーンアップを行う |
RECO | 分散データベース構成で使用される |
Dnnn | 共有サーバー接続におけるクライアント要求を処理する |
Snnn | 共有サーバー接続におけるセッションの要求を処理する |
DBWn(データベースライター)
データベースバッファキャッシュ内の使用済みバッファをデータファイルに書き込みます。
書き込むタイミングは以下の通りです。
- 再利用可能バッファが見つからないとき
- タイムアウトしたとき
- チェックポイントが発生したとき
CKPT(チェックポイント)
チェックポイントイベント発生時にDBWnプロセスに対してシグナルを送信します。
※CKPT自体が書き込みを行うことはありません。
LGWR(ログライター)
REDOログバッファの内容をREDOログファイルに書き込みます。
書き込むタイミングは以下の通りです。
- COMMITコマンドが実行されたとき
- タイムアウトしたとき
- REDOログバッファが圧迫されたとき(1/3以下)
- DBWnが書き込むとき
LREG(リスナー登録)
インスタンスおよびディスパッチャプロセスに関する情報をリスナーに登録します。
※リスナー:Oracle Net Listener
MMON(マネージャビリティモニター)
AWR(Automatic Workload Repository)のスナップショットを取得します。
ADDM(Automatic Database Diagnostic Monitor)分析を実行します。
PMON(プロセスモニター)
ユ-ザープロセス異常終了時にデータベースバッファキャッシュをクリーンアップします。
定期的にサーバープロセスのチェックを行います。
ユーザープロセスで使用していたサーバープロセスのリソース解放を行います。
停止したサーバープロセスがあれば再起動を行います。
分散DB構成において分散トランザクションに関する障害を自動的に解決します。
Dnnn(ディスパッチャ)
共有サーバー接続においてクライアントの接続を確立します。
Snnn(共有サーバープロセス)
共有サーバ―接続においてSQLの実行処理を行います。
サーバープロセスの役割
サーバープロセスは2種類あります。
- 専用サーバープロセス
- 共有サーバープロセス
専用サーバープロセス
ユーザープロセスとサーバープロセスが1対1であるとき、サーバープロセスのことを特に専用サーバープロセスと呼びます。
共有サーバープロセス
共有サーバー構成においてはユーザープロセスとサーバープロセスが多:多となり、サーバープロセスのことを共有サーバープロセスと呼びます。
共有サーバープロセスはディスパッチャによって接続が確立され、共有サーバープロセスとして振り分けられます。
※共有サーバー構成については "#3 ネットワークの設定" で解説します。
チェックポイントとインスタンスリカバリ
チェックポイント について、本章で以下3点を確認します。
- チェックポイントの発生タイミング
- チェックポイントで行われる処理
チェックポイントの発生タイミング
チェックポイントは以下のタイミングで発生します。
- DB管理者によって"ALTER SYSTEM CHECKPOINT" コマンドが実行されたとき
- 表領域をオフラインにしたとき(即時オフラインを除く)
- データベースを停止したとき(強制停止を除く)
チェックポイントで行われる処理
チェックポイントによって以下の処理が発生します。
- DBWnによるデータファイルへの使用済みバッファの書き出し
- CKPTによる制御ファイル内のチェックポイント番号の更新
- CKPTによるデータファイルヘッダー内のチェックポイント番号の更新
※データファイルへの書き出しは必ずDBWnが行います。
- 最後にCOMMITしたときのSCN*1までリカバリされる
- REDOログファイルを利用した"ロールフォワード"が行われる
- ロールフォワード中に発生したUNDOデータによる"ロールバック"が行われる
管理ツール
管理ツールは以下4つです。
- SQL*Plus
- Oracle Enterprise Manager Database Express
- Oracle Enterprise Manager Cloud Control
特に12cではEMCCの機能を覚えておくと有効です。
SQL*Plus
SQL*Plusは対話型の管理ツールです。
主な機能は以下の通りです。
- SQLコマンド(PL/SQL含む)およびSQL*Plusコマンドの編集、保存、実行
- SQLコマンド(PL/SQL含む)の実行結果、書式指定、計算処理、保存
- 表の列定義確認(DESCコマンド)
- データベース情報の確認
- データベースの起動・停止
- データベースのリカバリ
Oracle SQL DeveloperはGUI*2の管理ツールです。
主な機能は以下の通りです。
- データベースの起動・停止
- データベース構成
(初期化パラメータ、自動UNDO管理、リストアポイント 等)
- データベースステータスの表示
- データポンプエクスポートおよびインポートジョブ
- RMANのバックアップ・リカバリアクション
- リソースマネージャの構成
- スケジューラの設定
- 監査設定、プロファイル、ロール、ユーザ等のセキュリティ構成
- ARCHIVEログ、制御ファイル、データファイル、REDOロググループ、表領域および一時表領域グループの格納先の構成
Oracle Enterprise Manager Database Express(EM Express)
EM Database ExpressはXML DBで使用可能な組み込みWebサーバーと通信します。
EM Database ExpressはHTTPSポートを使用します。
HTTPSポートの設定するプロシージャの例は以下の通りです。
DBMS_XDB_CONFIG.setHTTPSsPort (5500);
SELECT DBMS_XDB_CONFIG.getHTTPsPort FROM DUAL;
Oracle Enterprise Manager Cloud Control (EMCC)
EMCCのは以下の3つの主要コンポーネントで構成されます 。
- Oracle Management Agent(OMA)*3
- Oracle Management Service(OMS)
- Oracle Management Repository(OMR)
OMA
対象サーバのメトリックデータを収集し、監視・管理を行います。
OMS
中間アプリケーションサーバ。EMCCのコンソールとしてWebページを戻します。
OMS
収集されたデータを保持するデータベースです。
EMCCで管理できる対象
EMCCでは以下に示す対象を管理できます。
- Oracle Database
- Oracle Database Listener
- Oracle Exadata
- Oracle Exalogic Elastic Cloud
- Oracle Fusion Middleware 製品
EM ExpressとEMCCの違い
管理ツールのうち、最重要となるポイントといっても過言ではありません。
両ツールを比較するとEM ExpressはEMCCの制限モードに相当します。
詳細については以下の表を参照してください。
操作 | EMCC | EM Express |
データベースの起動・停止 | 〇 | × |
インスタンスの起動・停止 | 〇 | × |
スキーマ管理 | 〇 | × |
ジョブの管理・実行 | 〇 | × |
バックアップ・リカバリ | 〇 | × |
データベースリソースマネージャ | 〇 | × |
パッチ推奨 | 〇 | × |
複数データベースの統合管理 | 〇 | × |
ADDM | 〇 | 〇 |
リアルタイムADDM | 〇 | 〇 |
アクティブセッション履歴 | 〇 | 〇 |
アクティブセッション履歴分析 | 〇 | 〇 |
SQLチューニングアドバイザ | 〇 | 〇 |
SQLアクセスアドバイザ | 〇 | × |
SQLチューニングセット | 〇 | × |
自動SQLチューニング | 〇 | 〇 |
リアルタイムSQL監視 | 〇 | 〇 |
リアルタイムDB操作監視 | 〇 | 〇 |
学習チェック
・SGAの各主要コンポーネントの役割
・各バックグラウンドプロセスの役割
・チェックポイントで行われる処理
・主要管理ツール4つそれぞれで操作可能なこと
・EM ExpressとEMCCでできることの違い
免責事項等
本記事で解説している内容は機能を網羅するものではありません。
本記事はオラクル認定資格試験の合格を保証するものではありません。
本記事の内容に基づく運用等に関して管理人は一切の責任を負いません。
OracleとJavaはOracle Corporation及びその子会社、関連会社の米国およびその他の国における登録商標です。
本記事の社名、商品名等は各社の商標または登録商品である場合があります。
本記事に記載された内容は予告なく変更される場合があります。
本記事に記載されている会社名、製品名はそれぞれ各社の商標および登録商標です。
本記事では™、🄬、©等の表記は割愛させて頂いております。