无法从 Oracle SQL Developer 与 AWS RDS Oracle 数据库实例建立连接

Jen*_*fer 2 oracle database-connection amazon-web-services amazon-rds oracle-sqldeveloper

我在 AWS RDS 控制台中创建了一个 Oracle 数据库。尽管遵循了 Amazon 开发人员指南中的所有说明(特别请参阅网页中的第 3 项),我仍无法从 Oracle SQL Developer 程序连接到它。

我收到错误: IO 错误:网络适配器无法建立连接(供应商代码 17002)。

我已在防火墙设置中打开端口 1521。

我的 SQL Developer 连接属性窗格和 AWS RDS 控制台中的数据库属性的屏幕截图:

编辑:

AWS 安全组规则更新: 我采纳了人们的建议,并确保将端口 1521 添加到安全组入站和出站规则中

入站规则屏幕截图 对于入站,我尝试了多种操作,例如允许所有 IP 地址或仅允许我的 IP 地址使用该端口,但在安全组上允许它是唯一不会出现 SQL Developer 连接错误“侦听器拒绝连接,并出现以下错误:TNS:侦听器当前不知道连接器描述符中给出的 SID。供应商代码 12505”。

我认为我不应该在入站规则上设置任何打开端口 1521 的规则,因为默认设置接受所有流量,我认为其中将包括端口 1521。

出站规则屏幕截图 对于出站,我为我的 IP 地址添加了端口 1521。

尽管进行了所有这些更改,我仍然遇到相同的错误。

任何指导将不胜感激!谢谢!

Mbu*_*aac 8

下面概述的一个或多个步骤可能会解决您的问题。

  1. 确保 SQL Developer 中的 SID 是您的数据库名称。为了避免沮丧,请忘记创建数据库时设置的任何内容。通过转到“配置”选项卡并复制数据库名称下方的字符串来验证正确的数据库名称,如下面的屏幕截图所示。正如您所看到的,这里的数据库名称是 DATABASE。我以为我已经将其设置为 ofaoes 但我错了。创建数据库的 AWS 流程(至少在撰写此答案时)根本没有帮助,因为没有特定字段来输入数据库名称。

AWS RDS 配置页面的屏幕截图

  1. 验证您的数据库是否可公开访问。

    1. 验证您的 VPC 是否附加了 Internet 网关,并且安全组的入站规则是否允许连接。(有关此问题的帮助,请参阅下面的链接 2)

    2. 打开 Amazon RDS 控制台。

    3. 从导航窗格中选择数据库,然后选择数据库实例。

    4. 选择修改。

    5. 在“网络和安全”下,为“公共可访问性”选择“是”

    6. 选择继续。

    7. 选择修改数据库实例。

这是该窗口的屏幕截图:

在此输入图像描述

有关更多信息,或者如果上述方法不起作用,请访问以下链接以获取更多最新信息:

  1. https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.Connecting
  2. https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html#Add_IGW_Attach_Gateway
  3. https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Hiding

  4. https://aws.amazon.com/premiumsupport/knowledge-center/rds-connectivity-instance-subnet-vpc/

  5. https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html

  6. https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.Scenarios.html