无法从SQL Developer连接到EC2 Linux框中的Oracle数据库。 TNS监听器错误

时间:2013-01-10 15:36:42

标签: amazon-ec2 oracle11g tnsnames

我创建了一个EC2 linux盒子:Oracle Database 11.2.0.1 64位标准版1(ami-31739c58)。实例正常运行。我可以通过键入:

使用ssh(Mac OS Lion中的终端)从我的个人计算机连接到盒子
ssh -i predikto1.pem root@ec2-54-235-243-231.compute-1.amazonaws.com

我通过TNS创建了一个新的EC2安全组开放端口1521。我更新了我的tnsnames.ora文件以包含正确的公共DNS。我能够使用我的笔记本电脑(Macbook Air)中的SQL Developer连接到Oracle数据库。

我停止了EC2实例,等了几天,然后开始备份实例。公共DNS名称已更改。所以我去了我的计算机上的tnsnames.ora文件并更新了主机字段以反映我最新的(新的)公共DNS:

oradb=
(DESCRIPTION= 
(ADDRESS=(PROTOCOL=tcp)(HOST=ec2-54-235-243-231.compute-1.amazonaws.com)(PORT=1521))
(CONNECT_DATA=
(SID = oradb)
)
)

我尝试使用SQL开发人员将我的笔记本电脑连接到EC2上的Oracle DB并获得

  

错误:TNS Listener当前不知道连接描述符中给出的SID。

我尝试通过EC2实例屏幕创建弹性IP,然后将其分配给实例。没有运气取代主机ec2-54-235-243-231.compute-1.amazonaws.com获取TNSNAMES.ORA文件中的IP地址(IP为54.235.243.231)。我重新开始了什么都没有。

2 个答案:

答案 0 :(得分:0)

“EC2安全组”的“数据库安全组”中的状态是“授权”吗?

答案 1 :(得分:0)

尝试使用AWS RDS而不是AMI。它非常容易设置。我花了几天调整AWS AMI for Oracle(从版本11开始,有问题,然后切换到12,再次调整......)。使用AWS RDS,您可以设置所需的任何版本(11,12,回滚到11等)。所有这些设置比单独配置更容易。

使用RDS - 您可以设置oracle用户名,密码,轻松查看何时运行,停止它,IP地址,管理访问等等(所有这些都来自UI控制台,无需SSH连接到任何服务器)..