Oracle

Centos 6.5 上的 Oracle 12c Express Enterprise Manager 無法訪問

  • May 10, 2019

我有 Centos 6.5,並安裝了 Oracle 12c。正如 dbca 實用程序在配置新 db 後所說的那樣,EM Express 應該可以在https://hostname:5500/em上使用 ,實際上它不是。既不是在本地主機上也不是通過ip。我也這樣做了SQL> EXEC dbms_xdb_config.sethttpport(5501);,因為DBMS_XDB.GETHTTPPORT()顯示“0”,並且由於錯誤而無法設置 5500 - 5500 似乎很忙。之後我嘗試了埠和不同的主機名 - 沒有任何效果。

DB 已啟動並正在工作,這是輸出lsnrctl status(我刪除了 listener.ora 以確保它沒有錯,但輸出是相同的):

LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 18-JAN-2015
10:27:42

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

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the
LISTENER
------------------------ Alias                     LISTENER Version                   TNSLSNR for Linux: Version 12.1.0.2.0 - Production Start Date         
18-JAN-2015 10:27:20 Uptime                    0 days 0 hr. 0 min. 21
sec Trace Level               off Security                  ON: Local
OS Authentication SNMP                      OFF Listener Log File     
/u01/app/oracle/diag/tnslsnr/hpsa/listener/alert/log.xml Listening
Endpoints Summary...  
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hpsa)(PORT=1521)))  
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hpsa)(PORT=5501))(Presentation=HTTP)(Session=RAW))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=hpsa)(PORT=5500))(Security=(my_wallet_directory=/u01/app/oracle/admin/main/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary... Service "main" has 1 instance(s).   Instance
"main", status READY, has 1 handler(s) for this service... Service
"mainXDB" has 1 instance(s).   Instance "main", status READY, has 1
handler(s) for this service... The command completed successfully

另外,這是我的 /etc/hosts:

127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1     localhost localhost.localdomain
localhost6 localhost6.localdomain6
192.168.56.101 hpsa hpsa.hpsa hpsa.localdomain node1

主機名:

[root@hpsa ~]# hostname 

hpsa.hpsa

我現在擁有的所有https://192.168.56.101:5501/em:瀏覽器顯示它們已連接到主機並嘗試檢索數據,但在很長的幾分鐘內我正在重置連接。火狐也顯示ssl_error_rx_record_too_long

我究竟做錯了什麼?

0>“由於錯誤而無法設置 5500 - 5500 似乎很忙”

這意味著埠 5500 已經“在使用中”。好吧,我敢打賭它沒有被使用,但甲骨文認為。中保留了很多埠/etc/services

打開文件並更改以下行:

fcp-addr-srvr1  5500/tcp                # fcp-addr-srvr1
fcp-addr-srvr1  5500/udp                # fcp-addr-srvr1

將它們更改為:

#fcp-addr-srvr1  5500/tcp                # fcp-addr-srvr1
#fcp-addr-srvr1  5500/udp                # fcp-addr-srvr1

重試設置埠SQL> EXEC dbms_xdb_config.sethttpport(5500);


編輯1:

您的偵聽器顯示它正在埠 5500 上偵聽 https 請求。所以也許你已經做了我剛剛發布的內容。您能否分享以下命令的輸出?

service iptables status

編輯2:

我剛剛在我的一個 12c 數據庫上啟動了 EM Express。這是我所做的:

  • 作業系統:Oracle Linux 6.5
  • 數據庫:Oracle 數據庫 12.1.0.2.0
  • 服務 iptables 狀態 –> 關閉

動作日誌:

$ sqlplus / as sysdba
SQL> SELECT DBMS_XDB_CONFIG.gethttpport FROM dual;

GETHTTPSPORT
------------
       5500

SQL> SELECT DBMS_XDB_CONFIG.gethttpsport FROM dual;

GETHTTPPORT
-----------
         0

我將設置 https 埠為 5501 並用 5500 覆蓋 http 埠。

SQL> EXEC DBMS_XDB_CONFIG.sethttpport(5500);
PL/SQL procedure successfully completed.

SQL> EXEC DBMS_XDB_CONFIG.sethttpsport(5501);
PL/SQL procedure successfully completed.

之後監聽器顯示我正在監聽這些埠(在 5500 記錄已經存在但它不起作用之前)

$ lsnrctl status | grep PORT
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=***)(PORT=1521)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=***)(PORT=5501))(Security=(my_wallet_directory=/opt/oracle/admin/orcl/xdb_wallet))(Presentation=HTTP)(Session=RAW))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=***)(PORT=5500))(Presentation=HTTP)(Session=RAW))

我在瀏覽器中進行了測試:

  • 瀏覽到 http://***:5500/em –> 出現登錄螢幕
  • 瀏覽到 https://***:5500/em –> 出現登錄螢幕

注意尾隨“/em”很重要。

您需要檢查企業管理器快速管理器並配置它,如果它沒有配置:

SELECT DBMS_XDB_CONFIG.gethttpport FROM dual;   -- check the HTTP port number

   GETHTTPPORT
------------------
   port number

SELECT DBMS_XDB_CONFIG.gethttpsport FROM dual;  -- check the HTTPS port number
 GETHTTPSPORT
 ------------
       5500

EXEC DBMS_XDB_CONFIG.sethttpsport(5500);

PL/SQL procedure successfully completed.  --the expected result

之後,您需要確保埠已啟用(通過 iptables 以及外部防火牆(如果存在)打開),然後嘗試使用如下 URL:

https://<hostname>:<port>/em/

如果那沒有解決它,然後嘗試重新載入偵聽器並重試

引用自:https://dba.stackexchange.com/questions/89574