Enterprise Manager Express 12cで遊んでみようぜ!!の巻

※ここで記載した内容は独断と偏見に基づく個人の見解であり、実行しているコマンドや手順も必ずしも正しい手順とは限りません。その為、あくまで参考程度にご覧頂ければと思います。


■検証環境
OS:Oracle Enterprise Linux 5.8(54-bit)
DB:Oracle Database Enterprise Edition 12.1.0.1

 

■検証内容

(1)12cのDB構成時にEMを構成するオプションを選択した場合は、デフォルトで以下のURLからEM Expressにアクセス出来ます。

https://<hostname>:5500/em


(2)以下SQLで、EM Express(HTTPS)のポート番号を確認できます。

SQL> select dbms_xdb_config.gethttpsport() from dual;

DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------
5500


(3)以下のコマンドで該当ポート5500がリスナーに認識されているか確認できます。
[grid@hoge admin]$ lsnrctl status | grep -i 5500
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=hoge)(PORT=5500))(Security=(my_wallet_directory=/opt/app/oracle/product/12.1.0/dbhome_1/admin/orcl/xdb_wallet))(Presentation=HTTP)(Session=RAW))


(4)以下でデフォルト以外のHTTPSポートに変更可能です。

SQL> exec DBMS_XDB_CONFIG.SETHTTPSPORT(5501);

PL/SQL procedure successfully completed.

 

(5)ポートの変更後、リスナーの認識しているポートを確認すると、変更直後は変更前の5500と変更後の5501の両方の情報を保持している様でした

[oracle@hoge ~]$ lsnrctl status | grep -i 5500
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=hoge)(PORT=5500))(Security=(my_wallet_directory=/opt/app/oracle/product/12.1.0/dbhome_1/admin/orcl/xdb_wallet))(Presentation=HTTP)(Session=RAW))

 

[oracle@hoge ~]$ lsnrctl status | grep -i 5501
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=hoge)(PORT=5501))(Security=(my_wallet_directory=/opt/app/oracle/admin/orcl/xdb_wallet))(Presentation=HTTP)(Session=RAW))

(6)1分ほど放置していると変更後の5501の情報のみ認識するようになりました。
[oracle@hoge ~]$ lsnrctl status | grep -i 5500

[oracle@hoge ~]$ lsnrctl status | grep -i 5501
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=hoge)(PORT=5501))(Security=(my_wallet_directory=/opt/app/oracle/admin/orcl/xdb_wallet))(Presentation=HTTP)(Session=RAW))


(7)ちなみに以下の例の様にHTTPに変更することも可能。
SQL> exec DBMS_XDB_CONFIG.SETHTTPPORT(5503);

PL/SQL procedure successfully completed.


(8)HTTPの場合のポート番号を確認するSQLは以下。
SQL> SELECT DBMS_XDB_CONFIG.gethttpport FROM dual;

GETHTTPPORT
-----------
5503

(9)試しにDBを停止して、停止後ブEMにブラウザアクセスできるか確認してみる

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.


→DBが停止した状態ではアクセス出来ない。XDBが停止しているとダメな様(11gR2までとは異なる動作)


(10)次はlsofコマンドで5503ポートをオープンしているプロセスを確認してみます。ブラウザからEMへアクセスがない場合は以下の様にリスナープロセスのみが該当ポートをオープンしている様でした。

[root@hoge oracle]# lsof -i:5503
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
tnslsnr 6961 grid 25u IPv6 117195 0t0 TCP *:fcp-srvr-inst2 (LISTEN)


(11)次は、ブラウザからEM Expressにアクセスした状態でlsofコマンドでEM Expressにアクセスしてみるとディスパッチャも該当ポートをオープンしている事が確認出来ました。

[root@hoge oracle]# lsof -i:5503
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
tnslsnr 6961 grid 25u IPv6 117195 0t0 TCP *:fcp-srvr-inst2 (LISTEN)
ora_d000_ 7125 oracle 14u IPv6 126782 0t0 TCP hoge:fcp-srvr-inst2->192.168.56.1:52575 (ESTABLISHED)
ora_d000_ 7125 oracle 16u IPv6 126838 0t0 TCP hoge:fcp-srvr-inst2->192.168.56.1:52577 (ESTABLISHED)
ora_d000_ 7125 oracle 18u IPv6 126839 0t0 TCP hoge:fcp-srvr-inst2->192.168.56.1:52578 (ESTABLISHED)
ora_d000_ 7125 oracle 20u IPv6 126840 0t0 TCP hoge:fcp-srvr-inst2->192.168.56.1:52579 (ESTABLISHED)
ora_d000_ 7125 oracle 23u IPv6 126844 0t0 TCP hoge:fcp-srvr-inst2->192.168.56.1:52580 (ESTABLISHED)