迷子系ITブログ

方向音痴の体現者によるIT系のブログ。ホワイト企業、探してます。流されるままIT業界の闇に足を突っ込んで迷子になりました。

【学習】#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などによって行われた変更操作を再実行するための情報が書き込まれる領域です。

 

共有プール

解析済みのSQLPL/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(プロセスモニター)

ユ-ザープロセス異常終了時にデータベースバッファキャッシュをクリーンアップします。

定期的にサーバープロセスのチェックを行います。

ユーザープロセスで使用していたサーバープロセスのリソース解放を行います。

停止したサーバープロセスがあれば再起動を行います。

 

RECO(リカバラ

分散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 SQL Developer

 - 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

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);

 

HTTPSポートを確認するには次のSQL文を実行します。

 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 製品

 - Oracle Application Server

 - Oracle WebLogic Server

 - その他 Oracle アプリケーション*4

 

EM ExpressとEMCCの違い

管理ツールのうち、最重要となるポイントといっても過言ではありません。

両ツールを比較するとEM ExpressはEMCCの制限モードに相当します。

 

詳細については以下の表を参照してください。

 

操作 EMCC EM Express
データベースの起動・停止 ×
インスタンスの起動・停止 ×
スキーマ管理 ×
ジョブの管理・実行 ×
バックアップ・リカバリ ×
データベースリソースマネージャ ×
パッチ推奨 ×
複数データベースの統合管理 ×
ADDM
リアルタイムADDM
アクティブセッション履歴
アクティブセッション履歴分析
SQLチューニングアドバイザ
SQLアクセスアドバイザ ×
SQLチューニングセット ×
自動SQLチューニング
リアルタイムSQL監視
リアルタイムDB操作監

 

 

学習チェック

・SGAの各主要コンポーネントの役割

・各バックグラウンドプロセスの役割

・チェックポイントで行われる処理

インスタンスリカバリの仕組み

・主要管理ツール4つそれぞれで操作可能なこと

・EM ExpressとEMCCでできることの違い

 

  

免責事項等

本記事で解説している内容は機能を網羅するものではありません。

本記事はオラクル認定資格試験の合格を保証するものではありません。

本記事の内容に基づく運用等に関して管理人は一切の責任を負いません。

OracleJavaOracle Corporation及びその子会社、関連会社の米国およびその他の国における登録商標です。

本記事の社名、商品名等は各社の商標または登録商品である場合があります。

本記事に記載された内容は予告なく変更される場合があります。

本記事に記載されている会社名、製品名はそれぞれ各社の商標および登録商標です。

本記事では™、🄬、©等の表記は割愛させて頂いております。

 

*1:System Change Number

*2:Graphical User Interface

*3:ターゲット固有のプラグインを持つもの

*4:Oracle E-Business, Oracle SOA Suite, Siebel