电脑中的Oracle与PL/SQL重装后,无法用户登录,显示ORA-12541: TNS:no listener
第一步 查看监听的状态
C:\ > lsnrctl
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
64-bit Windows Error: 2: No such file or directory
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
64-bit Windows Error: 61: Unknown error
第二步 启动监听
LSNRCTL> start
启动tnslsnr: 请稍候...
TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
系统参数文件为F:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
写入f:\app\administrator\diag\tnslsnr\PC201508122322\listener\alert\log.xml的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
TNS-01155: 在 LISTENER.ORA 中指定的 SID_LIST_LISTENER 参数不正确
NL-00303: NV 字符串中存在语法错误
此处显示listener.ora文件有错误,至日志目录,检查发现SID_LIST中的括号不匹配,多了一个括号,修改文件后的文件如下:
# listener.ora Network Configuration File: F:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = F:\app\Administrator\product\11.2.0\dbhome_1)
(SID_NAME = ORCL)
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = F:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:F:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)
ADR_BASE_LISTENER = F:\app\Administrator
第三步 再次启动监听,已成功
LSNRCTL> start
启动tnslsnr: 请稍候...
TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
系统参数文件为F:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
写入f:\app\administrator\diag\tnslsnr\PC201508122322\listener\alert\log.xml的日
志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ
ction
启动日期 23-4月 -2016 18:14:34
正常运行时间 0 天 0 小时 0 分 5 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 F:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
监听程序日志文件 f:\app\administrator\diag\tnslsnr\PC201508122322\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "ORCL" 包含 1 个实例。
实例 "ORCL", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
# listener.ora Network Configuration File: F:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = F:\app\Administrator\product\11.2.0\dbhome_1)
(SID_NAME = ORCL)
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = F:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:F:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)
ADR_BASE_LISTENER = F:\app\Administrator
一、监听器的启动
1、启动命令行:
Unix系统:执行命令su -oracle
Window系统:执行命令cmd
2、启动命令行,orcl为监听器的名称:
法一、C:>lsnrctl start orcl
法二、C:>lsnrctl
LSNRCTL>start orcl
二、监听器的关闭
1、启动命令行:
Unix系统:执行命令su -oracle
Window系统:执行命令cmd
2、启动命令行,orcl为监听器的名称:
法一、C:>lsnrctl stop orcl
法二、C:>lsnrctl
LSNRCTL>stop orcl
二、监听器的状态
1、C:>lsnrctl
LSNRCTL>status
2、查看更加详细的信息
C:>lsnrctl
LSNRCTL>services