コーソルOracleスペシャリストがチェック!Oracle Database 12c R2新機能

Oracle Database 12c R2には非常に多くの新機能があります。これまでに存在しなかった純粋な意味での新機能もありますし、従来から存在している機能を改善した位置づけの新機能もあります。これらの新機能すべてをチェックすることは非常に大変な作業です。本連載では、Oracle Databaseを日々愛用(≒酷使!)するコーソルのOracleスペシャリストがチェックし、特に有用と思われる12c R2新機能をご紹介します。 是非本連載の記事をご覧いただき、現場で活用できそうな機能がありましたら、ぜひその新機能を使っていただきたいと思います。 本連載が、みなさまのお役にたてば幸いです。

第5回 Enterprise Manager Database Expressの12c R2機能拡張

株式会社コーソル 峯岸 隆一(みねぎし りゅういち) 2006年コーソルに中途入社後、Oracle製品のサポート業務を経て、現在はOSS製品のサポートおよびパフォーマンス監視製品等の検証業務に従事。 データベースとデータベースに関連する製品の意外な使い方をみつけて、世に伝えるべく日々奮闘中。 問題解決するまであきらめない「しつこさ」が武器。

[会社紹介] 株式会社コーソル

Oracleを中心にデータベースの設計、導入・構築、運用管理、保守・サポート、コンサルティング等、「Oracle Database技術」の強みを活かしたビジネスを展開。エンジニア社員の「ORACLE MASTER」の保有率は98%に及び、その内の約40%はORACLE MASTER Platinumを取得している。技術者を数多く育成した企業に贈られる「Oracle Certification Award」を5年連続で受賞。2016年現在、企業別ORACLE MASTER 11g/12c Platinum取得者数ランキングで国内No.1。「CO - Solutions=共に解決する」の理念のもと、「データベース技術」×「サービス」を軸とし、高いDB技術をもとにお客様へ"心あるサービス"を提供し続けることにこだわっている。

Enterprise Manager Database Expressの12c R2機能拡張

Enterprise Manager Database Express(EM Express)はOracle Databaseをインストールすると標準で使用できるデータベース管理コンソールです。10g、11gのリリースではEnterprise Manager Dataase Controlという管理コンソールが提供されていましたが、12cからはマルチテナントに対応し軽量でフットプリントが小さいEM Expressに置き換わっています。

Oracle Database 12g R2で、EM Expressの機能が拡張され、さらに使いやすくなりました。この記事では、EM Expressの12g R2新能を説明します。

1. 複数コンテナの単一ポートアクセス

12c R1では、マルチテナント環境でそれぞれのコンテナ(CDB、PDB)にアクセスするために別々のポートの割り当てが必要でした。 新しく出荷された12c R2からは、EM Expressログイン時にコンテナ名を入力するテキストボックスが増えており、単一のポートで複数のコンテナへのアクセスが可能となっています。

■図 マルチテナント環境のログイン画面

chart-1

この機能追加は単に使用するポートの数が減るだけではなく、ファイアウォールなどで開放するポートの管理が楽になる点がメリットです。たとえば、Oracle Cloudの環境では、EM Express用にデフォルトで登録されているポートは1つだけですが、この機能拡張により、追加で開放するポートを作成する必要がなくなります。

なお、この機能を有効化するためには以下のマニュアルに記載のdbms_xdb_config.SetGlobalPortEnabledプロシージャを実行する必要があります。

Oracle® Database 2日でデータベース管理者 12c リリース2 (12.2) 3.4.3 PDB用EM Expressの起動 PDB用のEM Expressを起動するには、PDBが読取り/書込みモードで開かれていることを確認してから、次の方法の1つを(次に示す順序で)試します。 1. PDBを含んでいるCDBのCDB$ROOTコンテナに接続して、CDBのグローバル・ポートを構成するために次のSQL文を発行します。 exec dbms_xdb_config.setglobalportenabled(TRUE);

2. EM Express ログイン後のメニューリストの変更

EM Expressにログイン後、選択できるメニューが12c R2では一部変更されています。CDBとPDBに対するログインでは表示されるメニューが異なりますので、CDBとPDBで別々に記載します。

図 CDBへログイン後、データベース・ホームから選択できるメニュー

chart-1

図 PDBへログイン後、データベース・ホームから選択できるメニュー

chart-2

