0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

リモートのOracle19cにEMExpress構築

Last updated at Posted at 2020-12-08

やっとOracle環境を構築したので、今回はEnterprise Manager Express(以降EMExpressと表記)を起動し、ブラウザから操作してみようと思う!
→結果:かなり苦戦したので、EMExpress構築までをメモ。

環境

Oracle CloudのOS : Oracle Linux 7.9
OracleDB : Oracle Database 19c

準備作業

1,Oracle Cloudでアカウント作成
2,仮想マシン作成
 -シェイプは永久無料のものではなく、一つ上以上のものを選択することを推奨。※メモリが足りなくて、設定ファイルをいじる手間がかかるため。
3,自身のPCにOracle Database 19cのLinux x86-64のRPMをダウンロード
4,scpで仮想マシンにダウンロードしたrpmを配置
5,Oracle19cのインストール
 →EMExpressにアクセスするとこで失敗。

セキュリティ・リストの設定

EMExpressは、デフォルトが5500ポートで動くので、仮想ネットワークのセキュリティ・リストに5500ポートへの通信を許可する必要がある。
コンピュート→インスタンス→対象のインスタンスを選択後、インスタンス情報タブのプライマリVNICのサブネットを選択。

image.png

下の方にあるセキュリティ・リストを選択。

image.png

現在のルールが表示される。イングレス・ルールの追加を選択。

image.png

以下のように入力し、イングレス・ルールの追加を選択。
ソースCIDR:送信元アドレスの許可範囲。今回は全て許可。
ソース・ポート範囲:送信元ポートの範囲。今回は全て許可。
宛先ポート:宛先ポートの範囲。今回は5500のみ。

image.png

これで完了。時間差で反映される。

ファイアーウォールの設定

AWSの場合は、firewalldが入っておらず、セキュリティ・リストを設定するだけでポート解放ができる。しかし、Oracle Cloudでは、firewalldの設定もしないとポートが許可されない。

# ログイン後、管理者ユーザーに切り替えて以下を実行
$ firewall-cmd --list-all
public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: dhcpv6-client ssh  # デフォルトではdhcpとsshのみ許可するようになっている
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

# 5500ポートを解放
$ firewall-cmd --add-port=5500/tcp --zone=public --permanent

# firewalldを再起動
$ systemctl restart firewalld

# 確認
$ firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens3
  sources:
  services: dhcpv6-client ssh
  ports: 5500/tcp  # 5500ポートが解放される
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

oracleユーザーのパスワード設定

以下のサイトを参考にパスワードを設定。
インストール時に作成されたoracleユーザーのパスワード設定
SYSユーザー・SYSTEMユーザーのパスワード設定

EMExpressにアクセス

以下のURLにアクセスすると、警告画面が表示される。表示されない場合の確認項目
https://(インスタンスのパブリックIPアドレス):5500/em/

image.png

警告を無視して開くとログイン画面が出る。

image.png

ここで、oracleユーザーと設定したパスワードが通らず、https://IPアドレス:5500がユーザー名とパスワードを要求しています。サイトからのメッセージ: “XDB”のポップアップが出た。
もう一度入力しても、通らない・・・。

image.png

調べた結果、sqlplusで以下のプロシージャを実行し、グローバルポートの設定が必要なことがわかった。
このサイトのおかげで、なんとか解決した!

SQL> exec dbms_xdb_config.SetGlobalPortEnabled(TRUE)

上記のコマンドを実行しても、ログインが通る組み合わせは以下のみ。それ以外は、XDBのポップアップが出て、ログインできなかった。

Username:sysもしくはsystem
Password:先程、設定したもの
Container Name:CDB$ROOT

image.png

やっとログインできた!!

image.png

EMExpressが起動されない

EMExpressが起動されない時の確認項目をメモっとく。(自分がハマったこと)

セキュリティ・リストの設定
firewalldの設定
・リスナー・DBの起動確認
oracleユーザーで以下のコマンドを実行。

リスナー起動確認
# 起動されている時はステータスが表示される。lsnrctl startで起動可能。
$ lsnrctl status

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 08-12月-2020 10:02:13

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=instance-20201205-1646.subnet12041301.vcn12041301.oraclevcn.com)(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名                      LISTENER
バージョン                TNSLSNR for Linux: Version 19.0.0.0.0 - Production
開始日                    08-12月-2020 10:02:10
稼働時間                  0 日 0 時間 0 分 3 秒
〜(以下略)〜
DB起動確認
# sqlplusでshow pdbsが取得できるか確認。startupで起動可能。
$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on 火 12月 8 10:22:24 2020
Version 19.3.0.0.0

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



Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
に接続されました。
SQL> show pdbs

    CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
	 2 PDB$SEED			  READ ONLY  NO
	 3 ORCLPDB1			  MOUNTED
SQL> 

終わりに

ほんとはBronzeの勉強のためにEMExpressを触ろうと思ったが、起動に思いのほか苦戦した。(そのお陰で深く知れたこともあったけど^^)
次回はEMExpressでどんなことができるのか探っていく!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?