[OCI] Database Cloud のDBシステムでストレージ管理にGrid Infrastructureを使用した場合のEM Express有効化最短手順


はじめに

OCI DBシステムでEM Expressを利用するための手順は公式ドキュメントにも記載がありますが、一部冗長な部分があったり、実はストレージ管理にGrid Infrastructureを使用している場合にはドキュメントに記載のある「2ノードのRAC DBシステムで必要な権限を設定するには」の内容を実施する必要があったります。

今回は、ストレージ管理にGrid Infrastructureを使用している場合の、最短と思われるEM Expressの有効化手順をまとめました。

作業の流れ

  1. DBノードにopcユーザでSSHログイン
  2. EM Expressの有効化
  3. リスナーのポートリスニング状況とWalletファイルの保存先の確認
  4. Walletファイルのパーミッションの変更
  5. ファイアウォール(iptables)の設定変更
  6. セキュリティ・ルールの追加
  7. ブラウザからEM Expressにアクセス

1. opcユーザでSSHログイン

SSHクライアントからDBシステムのノードにSSHログインします。

2. EM Expressの有効化

・oracleユーザにスイッチ
[[email protected] ~]$ sudo su - oracle

・SQL*PlusでsysユーザとしてOracleに接続
[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Fri Nov 13 07:53:07 2020
Version 19.8.0.0.0

Copyright (c) 1982, 2020, Oracle.  All rights reserved.

Connected to:
Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
Version 19.8.0.0.0

・EM Expressがすでに有効化されていないか確認
SQL> select dbms_xdb_config.getHttpsPort() from dual;

DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------
			     0

・EM ExpressをTCP 5500ポートで有効化
SQL> exec DBMS_XDB_CONFIG.SETHTTPSPORT(5500);

PL/SQL procedure successfully completed.

・EM Expressが有効化されたか確認
SQL> select dbms_xdb_config.getHttpsPort() from dual;

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

・SQL*Plusを終了
SQL> exit

3. リスナーのポートリスニング状況とWalletファイルの保存先の確認

[[email protected] ~]$ lsnrctl status | grep 5500
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=db19cse.subnet1.vcn1.oraclevcn.com)(PORT=5500))(Security=(my_wallet_directory=/u01/app/oracle/product/19.0.0.0/dbhome_1/admin/DB1_nrt17z/xdb_wallet))(Presentation=HTTP)(Session=RAW))

出力結果のmy_wallet_directoryの値がWalletファイルの保存先ディレクトリです。

4. Walletファイルのパーミッションの変更

・Walletファイルの保存先ディレクトリに移動
[[email protected] ~]$ cd /u01/app/oracle/product/19.0.0.0/dbhome_1/admin/DB1_nrt17z/xdb_wallet

. Walletファイルのパーミッションを確認
[[email protected] xdb_wallet]$ ls -ltr
total 8
-rw------- 1 oracle asmadmin 3851 Nov  6 09:46 ewallet.p12
-rw------- 1 oracle asmadmin 3896 Nov  6 09:46 cwallet.sso

・asmadminグループにWalletファイルの読み取りを許可
[[email protected] xdb_wallet]$ chmod 640 /u01/app/oracle/product/19.0.0.0/dbhome_1/admin/DB1_nrt17z/xdb_wallet/*

・正しくパーミッションが設定できたか確認
[[email protected] xdb_wallet]$ ls -ltr
total 8
-rw-r----- 1 oracle asmadmin 3851 Nov  6 09:46 ewallet.p12
-rw-r----- 1 oracle asmadmin 3896 Nov  6 09:46 cwallet.sso
[[email protected] xdb_wallet]$ exit
logout

5. ファイアウォール(iptables)の設定変更

・rootユーザにスイッチ
[[email protected] ~]$ sudo su -
Last login: Fri Nov 13 07:44:27 JST 2020

・iptablesの設定をバックアップ
[[email protected] ~]# iptables-save > /tmp/iptables.orig

・TCP 5500ポートへのアクセスを許可
[[email protected] ~]# iptables -I INPUT 8 -p tcp -m state --state NEW -m tcp --dport 5500 -j ACCEPT -m comment --comment "Required for EM Express."

・設定内容が反映されているか確認
[[email protected] ~]# iptables --list-rules | grep 5500
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5500 -m comment --comment "Required for EM Express." -j ACCEPT

・設定内容を保存
[[email protected] ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

6. セキュリティ・ルールの追加

DBシステムが所属するサブネットに適用されているセキュリティ・リスト、またはDBシステムに適用されているネットワーク・セキュリティ・グループにTCP5500ポートへのアクセスを許可するセキュリティ・ルールを追加します。

7. ブラウザからEM Expressにアクセス

ブラウザからEM Expressにアクセスします。アクセスする際、httpsで接続しないとエラーになります。
接続先URLは以下のようになります。

https://DBシステムノードのIPアドレス:5500/em

自己署名証明書を使用しているためブラウザに警告が表示されますが、ここでは警告を無視して接続します。


無事、EM Expressにアクセスできました。

参考情報

Oracle Infrastructure Document データベースのモニタリング
https://docs.cloud.oracle.com/ja-jp/iaas/Content/Database/Tasks/monitoringDB.htm