赤字で記載している項目が12c R2で追加されたメニュー項目です。青字のパフォーマンス・ハブの画面についても12c R1でも存在していましたが、いくつか機能追加が行われました。また、緑色記載の部分については12c R1まではCDBへログインした場合には選択できましたがPDBに対するログインではメニューに表示されず選択できなかった項目です。

次項よりや追加されたメニューや機能追加が行われたメニューについて、主要な箇所を説明していきます。

3. リソース・マネージャーへの対応(メニュー:リソース管理)

12c R1までは、GUIでリソース・マネージャーの設定を行う場合、Enterprise Manager Cloud Control (以下EMCC)が必要でした。しかしながら、12c R2よりEM Expressで、リソース・マネージャーの設定が行えるようになりました。しかも、マルチテナントにも対応しているため、CDBおよびPDBに対するリソース・プランも設定することができます。設定できる項目はほとんどEMCCと変わりませんが、一部差異がある部分について説明します。

  • -  EMCC(13.2.0.0)のみで設定できる項目
    •   ⇒  ランナウェイ問い合わせの『文によるトラッキング』
    •   ⇒  ランナウェイ問い合わせの『ESTIMATEを使用』

図 EMCC(13.2.0.0)のディレクティブ設定画面

chart-1
  • - EM Expressのみで設定できる項目
    •   ⇒  セッション・ディレクティブの設定の『PDB制限(MB)』

図 EM Expressのコンシューマ・グループ一覧画面

chart-1

図 EM Expressのセッション・ディレクティブ設定画面 chart-1

設定できる項目に若干の違いはありますが、ほぼ同等の機能がEM Expressでも使用できます。 また、設定以外にも、リソース・プランの利用状況をタイムラインで確認し、競合、待機などのリソース効率を監視することが可能です。設定したランナウェイ問合せの違反やキューされたパラレル実行等も確認することが可能です。

図 リソース管理画面

chart-1

※リソース・マネージャーの機能を使うためには、Enterprise Editionが必要です

4. SQL Performance Analyzer(SPA)への対応(メニュー:SQLパフォーマンス・アナライザ)

Real Application Testing(以下、RAT) の機能である、SQL Performance Analyzer(以下、SPA)がEM Expressから実行できます。SPAは初期化パラメータの変更前後などの2点で事前に作成した SQL Tuning Set(以下、STS) を実行し比較を行います。EM ExpressではSTSの作成機能は実装されていないため、EMCC などを使用して作成する必要があります。EM Expressでは作成したSTSを使用してSPAの以下の機能を利用できます。

  • ⇒ SPAクイック・チェック
    •   - 初期化パラメータの変更前後の影響の検証
    •   - SQLプロファイルの実装前後の影響の検証
  • ⇒ 手動実行
    •   - ワークロードが異なる2点間での負荷の検証

なお、本機能を使用するためには、Enterprise Editionのオプション・ライセンスであるReal Application Testingオプション・ライセンスが必要です。SQLプロファイルの実装の検証を使用するためには、Real Application Testingオプションに加え、Oracle Diagnostics PackとOracle Tuning Packライセンスが必要なため、ご注意ください。

当記事では、簡単に検証できるSPAクイック・チェックについて説明します。

-   初期化パラメータの変更前後の影響の検証

この機能はセッション単位で設定できる初期化パラメータ限定の機能ですが、変更による影響を調査することができます。若干設定手順がわかりづらいため、以下に具体的な手順を示します。

1. SQLパフォーマンス・アナライズのホーム画面に移動し、クイック・チェック・デフォルト設定をクリックします。

図 SQLパフォーマンス・アナライザのホーム画面(タスク作成前)

chart-1

2. チューニング・セットを選択します。

図 SPAクイック・チェック・デフォルト設定編集画面(設定前)

chart-1

3. 対象のチューニング・セットを選択し、OKを押します。

図 SQLチューニング・セットの選択画面

chart-1

4. SQLチューニング・セットが選択できたら、残りの項目も埋めて、OKを押します。

図 SPAクイック・チェック・デフォルト設定編集画面(設定後)

chart-1

5. 初期化パラメータの画面を開き、セッション列にチェックが入っている初期化パラメータを選択するとSPAを使用した検証が選択できるようになります。

図 初期化パラメータ一覧表示画面

chart-1

6. 値をデフォルトのfalseからtrue(変更を検討している値)に変え、OKを押します。

図 SPAを使用した初期化パラメータ検証タスク設定画面

chart-1

