Oracle虚拟机:TNS:监听程序当前不知道连接描述符中给定的SID

jk9hmnmh  于 2022-12-03  发布在  Oracle
关注(0)|答案(2)|浏览(123)

我在虚拟机中设置Oracle时遇到此错误:TNS:Listener does not currently know of SID given in connect descriptor .
下面是我在Virtual Box上下载Oracle所采取的步骤:
1.已下载VirtualBox 5.2.0。
1.已获取Oracle数据库开发人员虚拟机文件(开发人员日VM 2017 -06-13_01.ova)。
1.已在虚拟箱中打开文件,并从虚拟箱中打开。
1.现在,当我在我的Mac机器上进入Sql Developer,并试图在Virtual Box中连接到oracle时,我得到了上面的错误。

出于某种原因当我这样做:telnet 127.0.0.1 1521看起来是可以的。但是当我通过Sql Developer做的时候,我在上面的图片中看到了红色的错误。有人能给予我一些提示吗?
我的tnsnames.ora文件:

ORCL12C =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl12c)
    )
  )

LISTENER_ORCL12C =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

listeners.ora档案:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl12c)
      (SID_NAME = orcl12c)
      (ORACLE_HOME = /u01/app/oracle/product/12.2/db_1)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
    )
  )

#HOSTNAME by pluggable not working rstriction or configuration error.
DEFAULT_SERVICE_LISTENER = (orcl12c)
a2mppw5e

a2mppw5e1#

您应该检查您的listener.ora和tnsnames.ora。请确保正确定义了sid名称。
在连接描述符上设置“xe”(如屏幕截图所示),并应设置“orcl 12 c”。
对于用户名和密码,请尝试:
系统/管理器
系统/管理器

iyr7buue

iyr7buue2#

以下是我的案例中的问题:(虽然有些差异:我使用服务orcl进行连接,使用Oracle虚拟实验室设备进行数据库链接:(第10页)
根本原因
通常涉及两个TNS监听程序:

TNS listener on your local PC coming from installed Oracle Client (localhost:1521)
TNS listener in Virtual machine coming from Virtual Lab Oracle DB (localhost:1521)

这就是问题所在。自然地,SQL连接将链接到本地TNS侦听器,而不是虚拟盒。
解决方法
在连接中使用不同的端口(1522),并在虚拟机的NAT网络适配器上设置端口转发(1522 → 1521)
我注意到,当我可以从集成在VirtualBox映像中的sql developer连接时,我也可以在我的Windows笔记本电脑的服务中看到一个TNS侦听器。SSH连接也工作正常(端口转发2222 -〉22)。

相关问题