我在虚拟机中设置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)
2条答案
按热度按时间a2mppw5e1#
您应该检查您的listener.ora和tnsnames.ora。请确保正确定义了sid名称。
在连接描述符上设置“xe”(如屏幕截图所示),并应设置“orcl 12 c”。
对于用户名和密码,请尝试:
系统/管理器
系统/管理器
iyr7buue2#
以下是我的案例中的问题:(虽然有些差异:我使用服务orcl进行连接,使用Oracle虚拟实验室设备进行数据库链接:(第10页)
根本原因
通常涉及两个TNS监听程序:
这就是问题所在。自然地,SQL连接将链接到本地TNS侦听器,而不是虚拟盒。
解决方法
在连接中使用不同的端口(1522),并在虚拟机的NAT网络适配器上设置端口转发(1522 → 1521)
我注意到,当我可以从集成在VirtualBox映像中的sql developer连接时,我也可以在我的Windows笔记本电脑的服务中看到一个TNS侦听器。SSH连接也工作正常(端口转发2222 -〉22)。