7. クイック・チェック・タスクの画面に自動的に移動し、実行した結果が参照できるようになります。

図 SQLパフォーマンス・アナライザのホーム画面(タスク作成後)

chart-1

8. 比較名をクリックすることにより初期化パラメータ変更前後のSTSに含まれるSQLの比較結果が確認できます。

図 SQLパフォーマンス・アナライザのタスク詳細画面(初期化パラメータ検証タスク)

chart-1

図 SQLパフォーマンス・アナライザのタスクのレポート画面(初期化パラメータ検証タスク)

chart-1

-    SQLプロファイルの実装前後の影響の検証

SQLチューニング・アドバイザにより生成されたSQLプロファイルがどの程度効果があるものか検証することができます。こちらも実行する手順かりづらいため、以下に具体的な手順を示します。

1. SQLチューニング・アドバイザのホーム画面を開き、上位SQL文の中から、対象のSQLテキストを選択し、詳細の表示を押します。

図 SQLチューニング・アドバイザのホーム画面

chart-1

2. SPAで検証したいSQLプロファイルを選択しSQLを使用した検証を押します。

図 SQLのチューニング結果画面

chart-1

3. タスク名を設定(デフォルトで表示されている値でも可)し、OKボタンを押します。

図 SPAを使用した検証タスク設定画面

chart-1

4. SQLプロファイルの検証のためのタスクが表示されますので開きます。

図 SQLパフォーマンス・アナライザのホーム画面(タスク追加後)

chart-1

5. 比較名をクリックすることによりSQLプロファイル適用前後のSQLの比較結果が確認できます。

図 SQLパフォーマンス・アナライザのタスク詳細画面(SQLプロファイル検証タスク)

chart-1

6. SQLプロファイルにより、どの程度パフォーマンスに影響があるか表示されます。

図 SQLパフォーマンス・アナライザのSQLの結果画面(SQLプロファイル検証タスク)

chart-1

EMCCではこれに加えて保留中の統計情報に対する影響もSPAクイック・チェックで検証することが可能ですが、EM ExpressではOracle Database 12.2.0.1の時点では実装されていません。

5. パフォーマンス・ハブ画面の表示項目追加(メニュー:パフォーマンス->パフォーマンス・ハブ)

12c R2では、パフォーマンス・ハブの画面でいくつか機能追加が行われています。

  • 1. PDBワークロード情報の追加
  • 2. スタンバイ・データベース(Active Data Guard)のサポート

それぞれの機能について説明します。

1. PDBワークロード情報の追加

12c R2では12c R1で確認することができなかったPDB単位でのワークロード情報を確認することができるようになりました。

図 パフォーマンス・ハブのワークロードタブ表示画面

chart-1

2. スタンバイ・データベース(Active Data Guard)のサポート

12c R2より、スタンバイ・データベースをパフォーマンス・ハブのホーム画面で参照できるようになりました。ただし、スタンバイ・データベースに関しては、過去の期間を指定することができず直近1時間の性能情報のみ参照することができます。

図 スタンバイ・データベースのパフォーマンス・ハブ・ホーム画面

chart-1

6. データベース・ホームの表示項目の追加

12c R1のPDBのデータベース・ホーム画面(ログイン後の画面)では、ホストCPU、メモリーおよびアクティブ・セッション数などの情報は表示されませんでした。

図 12c R1のCDB$ROOTのデータベース・ホーム画面

chart-1

CDB$ROOTのコンテナのデータベース・ホーム画面では、CDB全体のホストCPU、アクティブ・セッションおよびメモリーなどを参照可能でしたが、PDB単位の情報を参照することはできませんでした。

図 12c R1のCDB$ROOTのデータベース・ホーム画面

chart-1

しかしながら、12c R2ではPDBのデータベース・ホーム画面より、PDB単位のホストCPU、アクティブ・セッションおよびメモリーを参照することが可能になりました。この機能追加は選択したPDBの負荷状況がわかるため、問題のあるコンテナを特定するのに大変役立ちます。

図 12c R2のPDBのデータベース・ホーム画面

chart-1

7. おわりに

複数コンテナの単一ポートでの接続やPDBレベルパフォーマンスの制御や監視が中心に強化されており、マルチテナント環境において、EM Expressを有効活用しやすくなったと感じます。今までEM Expressを使用していなかった方も、12c R2になってより使いやすくなったEM Expressを使用してみてはいかがでしょうか。