在AWS EC2上连接oracle XE db-为内部和外部IP配置TNSLISstenr

svujldwt  于 2023-04-05  发布在  Oracle
关注(0)|答案(2)|浏览(180)

我正在尝试连接到AWS EC2示例上的Oracle XE示例。我找到了以下答案:Connecting dto an oracle database running on ec2。答案给出了一些我已经找到的信息,并谈到如果端口被阻塞,使用SSH。但我不认为这是问题所在。
所有AWS EC2示例都有内部和外部IP。默认情况下,XE安装为内部IP配置了tnsnames和listener。是否可以为两个IP配置listener?当我还是个小婴儿时,我在Oracle工作。即使在那时我也记得这些文件有问题。现在在我年老的时候,我不知道。

fsi0uk1n

fsi0uk1n1#

@alex-poole,谢谢你的帮助。不得不再做一些修改来让一切正常工作。
TNSNAMES和Listner中的默认配置太多了,如果你添加了新的东西,它似乎会被破坏。
1.在TNSNAMES中,我为服务名而不是SID保留了一个配置,并按照您的建议添加了外部IP。

XE =
 (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = XXX.XXX.XXX.XXX)(PORT = 1521))
   (ADDRESS = (PROTOCOL = TCP)(HOST = YYY.YYY.YYY.YYY)(PORT = 1521))
   (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SERVICE_NAME = XE)
   )
 )

1.在Listner文件中,我只是将XE服务设置为默认值。

DEFAULT_SERVICE_LISTENER = XE

1.有了上面的配置,我就能够在服务器上连接SQLEdeperter了。
1.通过使用SQLEdeveloper中的SSH连接,我就可以从笔记本电脑进行连接了。

bttbmeg0

bttbmeg02#

@alex-poole,我也在想SSH的事情,但是没有它它就不能工作。所以你能帮助我理解这里到底发生了什么吗?在服务器上,你看到我已经把两个IP都放到了XE服务下的TNSNAMES中(这是正确的引用方式吗?)然后在Listener.ora中,我只是指向XE服务,不是吗?
在服务器上,这是lsnrctl status的输出

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 64-bit Windows: Version 21.0.0.0.0 - Production
Start Date                04-APR-2023 12:39:14
Uptime                    0 days 1 hr. 19 min. 54 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           XE
Listener Parameter File   C:\app\Administrator\product\21c\homes\OraDB21Home1\network\admin\listener.ora
Listener Log File         C:\app\Administrator\product\21c\diag\tnslsnr\EC2AMAZ-21HKFFG\listener\alert\log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=[AWSHOSTNAME])(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=127.0.0.1)(PORT=5500))(Security=(my_wallet_directory=C:\APP\ADMINISTRATOR\PRODUCT\21C\admin\XE\xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "XE" has 1 instance(s).
  Instance "xe", status READY, has 2 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
  Instance "xe", status READY, has 1 handler(s) for this service...
Service "d87270c138ed4411b8c05fba94d15f4a" has 1 instance(s).
  Instance "xe", status READY, has 2 handler(s) for this service...
Service "xepdb1" has 1 instance(s).
  Instance "xe", status READY, has 2 handler(s) for this service...
The command completed successfully
PS C:\Users\Administrator>

所以xe示例似乎已经创建了服务XE,XEDB,d87270 c138 ed 4411 b8 c 05 fba 94 d15 f4 a,xedb 1 services?我想我不知道这是什么意思。
在客户端,我既没有tnsnames也没有listener,这就是为什么我想我需要使用SSH连接?我安装了oracle instant client,但我没有看到任何迹象表明sqldev正在以任何方式使用它。
这是没有SSH的连接尝试(不工作)x1c 0d1x
这是与SSH的连接(可以工作)

相关问题