[Database] How to configure EM Express for a single PDB ?

原文はこちら。
https://blogs.oracle.com/dba/entry/how_to_configure_em_express

EM Expressとは?

EM Expressは新しく追加された監視ツールで、Oracle Database 11gまで付属していたEM Database Controlを置き換えるものです。EM Expressはすぐに使えるWebベースの管理ツールで、XDBサーブレットとしてデータベースに組み込まれており、データベースのインストールプロセス(例えばdbcaの使用時)に自動的に構成されるため、別途インストールする必要はありません。EM Expressは使用していないときは非常にデータベースへの負荷が低く、システムリソースを消費せず、シングルインスタンスでも、RAC環境でもお使いいただけます。EM ExpressはEM 12c Cloud Controlに近いルック&フィールです。CDBインストール時に、EM Expressはルートコンテナ用にデフォルトで有効になっていますが、個々のPDB用には、個別のEM Expressポートを構成する必要があります。

個々のPDB用にEM Expressが必要な理由

EM Expressはアプリケーションのデータベース管理者(DBA、PDBAとも)にとって、割り当てられたPDB内のパフォーマンスを監視・管理する上で役にたちます。機密データを使わないテスト環境や開発環境での利用はさておき、Oracle Multitenantを使うと、開発者はPDB内のデータディクショナリへの完全なアクセスが可能で、これにより、開発者はPDBの範囲内で完全な制御が可能になりました。これまでは、長年にわたりDBAチームが管理していたためにわかりにくいところがありましたが、Oracle Multitenantの中では、開発者が多くの自律性を得ることができ、パフォーマンス・データカタログへのアクセスやクエリのチューニング、EM Expressを使ってPDBを変更するにあたって、DBAの手を煩わせる必要はありません。DBAは今後はよりシステムレベルのパフォーマンスや運用タスクに注力することができるようになります。

XDBポートの構成方法

XDBユーザーが所有するxdb$cdbports表が標準であります。この表を使って各PDBに割り当てたポート番号のリストを決定します。CDBにSYSDBA(SYSユーザー)としてログインし、以下のクエリを実行しましょう。ところで、ルートコンテナに割り当てられているデフォルトポート番号は5500です。

PDBに割り当てられたポートのリスト

SQL> l
  1  select c.name,c.open_mode,e.port
  2  from v$pdbs c, xdb.xdb$cdbports e
  3* where c.con_id = e.pdb (+)
SQL> /

NAME                           OPEN_MODE    PORT
------------------------------ ---------- ----------
ORDERS                        READ WRITE    5501
SPARK                         MOUNTED       5505
JPM                           READ WRITE    
NONCDB                        READ WRITE
PDB_000                       READ WRITE
PDB$SEED                      READ ONLY
上記リストより、このCDB中の6個のPDBのうち、2個だけがポートを割り当てられていることがわかります。それでは、JPMというプラガブルデータベースにポート番号を割り当てましょう。まず、コンテナをJPMに変更し、値を返さないXDBポートを見つけましょう。
SQL> alter session set container = JPM;

セッションが変更されました。
では、XDBポートを調べます。
SQL> select dbms_xdb_config.gethttpsport() from dual;

DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------
新しいポート番号5504を以下のプロシージャを使ってXDBポートに設定します。
SQL> exec dbms_xdb_config.sethttpsport(5504);  

PL/SQLプロシージャが正常に完了しました。
ルートコンテナに戻り、先ほど実行したリストを取得してみましょう。
SQL> alter session set container = cdb$root;

セッションが変更されました。

SQL> select c.name,c.open_mode,e.port
  2   from v$pdbs c, xdb.xdb$cdbports e
  3  where c.con_id = e.pdb (+);

NAME                           OPEN_MODE    PORT
------------------------------ ---------- ----------
ORDERS                         READ WRITE    5501
SPARK                          MOUNTED       5505
JPM                            READ WRITE    5504
NONCDB                         READ WRITE
PDB_000                        READ WRITE
PDB$SEED                       READ ONLY
ご覧いただけるように、プラガブルデータベース JPM にXDBポート5504が設定されました。またこのポートがリスナーに登録されているかを確認する必要があります。
$ lsnrctl status | grep -i 5504
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=localhost)(PORT=5504))(Security=(my_wallet_directory=/scratch/dechatt/app/product/12.1.0/dbhome_1/admin/db12c/xdb_wallet))(Presentation=HTTP)(Session=RAW))
リスナーに登録されていることを確認したら、あとはEM Expressロール(EM_EXPRESS_ALL もしくは EM_EXPRESS_BASIC)を持つ共通ユーザーやローカルユーザーでEM Expressにログインするだけです。今回の場合、URLはhttps://localhost:5504/em を使います。

EM Expressにログインすれば、このプラガブルデータベース用のホームページを確認できます。

0 件のコメント:

コメントを投稿