ORA-12170 TNS监听器在oracle 11g中

时间:2014-03-24 13:27:38

标签: oracle amazon-ec2 oracle11g plsqldeveloper ora-12170

我在亚马逊EC2中设置了一个带有oracle服务器11g(11.2)和一个小型数据库(MYDB)的Windows Server 2008R2。

现在我想从我的计算机连接到这个数据库(我使用PL / SQL开发人员,但我不介意使用其他工具)

在服务器端,我有:(其中ec2-xx-xxx-xxx-xx.us-west-2.compute.amazonaws.com是我的Win服务器的公共DNS。)
的tnsnames.ora:

 MYDB =
   (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST = ec2-xx-xxx-xxx-xx.us-west-2.compute.amazonaws.com)(PORT = 1521))
     (CONNECT_DATA =
      (SERVICE_NAME = MYDB)
     )
   )

listener.ora:

 # listener.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
 # Generated by Oracle configuration tools.

 LISTENER =
     (DESCRIPTION_LIST =
      (DESCRIPTION =
       (ADDRESS = (PROTOCOL = TCP)(HOST = ec2-xx-xxx-xxx-xx.us-west-2.compute.amazonaws.com)(PORT = 1521))
       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      )
    )

   ADR_BASE_LISTENER = C:\app\Administrator

在我的电脑tnsnames.ora我有:

 MYDB=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ec2-xx-xxx-xxx-xx.us-west-2.compute.amazonaws.com)(PORT = 1521))
    (CONNECT_DATA =
     (SERVICE_NAME = MYDB)
    )
  )

通过这些设置,我可以在我的服务器本地连接,但不能通过我的电脑连接 我在EC2上设置了安全组:

入境规则

Type                Protocol              Port Range     Source
RDP                 TCP                   3389           Anywhere 0.0.0.0/0
SSH                 TCP                   22             Anywhere 0.0.0.0/0
Custom ICMP Rule    Echo Reply            N/A            Anywhere 0.0.0.0/0

当我尝试从计算机连接时,我得到了

  

ORA-12170:TNS:发生连接超时。

任何想法我做错了什么,或者是故障排除计划?

1 个答案:

答案 0 :(得分:1)

您的security groups仅在端口3389和22(以及ICMP ping)上允许RDP和SSH访问。当您尝试连接到数据库时,您正在使用端口1521,正如您的tnsnames.ora所指示的那样:

(HOST = ec2-xx-xxx-xxx-xx.us-west-2.compute.amazonaws.com)(PORT = 1521))

所以你需要add an inbound firewall rule允许TCP端口1521上的流量通过你的EC2实例,除了3389和22的现有流量。我不知道SQL * Net是否会列在& #39;类型'下拉,因此您可能需要选择“所有TCP'。

你可能也想让它更具限制性 - 限制来源'如果这是私有的话,也可能是你公司的IP地址,如果没有,你的公司也可以输出IP地址;如果你有来自ISP的静态公共IP。

相关问题