首页 > 解决方案 > 无法将用户从 SQL Developer 连接到 AWS RDS

问题描述

我尝试连接到我创建的 AWS RDS。我使用 SQL Developer 添加连接。我使用了 Oracle 的默认 SYSTEM 用户。我通过添加以下条目配置了我的 tnsnames 和侦听器文件。

监听器

LISTENER = 
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = final.c3ixwyhkuph6.ap-south-1.rds.amazonaws.com)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
    )
  )

名称

FINAL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 'final.c3ixwyhkuph6.ap-south-1.rds.amazonaws.com')(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = final)
    )
  )

LISTENER_FINAL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = final.c3ixwyhkuph6.ap-south-1.rds.amazonaws.com)(PORT = 1521))

从这个截图可以看出

AWS RDS 描述屏幕截图

主机名是'final.c3ixwyhkuph6.ap-south-1.rds.amazonaws.com',端口号是1521。另外,这里的SID是'final'。这些已由我上面的 TNSNAMES 和 LISTENER 条目正确添加。

但是,当我尝试连接时,我得到以下信息

SQL Developer 上的错误

状态失败 - 测试失败:IO 错误:网络适配器无法建立连接。

错误的根源可能是什么?

标签: oracleoracle-sqldeveloperamazon-rds

解决方案


  1. 确保您在 SQL Developer 中的 SID 是您在 AWS 上的数据库名称,并且您使用的是正确的用户名。在您的屏幕截图中,您将其设置为 SYSTEM,但 AWS 上的默认用户名是 admin。转到 AWS 中的配置页面并验证以下屏幕截图中突出显示的部分:

AWS RDS 配置页面的屏幕截图

  1. 假设您在上面的配置页面中的数据库名称确实是“最终的”,您应该在 SQL Developer 中选择SID选项而不是服务名称,并输入“最终”,如下面的片段所示。

SQL Developer 的片段


推荐阅读