データベースを作成後、EM Database Expressの起動がうまくいきません。設定の仕方をおしえて下さい。
こんにちはユキトモです。
前回、GUIを使わずにOracleデータベースをインストールしsqlplusコマンドでログインするところまで確認しました。
そのほかの状態を確認してみましょう。
sysユーザのパスワード設定
・筆者の環境ではsysユーザのパスワードが設定されていなかったのでここで設定
パスワード変更
$ sqlplus / as sysdba
SQL> ALTER USER SYS IDENTIFIED BY oracle;
作成されたデータベースの確認
作成されたデータベースの確認
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB1 READ WRITE NO
EM Database Expressへのアクセス
・EM Database Expressへアクセスするための準備をします。
ポート5500を有効化
--確認
SQL> select dbms_xdb_config.getHttpsPort() from dual;
--プロシージャ実行
SQL> exec DBMS_XDB_CONFIG.SETHTTPSPORT(5500);
--再確認
SQL> select dbms_xdb_config.getHttpsPort() from dual;
リスナーを再確認(5500でListenしているかどうかの確認)
リスナーの状態を確認
***
SQL>! lsnrctl status
--リスナーが起動していない場合は起動する
SQL>! lsnrctl start
--リスナー情報をOracleへ反映する
SQL> alter system register;
--リスナーの再確認
SQL> ! lsnrctl status
netstatコマンド
--netstatコマンドで確認
SQL> ! netstat -atnp | egrep -i 'prot|5500'
・CDBおよびPDBを管理するには、EM Expressのグローバルポートを有効にする必要があります
グローバルレポート有効
SQL> exec dbms_xdb_config.SetGlobalPortEnabled(TRUE)
SQL> exit
・ファイアーウォールが有効になっていると接続できないので、ここでは停止をしてみます。
ファイアーウォール無効
# firewalldを確認
systemctl status firewalld
# firewalldを停止
systemctl stop firewalld
# firewalldを確認
systemctl status firewalld
ブラウザを起動
ブラウザを起動
https://192.168.200.130:5500/em
まとめ
今回の「EM Database Express」の設定ではファイアーウォールは停止して今回設定しました。
業務で使用する場合は、ポート5500のみを有効にするなどセキュリティ面を考慮する必要があると思いますが今回は検証環境なのでこの設定にしました。
次回はPDBについて解説していきたいと思います。
+ 実行結果はこちら</b><b>
command
-------------------------------------
# ログイン
[oracle@localhost ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on 月 11月 16 19:58:58 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 user
ユーザーは"SYS"です。
# パスワード変更
SQL> ALTER USER SYS IDENTIFIED BY oracle;
ユーザーが変更されました。
# 作成されたデータベースの確認
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB1 READ WRITE NO
# EM Database Expressへのアクセス
ポート5500を有効化
SQL> select dbms_xdb_config.getHttpsPort() from dual;
DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------
0
SQL> exec DBMS_XDB_CONFIG.SETHTTPSPORT(5500);
PL/SQLプロシージャが正常に完了しました。
SQL> select dbms_xdb_config.getHttpsPort() from dual;
DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------
5500
# リスナーの状態を確認
SQL> ! lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 16-11月-2020 19:36:06
Copyright (c) 1991, 2019, Oracle. All rights reserved.
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))に接続中
TNS-12541: TNS: リスナーがありません。
TNS-12560: TNS: プロトコル・アダプタ・エラー
TNS-00511: リスナーがありません。
Linux Error: 111: Connection refused
(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))に接続中
TNS-12541: TNS: リスナーがありません。
TNS-12560: TNS: プロトコル・アダプタ・エラー
TNS-00511: リスナーがありません。
Linux Error: 111: Connection refused
SQL> -- リスナー起動
SQL> ! lsnrctl start
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 16-11月-2020 19:37:00
Copyright (c) 1991, 2019, Oracle. All rights reserved.
/opt/oracle/product/19c/dbhome_1/bin/tnslsnrを起動しています。お待ちください...
TNSLSNR for Linux: Version 19.0.0.0.0 - Production
システム・パラメータ・ファイルは/opt/oracle/product/19c/dbhome_1/network/admin/listener.oraです。
ログ・メッセージを/opt/oracle/diag/tnslsnr/localhost/listener/alert/log.xmlに書き込みました。
リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名 LISTENER
バージョン TNSLSNR for Linux: Version 19.0.0.0.0 - Production
開始日 16-11月-2020 19:37:02
稼働時間 0 日 0 時間 0 分 0 秒
トレース・レベル off
セキュリティ ON: Local OS Authentication
SNMP OFF
パラメータ・ファイル /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
ログ・ファイル /opt/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
リスニング・エンドポイントのサマリー...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
リスナーはサービスをサポートしていません。
コマンドは正常に終了しました。
SQL> -- リスナーの情報をOracleへ反映する
SQL> alter system register;
システムが変更されました。
SQL> --リスナーの再確認
SQL> ! lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 16-11月-2020 19:40:11
Copyright (c) 1991, 2019, Oracle. All rights reserved.
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名 LISTENER
バージョン TNSLSNR for Linux: Version 19.0.0.0.0 - Production
開始日 16-11月-2020 19:37:02
稼働時間 0 日 0 時間 3 分 9 秒
トレース・レベル off
セキュリティ ON: Local OS Authentication
SNMP OFF
パラメータ・ファイル /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
ログ・ファイル /opt/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
リスニング・エンドポイントのサマリー...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=localhost)(PORT=5500))(Security=(my_wallet_directory=/opt/oracle/product/19c/dbhome_1/admin/ORCLCDB/xdb_wallet))(Presentation=HTTP)(Session=RAW))
サービスのサマリー...
サービス"ORCLCDB"には、1件のインスタンスがあります。
インスタンス"ORCLCDB"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"ORCLCDBXDB"には、1件のインスタンスがあります。
インスタンス"ORCLCDB"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"b2967d528692b779e055000000000001"には、1件のインスタンスがあります。
インスタンス"ORCLCDB"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"orclpdb1"には、1件のインスタンスがあります。
インスタンス"ORCLCDB"、状態READYには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。
SQL> --netstatコマンド
SQL> ! netstat -atnp | egrep -i 'prot|5500'
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::5500 :::* LISTEN 62199/tnslsnr
SQL> --グローバルレポート有効化
SQL> exec dbms_xdb_config.SetGlobalPortEnabled(TRUE)
PL/SQLプロシージャが正常に完了しました。
SQL> exit
# ファイアーウォール停止
su -
[root@localhost ~]# # firewalldを確認
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-10-28 20:48:56 JST; 2 weeks 4 days ago
Docs: man:firewalld(1)
Main PID: 974 (firewalld)
Tasks: 2 (limit: 22976)
Memory: 13.8M
CGroup: /system.slice/firewalld.service
mq974 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid
10月 28 20:48:53 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
10月 28 20:48:56 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
10月 28 20:48:56 localhost.localdomain firewalld[974]: WARNING: AllowZoneDrifting is enabled. This is considered an ins>
[root@localhost ~]# # firewalldを停止
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# # firewalldを確認
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Mon 2020-11-16 19:46:59 JST; 22s ago
Docs: man:firewalld(1)
Process: 974 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 974 (code=exited, status=0/SUCCESS)
10月 28 20:48:53 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
10月 28 20:48:56 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
10月 28 20:48:56 localhost.localdomain firewalld[974]: WARNING: AllowZoneDrifting is enabled. This is considered an ins>
11月 16 19:46:57 localhost.localdomain systemd[1]: Stopping firewalld - dynamic firewall daemon...
11月 16 19:46:59 localhost.localdomain systemd[1]: Stopped firewalld - dynamic firewall daemon.
[1]+ 停止 systemctl status firewalld
-------------------------------------