我有错误?我的pl / Sql Developer说我的oracle数据库找不到服务描述符但是当我检查监听器时我得到了这个错误。
LSNRCTL> start
Starting tnslsnr: please wait...
Service OracleOraDb10g_home1TNSListener already running.
TNS-12560: TNS:protocol adapter error
TNS-00530: Protocol adapter error
LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
32-bit Windows Error: 61: Unknown error
我的listener.ora的内容是
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = Oracle10g)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
和 tnsnames.ora内容是这个
# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
VMOBILE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
VMOBILEMASTER =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = ORCL)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
请问这个晚上有截止日期。请帮忙。
答案 0 :(得分:2)
这可能是一个配置问题,这意味着我们很难远程解决。你需要检查的两件事是
LISTENER.ORA
文件中的条目与您的TNSNAMES.ORA
文件hosts
文件中的信息是正确的。这是您尝试连接的本地或远程数据库吗?
修改强>
主机文件(在Windows环境中)位于
之类的位置C:\WINDOWS\system32\drivers\etc
显然,这取决于您的环境设置方式(不同的驱动器号或其他)。
修改强>
您需要侦听器文件中的GLOBAL_DBNAME
以匹配tnsnsames文件中的SERVICE_NAME
,即ORCL
答案 1 :(得分:0)
错误可能在listener.ora
文件中。尝试使用名称或运行侦听器的服务器的IP号替换行localhost
中的(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
。
答案 2 :(得分:0)
我用ipconfig告诉你的是你正在使用的IP地址替换localhost。
答案 3 :(得分:0)
不幸的是,这种错误可能会在各种情况下发生。
答案 4 :(得分:0)
我今天通过从cmd.exe运行 LSNRCTL start 解决了此错误消息,已启动"作为管理员"。
我有' localhost' listener.ora和tnsnames.ora中的服务器。我在sql.ini
中也有SQLNET.AUTHENTICATION_SERVICES =(NONE)在我尝试使用LSNRCTL.EXE之前,我还没有在Windows服务列表中进行监听器服务。来自管理员cmd的 LSNRCTL start 命令为我做了。