从远程计算机访问Oracle Apex

时间:2017-08-22 03:09:54

标签: linux oracle oracle-apex firewall

大家好我已经在Linux VM(谷歌云计算)上成功安装了Oracle 11g Express 我有sqlplus工作,我可以查询数据。 听众也在工作。

但由于Linux服务器没有GUI,我无法尝试本地主机,外部机器拒绝连接。

我的问题是:

1)Apex是否预先安装在以前的Oracle XE上,但未在任何地方提及。

2)如果服务器的IP地址是123.123.123,我将使用什么URL从远程机器到达顶点?我试过了

3)如何判断服务器或Oracle是否拒绝连接?

防火墙

 $ netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0      0 10.128.0.3:50776        169.254.169.254:80      ESTABLISHED
tcp        0      0 10.128.0.3:43548        10.128.0.3:1521         ESTABLISHED
tcp        0      0 10.128.0.3:50722        169.254.169.254:80      CLOSE_WAIT 
tcp        0      0 10.128.0.3:50814        169.254.169.254:80      ESTABLISHED
tcp        0      0 10.128.0.3:50774        169.254.169.254:80      ESTABLISHED
tcp        0     64 10.128.0.3:22           74.125.41.105:38312     ESTABLISHED
tcp6       0      0 :::40070                :::*                    LISTEN     
tcp6       0      0 :::8080                 :::*                    LISTEN     
tcp6       0      0 :::1521                 :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
tcp6       0      0 10.128.0.3:1521         10.128.0.3:43548        ESTABLISHED

监听

 $ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 22-AUG-2017 02:59:51

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date                22-AUG-2017 02:00:17
Uptime                    0 days 0 hr. 59 min. 33 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           XE
Listener Parameter File   /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/centossmallblockpro/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=centossmallblockpro.c.sincere-destiny-176110.internal)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=centossmallblockpro.c.sincere-destiny-176110.internal)(PORT=8080))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "XE" has 1 instance(s).
  Instance "XE", status READY, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
  Instance "XE", status READY, has 1 handler(s) for this service...
The command completed successfully

SQLPLUS正在运作

    sqlplus

SQL*Plus: Release 11.2.0.2.0 Production on Tue Aug 22 03:03:51 2017

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

Enter user-name: system
Enter password: 

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL> select * from dual;

D
-
X

Telnet XX.XXX.XXX.XX 8080

Telnet: Unable to connect to remote host: Connection timed out

2 个答案:

答案 0 :(得分:2)

1)我认为Oracle XE(11g)附带APEX版本3.2。这是一个非常古老的APEX版本。按照说明如何删除此旧版本并从otn.oracle.com获取最新版本。最新版本也适用于11g XE。

2)隧道

您可以从桌面计算机到运行服务的端点服务器创建ssh-tunnel。现在,您可以从桌面环境中访问远程计算机上的服务。 sqlplus,SQL Developer,Firefox等。

# Access Your Database Remotely Through an SSH Tunnel
# ssh -L [local port]:[database host]:[remote port] [username]@[remote host]
# console 1: 9998 is just an arbitrary port > 1024. Can be anything.
ssh -N -L 9998:10.128.0.3:1521 -i ~/.ssh/id_rsa user@35.184.136.98
# console 2:
sqlplus user/pwd@localhost:9998/XE 
# firefox:
http://localhost:9998/apex 

答案 1 :(得分:0)

对Bjarte的1和2做出了很好的回答,但实际问题不是Linux防火墙,而是Compute引擎防火墙。

我甚至不知道它存在,当你选中复选框打开Http它创建了TCP规则:80但我需要TCP:8080。

以下文章为我cant open port on google compute engine ...

解决了这个问题