Windows10下TNS-01190错误
1、环境和问题现象:
Windows10
oracle11g 1102040
登录监听控制台,不能停止、重启监听服务:
C:\Users\App>lsnrctl stop
LSNRCTL for 64-bit Windows: Version 11.2.0.4.0 - Production on 14-9月 -2021 17:42:43
Copyright (c) 1991, 2013, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-01190: 用户无权执行所请求的监听程序命令
2、原因
TNS-01190: 用户无权执行所请求的监听程序命令
以前在linux系统下没有遇到过,因为数据库都是oracle用户管理的,在windows下没有配置对应的数据库用户,所以有权限问题。
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 11.2.0.4.0 - Production
启动日期 15-9月 -2021 07:50:41
正常运行时间 0 天 0 小时 6 分 49 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 C:\app\product\11.2.0\dbhome_1\network\admin\listener.ora
监听程序日志文件 C:\app\diag\tnslsnr\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=SERVICEDH)(PORT=1521)))
服务摘要..
服务 "servicedh" 包含 1 个实例。
实例 "servicedh", 状态 UNKNOWN, 包含此服务的 2 个处理程序...
命令执行成功
LSNRCTL>
注意上面的状态信息:
安全性:ON: Local OS Authentication
此条提示信息表明监听处于Local OS Authentication认证模式.
Oracle 10g版本以及之后的版本中推出了监听的本地操作系统认证安全特性.若监听程序是在当前用户下启动的,则当前用户具有管理监听的所有权利,其他用户对监听的管理将受到限制。
3、解决方法
设置成管理员运行。
目录%ORACLE_HOME%\bin下找文件LSNRCTL.EXE,改变LSNRCTL.EXE文件的属性。
以后就是运行lsnrctl命令都有一个提示管理员运行的提示信息。