Centos 6.5 上的 Oracle 12c Express Enterprise Manager 無法訪問
我有 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/
如果那沒有解決它,然後嘗試重新載入偵聽器並重試