监听配置文件未改动,,只有1522能用1521配置没问题不能用
sqlnet.log报错
VERSION INFORMATION:
TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
Windows NT TCP/IP NT Protocol Adapter for 64-bit Windows: Version 11.2.0.1.0 - Production
Time: 23-4月 -2020 14:33:32
Tracing not turned on.
Tns error struct:
ns main err code: 12564
TNS-12564: TNS: 拒绝连接
ns secondary err code: 0
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
服务用的orcl初始服务,客户说只手动添加了1522的就可以用
ID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:apphbydidcproduct11.2.0dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:apphbydidcproduct11.2.0dbhome_1inoraclr11.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = C:apphbydidcproduct11.2.0dbhome_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = *******)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = *******))(PORT = 1522))
)
)
C:UsersAdministrator>lsnrctl status
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 24-4月 -2020 15:5
3:57
Copyright (c) 1991, 2010, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ
ction
启动日期 23-4月 -2020 17:52:19
正常运行时间 0 天 22 小时 1 分 38 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 C:apphbydidcproduct11.2.0dbhome_1
etworkadminl
istener.ora
监听程序日志文件 c:apphbydidcdiag nslsnrWINDOWS-MN9JOQGlistenera
lertlog.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WINDOWS-MN9JOQG)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=*******))(PORT=1522)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=*******))(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "ORCLXDB" 包含 2 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 3 个实例。
实例 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功
LSNRCTL> services
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
处理程序:
"DEDICATED" 已建立:0 已被拒绝:0
LOCAL SERVER
服务 "ORCLXDB" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
处理程序:
"D000" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready
DISPATCHER <machine: IDCSERVER1, pid: 3828>
(ADDRESS=(PROTOCOL=tcp)(HOST=IDCSERVER1)(PORT=49168))
服务 "orcl" 包含 2 个实例。
实例 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
处理程序:
"DEDICATED" 已建立:1 已被拒绝:0
LOCAL SERVER
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...---<<<<<<<<<<<<< 服务中有动态注册的orcl服务
处理程序:
"DEDICATED" 已建立:7 已拒绝:0 状态:ready
REMOTE SERVER
(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))
命令执行成功
LSNRCTL> services
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=orcl)))
服务摘要..
服务 "ORCLXDB" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
处理程序:
"D000" 已建立:0 已被拒绝:0 当前: 0 最大: 1022 状态: ready
DISPATCHER <machine: IDCSERVER1, pid: 3828>
(ADDRESS=(PROTOCOL=tcp)(HOST=IDCSERVER1)(PORT=49168))
服务 "orcl" 包含 2 个实例。
实例 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
处理程序:
"DEDICATED" 已建立:2 已被拒绝:0
LOCAL SERVER
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序... <<<<<<<<<<<<<<<<<<<<<<<
处理程序:
"DEDICATED" 已建立:0 已拒绝:0 状态:ready
REMOTE SERVER <<<<<<<<<<<<<<<<<<<<<< 有远程注册过来的orcl 不正常
(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))
这是监听投毒
暂时解决方法,新添加了一个服务,myorcl,并且静态注册,可以正常使用, local_listener设置成别的地方,不让动态注册 '127.0.0.0:1524'
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
启动日期 26-4月 -2020 15:38:56
正常运行时间 0 天 22 小时 59 分 34 秒
跟踪级别 off
安全性 ON: Password
SNMP OFF
监听程序参数文件 C:apphbydidcproduct11.2.0dbhome_1
etworkadminlistener.ora
监听程序日志文件 c:apphbydidcdiag nslsnrWINDOWS-MN9JOQGlisteneralertlog.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=*******))(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=*******))(PORT=1522)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "ORCLXDB" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "myorcl" 包含 1 个实例。
实例 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功
SID_NAME,KEY 的值修改为要访问的oracle实例的名称,HOST 修为 oracle 服务器使用的地址
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:apphbydidcproduct11.2.0dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:apphbydidcproduct11.2.0dbhome_1inoraclr11.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = myorcl)
(ORACLE_HOME = C:apphbydidcproduct11.2.0dbhome_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = *******))(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = *******))(PORT = 1522))
)
)
ADR_BASE_LISTENER = C:apphbydidc
#----ADDED BY TNSLSNR 24-4月 -2020 16:51:25---
PASSWORDS_LISTENER = 6EB4D57DED041889
#---------------------------------------------
ADMIN_RESTRICTIONS_LISTENER=ON
LOCAL_OS_AUTHENTICATION_LISTENER=OFF
SQL> show parameter service
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names string orcl
SQL> show parameter local
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string
log_archive_local_first boolean TRUE
parallel_force_local boolean FALSE
LSNRCTL> status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=WINDOWS-MN9JOQG)(PORT=1521)))
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
64-bit Windows Error: 61: Unknown error
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
启动日期 26-4月 -2020 15:38:56
正常运行时间 0 天 23 小时 23 分 34 秒
跟踪级别 off
安全性 ON: Password
SNMP OFF
监听程序参数文件 C:apphbydidcproduct11.2.0dbhome_1
etworkadminlistener.ora
监听程序日志文件 c:apphbydidcdiag nslsnrWINDOWS-MN9JOQGlisteneralertlog.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=*******))(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=*******))(PORT=1522)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "ORCLXDB" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "myorcl" 包含 1 个实例。
实例 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功
C:Userso>sqlplus *****/*******@*******:1521/orcl
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 4月 27 14:54:24 2020
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
请输入用户名:
C:Userso>sqlplus *****/*******@*******:1521/myorcl
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 4月 27 14:54:31 2020
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> exit
从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断
开
C:UsersAdministrator>netca
Oracle Net Services 配置:
正在配置监听程序:LISTENER
ServiceAliasException: 无法保存服务别名: TNS-04406: 对象已经存在
默认本地命名配置完成。
监听程序配置完成。
Oracle Net 监听程序启动:
正在运行监听程序控制:
C:apphbydidcproduct11.2.0dbhome_1inlsnrctl start LISTENER
监听程序控制完成。
正在设置监听程序服务以便自动启动。
监听程序已成功启动。
成功完成 Oracle Net Services 配置。退出代码是0
C:UsersAdministrator>lsnrctl status
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 27-4月 -2020 15:18:49
Copyright (c) 1991, 2010, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=WINDOWS-MN9JOQG)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
启动日期 27-4月 -2020 15:17:20
正常运行时间 0 天 0 小时 1 分 33 秒
跟踪级别 off
安全性 OFF
SNMP OFF
监听程序参数文件 C:apphbydidcproduct11.2.0dbhome_1
etworkadminlistener.ora
监听程序日志文件 c:apphbydidcdiag nslsnrWINDOWS-MN9JOQGlisteneralertlog.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WINDOWS-MN9JOQG)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=******)(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 2 个处理程序...
服务 "ORCLXDB" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功
重新配置后仍然无法识别
C:Userso>sqlplus *****/*******@*******:1521/orcl
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 4月 27 15:12:50 2020
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
请输入用户名: exit
输入口令:
ERROR:
ORA-01005: 给出空口令; 登录被拒绝
C:UsersAdministrator> 监听日志摘取的服务注册时间,11G默认每隔1分钟左右自动注册一次
27-4月 -2020 17:12:19 * service_register * orcl * 0
27-4月 -2020 17:12:40 * service_update * orcl * 0
27-4月 -2020 17:13:38 * service_update * orcl * 0
27-4月 -2020 17:13:41 * service_update * orcl * 0
27-4月 -2020 17:14:41 * service_update * orcl * 0
27-4月 -2020 17:14:47 * ping * 0
27-4月 -2020 17:15:29 * service_update * orcl * 0
27-4月 -2020 17:15:33 * service_update * orcl * 0
27-4月 -2020 17:15:42 * service_update * orcl * 0
27-4月 -2020 17:13:21 * (CONNECT_DATA=(SID=ORCL)(CID=(PROGRAM=C:apphbydidcproduct11.2.0dbhome_1perlinperl.exe)(HOST=WINDOWS-MN9JOQG)(USER=SYSTEM))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.126.133.17)(PORT=52095)) * establish * ORCL * 0
解决办法:
如果是11.2.0.4之前版本,特别是在rac环境中,如果要整改该问题相对比较麻烦,需要通过配置Oracle wallet来实现,配置比较复杂,而且还要重启实例,影响比较大,具体参考:Using Class of Secure Transport (COST) to Restrict Instance Registration in Oracle RAC (Doc ID 1340831.1)
如果是11.2.0.4之前版本,特别是在rac环境中,如果要整改该问题相对比较麻烦,需要通过配置Oracle wallet来实现,配置比较复杂,而且还要重启实例,影响比较大,具体参考:Using Class of Secure Transport (COST) to Restrict Instance Registration in Oracle RAC (Doc ID 1340831.1)
单机环境需要打补丁12880299
从11.2.0.4开始Oracle引入了Valid Node Checking For Registration (VNCR)新特性,可以通过简单的配置即可完成该漏洞修复
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">