我的本地计算机上有一个Oracle数据库。像每天一样,我必须在继续工作之前查看状态并启动Oracle的监听器。但今天我收到了一个错误。
C:\Windows\system32>lsnrctl status
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 20-DEC-2017 14:53:09
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
64-bit Windows Error: 61: Unknown error
" HOST"参数错过了该值。我试着编辑这两个文件" listener.ora"和" tnsnames.ora"解决问题但没有发生任何事情。
这是" listener.ora"的内容。文件:
# listener.ora Network Configuration File: F:\PHUOC\OracleCSDL\product\11.2.0\dbhome_2\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = F:\PHUOC\OracleCSDL\product\11.2.0\dbhome_2)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:F:\PHUOC\OracleCSDL\product\11.2.0\dbhome_2\bin\oraclr11.dll")
)
(SID_DESC =
(SID_NAME = test
(ORACLE_HOME = F:\PHUOC\OracleCSDL\product\11.2.0\dbhome_2)
(PROGRAM = dg4odbc)
(ENVS = "EXTPROC_DLLS=ONLY:F:\PHUOC\OracleCSDL\product\11.2.0\dbhome_2\bin\oraclr11.dll")
)
(SID_DESC =
(SID_NAME = LINKSQL
(ORACLE_HOME = F:\PHUOC\OracleCSDL\product\11.2.0\dbhome_2)
(PROGRAM = dg4msql)
(ENVS = "EXTPROC_DLLS=ONLY:F:\PHUOC\OracleCSDL\product\11.2.0\dbhome_2\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-E6UVA39)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
)
)
ADR_BASE_LISTENER = F:\PHUOC\OracleCSDL
这是" tnsnames.ora"的内容。文件:
# tnsnames.ora Network Configuration File: F:\PHUOC\OracleCSDL\product\11.2.0\dbhome_2\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_SCADA =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
SCADA =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = Scada)
)
)
sqlserver =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = test)
)
)
LINKSQL =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = localhost)
(PORT = 1521)
)
(ADDRESS =
(PROTOCOL = TCP)
(HOST = localhost)
(PORT = 1522)
)
(CONNECT_DATA =
(SID=LINKSQL)
)
)
然后这是" sqlnet.ora"的内容。文件:
# sqlnet.ora Network Configuration File: F:\PHUOC\OracleCSDL\product\11.2.0\dbhome_2\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
我的" OracleTNSListener"还有一件事。正在运行,这是图像:Image for Oracle Listener Service
我搜索了有关Oracle的每个网页,但我找不到解决方案。我认为这是我解决问题的最后机会。
请帮助我!
提前致谢。希望得到帮助!
答案 0 :(得分:1)
在搜索了所有关于Oracle的论坛后,我可以获得帮助,我通过删除MSSQL的数据库网关解决了我的问题。我不知道发生了什么,但这不是最好的答案。至少我可以解决我的问题。
感谢大家的帮助!
答案 1 :(得分:0)
您是否尝试过解决方案,因为(很多)Windows问题已解决:重新启动计算机?