Oracle侦听器未响应其IP地址

时间:2017-10-24 12:08:41

标签: oracle amazon-web-services amazon-ec2

我花了两天的时间试图找出我的oracle服务器发生的事情,今天来到这里。情况如下: 我在EC2实例(Amazon AWS)上运行Windows Server 2016。这个服务器类似于测试运行Oracle的应用程序的服务器,因此我基本上在IIS和Oracle数据库上运行我的ASP.Net应用程序。

有时我需要远程连接到此服务器才能使用Visual Studio调试我的应用程序。因此,我在我的机器上安装了oracle客户端,以便进行远程连接。

几周前,一切都运转正常。突然发生了一些事情,我不能再远程连接了。在尝试了几个小时之后,我决定终止de EC2实例并再次安装所有内容。

我做到了,现在我面临着同样的问题。我将在这里发布一个打印屏幕,然后我将告诉我到目前为止测试的内容。

enter image description here

以下是sqlnet.ora文件的内容:

SQLNET.AUTHENTICATION_SERVICES =(NONE)

NAMES.DIRECTORY_PATH =(TNSNAMES,EZCONNECT)

以下是listener.ora文件的内容:

SID_LIST_LISTENER =   (SID_LIST =     (SID_DESC =       (SID_NAME = CLRExtProc)       (ORACLE_HOME = D:\ app \ Administrator \ virtual \ product \ 12.2.0 \ dbhome_1)       (PROGRAM = extproc)       (ENVS =“EXTPROC_DLLS = ONLY:D:\ app \ Administrator \ virtual \ product \ 12.2.0 \ dbhome_1 \ bin \ oraclr12.dll”)     )   )

LISTENER =   (DESCRIPTION_LIST =     (DESCRIPTION =       (ADDRESS =(PROTOCOL = TCP)(主机= ipaddress )(PORT = 1521))       (ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1521))     )   )

以下是tsnames.ora文件的内容:

XE =   (DESCRIPTION =     (ADDRESS =(PROTOCOL = TCP)(主机= ipaddress )(PORT = 1521))     (CONNECT_DATA =       (SERVER = DEDICATED)       (SERVICE_NAME = xe)     )   )

LISTENER_XE =   (ADDRESS =(PROTOCOL = TCP)(主机= ipaddress )(PORT = 1521))

ORACLR_CONNECTION_DATA =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS =(PROTOCOL = IPC)(KEY = EXTPROC1521))     )     (CONNECT_DATA =       (SID = CLRExtProc)       (演示= RO)     )   )

我的观察:

  • 我不认为这是防火墙问题,因为上面的打印屏幕显示了服务器内部的测试。
  • 当我尝试从我的计算机连接到Oracle时,收到此错误“ORA 12 541 TNS:no listener”。
  • 如果我在端口23上尝试TELNET,服务器会响应,但是如果我在1521上尝试Telnet(尝试使用防火墙,那么它就不会响应)
  • 我已经在Amazon AWS上配置了安全组以接受所有流量
  • 在同一台服务器上运行的应用程序仍然可以连接到Oracle,所以我想我不能说听众已经关闭了。
  • 我运行了命令“lsnrctl status”以查看侦听器是否正在运行: enter image description here
  • 这是我运行命令“lsnrctl start”时: enter image description here

1 个答案:

答案 0 :(得分:0)

似乎问题与我提到的任何事情无关。 我打开了"服务(services.msc)"并且发现Oracle dbconsole服务已关闭。我试图启动它,但又出现了另一个错误。错误是关于Oracle正在寻找的文件夹。 Oracle正在寻找一个以ipaddress和服务名称命名的文件夹,例如" /192.168.0.1_XE / " 。但是,我检查了到达此文件夹的路径,我有" / localhost_XE / "。

  • 因此,为了解决这个问题,我只创建了一个新文件夹,从localhost文件夹复制了这些文件,并粘贴到这个用IP地址命名的新文件夹中。之后,我能够启动服务,一切恢复正常。

  • 这是我做的另一件事,但我不确定这是否也有助于解决这个问题。我改变了" listener.ora"中的ipaddress。文件到" 0.0.0.0 "