一、客户端操作如下: 1.客户端连接异常从报错来看似乎是监听的问题 C:\Documents and Settings\Administrator>sqlplus system/abc123@orcl SQL*Plus: Release 10.2.0.1.0 – Production on 星期二 12月 2 13:21:16 2014 Copyright (c) 1982, 2005, Oracle . All rights reserved. ERROR: ORA-12545: 因目标主机或对象不存在, 连接失败 请输入用户名: 2.tnsping检查连接串配置及服务器监听状态 C:\Documents and Settings\Administrator>tnsping orcl TNS Ping Utility for 32- bi t Windows: Version 10.2.0.1.0 – Production on 02-12月-2014 13:22:17 Copyright (c) 1997, 2005, Oracle. All rights reserved. 已使用的参数文件: F:\ oracle \product\10.2.0\db_1\network\admin\sqlnet.ora 已使用 TNSNAMES 适配器来解析别名 Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.0.94)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0 .93)(PORT = 1521)) (LOAD_BALANCE = yes)) (CONNECT_DATA = (SERVER = SHARED) (SERV ICE_NAME = orcl) (FAILOVER_MODE = (TYPE = SELECT) (METHOD = BASIC)))) OK (30 毫秒) 从tnsping的测试来看,连接串监听都正常 tnsnames连接串如下: ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.94)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.93)(PORT = 1521)) (LOAD_BALANCE = yes) ) (CONNECT_DATA = (SERVER = SHARED) (SERVICE_NAME = orcl) (FAILOVER_MODE = (TYPE = SELECT) (METHOD = BASIC) ) ) ) ORCL2 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.93)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = SHARED) (SERVICE_NAME = orcl) (INSTANCE_NAME = orcl2) ) ) ORCL1 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.94)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = SHARED) (SERVICE_NAME = orcl) (INSTANCE_NAME = orcl1) ) ) 3.由于是生产库是rac环境的尝试单节点登入 C:\Documents and Settings\Administrator>sqlplus system/abc123@orcl1 SQL*Plus: Release 10.2.0.1.0 – Production on 星期二 12月 2 13:26:17 2014 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bit Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options SQL> exit 从 Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bit Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options 断开 C:\Documents and Settings\Administrator>sqlplus system/abc123@orcl2 SQL*Plus: Release 10.2.0.1.0 – Production on 星期二 12月 2 13:26:24 2014 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bit Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options 从单节点的登入来看配置都正常而且可以正常连接,问题很奇怪为了进一步排查开启开启客户端跟踪 配置如下: 在客户端的sqlnet.ora文件中添加如下内容: TRACE_LEVEL_CLIENT=16 TRACE_FILE_CLIENT=CLIENT TRACE_TIMESTAMP_CLIENT=ON trace_directory_client=D:\oracle\product\10.2.0\db_1\network\ADMIN 4.重新用客户端登入收集跟踪信息 跟踪信息如下: [02-12月-2014 14:10:32:968] nsmfr: normal exit [02-12月-2014 14:10:32:968] nsmfr: entry [02-12月-2014 14:10:32:968] nsmfr: 736 bytes at 0xe4b9d8 [02-12月-2014 14:10:32:968] nsmfr: normal exit [02-12月-2014 14:10:32:968] nsclose: normal exit [02-12月-2014 14:10:32:968] nscall: connecting… [02-12月-2014 14:10:32:968] nsc2addr: entry [02-12月-2014 14:10:32:968] nsc2addr: (ADDRESS=(PROTOCOL=tcp)(HOST=hp)(PORT=3554)) [02-12月-2014 14:10:32:968] nttbnd2addr: entry [02-12月-2014 14:10:32:968] snlinGetAddrInfo: entry [02-12月-2014 14:10:32:968] snlinGetAddrInfo: Invalid IP address string hp [02-12月-2014 14:10:32:968] snlinFreeAddrInfo: entry [02-12月-2014 14:10:32:968] snlinFreeAddrInfo: exit [02-12月-2014 14:10:32:968] snlinGetAddrInfo: exit [02-12月-2014 14:10:32:968] nttbnd2addr: looking up IP addr for host: hp [02-12月-2014 14:10:32:968] snlinGetAddrInfo: entry [02-12月-2014 14:10:35:218] snlinGetAddrInfo: Name resolution failed for hp [02-12月-2014 14:10:35:218] snlinFreeAddrInfo: entry [02-12月-2014 14:10:35:218] snlinFreeAddrInfo: exit [02-12月-2014 14:10:35:218] snlinGetAddrInfo: exit [02-12月-2014 14:10:35:218] nttbnd2addr: *** hostname lookup failure! *** [02-12月-2014 14:10:35:218] nttbnd2addr: exit [02-12月-2014 14:10:35:218] nserror: entry [02-12月-2014 14:10:35:218] nserror: nsres: id=0, op=77, ns=12545, ns2=12560; nt[0]=515, nt[1]=1001, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0 [02-12月-2014 14:10:35:218] nsc2addr: error exit 从以上跟踪信息 [02-12月-2014 14:10:32:968] nsc2addr: (ADDRESS=(PROTOCOL=tcp)(HOST=hp)(PORT=3554)) [02-12月-2014 14:10:32:968] nttbnd2addr: entry [02-12月-2014 14:10:32:968] snlinGetAddrInfo: entry [02-12月-2014 14:10:32:968] snlinGetAddrInfo: Invalid IP address string hp 当我们尝试使用orcl连接串连接是被路由到了HP这个主机,可是tnsnames.ora连接串里面根本没有配置相关的信息,那怎么会呢 从客户端的配置似乎查不出什么原因 二、服务器端配置查看 1.查看生产库的local_listener和remote_listener配置 SQL> show parameter local NAME TYPE VALUE ———————————— ———– —————————— local_listener string (address=(protocol=tcp)(host=192.168.0.93)(port=1521)) SQL> show parameter remote NAME TYPE VALUE ———————————— ———– —————————— remote_listener string LISTENERS_ORCL 从配置上来看都没有任何异常 2.查看生产库的监听状态 C:\Documents and Settings\Administrator>lsnrctl status LSNRCTL for 64-bit Windows: Version 10.2.0.4.0 – Production on 02-12月-2014 14:15:29 Copyright (c) 1991, 2007, Oracle. All rights reserved. 正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) LISTENER 的 STATUS ———————— 别名 LISTENER 版本 TNSLSNR for 64-bit Windows: Version 10.2.0.4.0 – Production 启动日期 24-11月-2014 20:52:17 正常运行时间 7 天 17 小时 23 分 13 秒 跟踪级别 off 安全性 ON: Local OS Authentication SNMP OFF 监听程序参数文件 D:\oracle\product\10g\network\admin\listener.ora 监听程序日志文件 D:\oracle\product\10g\network\log\listener.log 监听端点概要… (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=svr01)(PORT=1521))) 服务摘要.. 服务 "+ ASM " 包含 1 个例程。 例程 "+ asm 2", 状态 BLOCKED, 包含此服务的 1 个处理程序… 服务 "+ASM_XPT" 包含 1 个例程。 例程 "+asm2", 状态 BLOCKED, 包含此服务的 1 个处理程序… 服务 "orcl" 包含 3 个例程。 例程 "orcl1", 状态 READY, 包含此服务的 31 个处理程序… 例程 "orcl2", 状态 READY, 包含此服务的 32 个处理程序… 例程 "orclstd", 状态 READY, 包含此服务的 2 个处理程序… 服务 "orcl_XPT" 包含 3 个例程。 例程 "orcl1", 状态 READY, 包含此服务的 31 个处理程序… 例程 "orcl2", 状态 READY, 包含此服务的 32 个处理程序… 例程 "orclstd", 状态 READY, 包含此服务的 2 个处理程序… 命令执行成功 从监听来看似乎也看不出什么端倪 3.生产库尝试用orcl连接串连接 C:\Documents and Settings\Administrator>sqlplus system/abc123@orcl SQL*Plus: Release 10.2.0.4.0 – Production on 星期二 12月 2 13:45:51 2014 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select instance_name from v$instance; INSTANCE_NAME —————- orclstd SQL> show parameter remote NAME TYPE VALUE ———————————— ———– —————————— remote_listener string LISTENERS_ORCL C:\Documents and Settings\Administrator>tnsping listeners_orcl TNS Ping Utility for 64-bit Windows: Version 10.2.0.4.0 – Production on 02-12月-2014 14:01:53 Copyright (c) 1997, 2007, Oracle. All rights reserved. 已使用的参数文件: D:\oracle\product\10g\network\admin\sqlnet.ora 已使用 TNSNAMES 适配器来解析别名 Attempting to contact (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = svr02-vip)(PORT = 1521)) (ADDRESS = ( PROTOCOL = TCP)(HOST = svr01-vip)(PORT = 1521))) OK (20 毫秒) C:\Documents and Settings\Administrator>sqlplus / as sysdba SQL*Plus: Release 10.2.0.4.0 – Production on 星期二 12月 2 14:01:02 2014 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bit Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options SQL> select instance_name from gv$instance; INSTANCE_NAME —————- orcl2 orcl1 从以上的连接来看其实已经很明显了,当时用orcl连接串连接时连接到orclstd,由于orclstd库remote_listener参数所引起, orclstd库在远程注册实例状态了,然后路由到备机了,导致生产使用orcl报错。 注 orclstd这个库是利用生产的rman备份恢复回来的数据库) 4.查看生产监听状态正式以上判断 C:\Documents and Settings\Administrator>lsnrctl status LSNRCTL for 64-bit Windows: Version 10.2.0.4.0 – Production on 02-12月-2014 14:15:29 Copyright (c) 1991, 2007, Oracle. All rights reserved. 正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) LISTENER 的 STATUS ———————— 别名 LISTENER 版本 TNSLSNR for 64-bit Windows: Version 10.2.0.4.0 – Production 启动日期 24-11月-2014 20:52:17 正常运行时间 7 天 17 小时 23 分 13 秒 跟踪级别 off 安全性 ON: Local OS Authentication SNMP OFF 监听程序参数文件 D:\oracle\product\10g\network\admin\listener.ora 监听程序日志文件 D:\oracle\product\10g\network\log\listener.log 监听端点概要… (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=svr01)(PORT=1521))) 服务摘要.. 服务 "+ASM" 包含 1 个例程。 例程 "+asm2", 状态 BLOCKED, 包含此服务的 1 个处理程序… 服务 "+ASM_XPT" 包含 1 个例程。 例程 "+asm2", 状态 BLOCKED, 包含此服务的 1 个处理程序… 服务 "orcl" 包含 3 个例程。 例程 "orcl1", 状态 READY, 包含此服务的 31 个处理程序… 例程 "orcl2", 状态 READY, 包含此服务的 32 个处理程序… 例程 "orclstd", 状态 READY, 包含此服务的 2 个处理程序… 服务 "orcl_XPT" 包含 3 个例程。 例程 "orcl1", 状态 READY, 包含此服务的 31 个处理程序… 例程 "orcl2", 状态 READY, 包含此服务的 32 个处理程序… 例程 "orclstd", 状态 READY, 包含此服务的 2 个处理程序… –确实证实了一上判断,罪魁祸首 命令执行成功 5.证实备机是否主机名为hp C:\Documents and Settings\Administrator>hostname hp C:\Documents and Settings\Administrator>ping hp Pinging hp [192.168.0.80] with 32 bytes of data: Reply from 192.168.0.80: bytes=32 time<1ms TTL=128 二、处理方法 1.注销备机的remote_listener alter system set remote_listener='' scope=both; 2.生产库重新reload监听 C:\Documents and Settings\Administrator>lsnrctl reload LSNRCTL for 64-bit Windows: Version 10.2.0.4.0 – Production on 02-12月-2014 14:18:51 Copyright (c) 1991, 2007, Oracle. All rights reserved. 正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) 命令执行成功 C:\Documents and Settings\Administrator>lsnrctl status LSNRCTL for 64-bit Windows: Version 10.2.0.4.0 – Production on 02-12月-2014 14:18:57 Copyright (c) 1991, 2007, Oracle. All rights reserved. 正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) LISTENER 的 STATUS ———————— 别名 LISTENER 版本 TNSLSNR for 64-bit Windows: Version 10.2.0.4.0 – Production 启动日期 24-11月-2014 20:52:17 正常运行时间 7 天 17 小时 26 分 40 秒 跟踪级别 off 安全性 ON: Local OS Authentication SNMP OFF 监听程序参数文件 D:\oracle\product\10g\network\admin\listener.ora 监听程序日志文件 D:\oracle\product\10g\network\log\listener.log 监听端点概要… (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=svr01)(PORT=1521))) 服务摘要.. 服务 "+ASM" 包含 1 个例程。 例程 "+asm2", 状态 BLOCKED, 包含此服务的 1 个处理程序… 服务 "+ASM_XPT" 包含 1 个例程。 例程 "+asm2", 状态 BLOCKED, 包含此服务的 1 个处理程序… 服务 "orcl" 包含 2 个例程。 例程 "orcl1", 状态 READY, 包含此服务的 31 个处理程序… 例程 "orcl2", 状态 READY, 包含此服务的 1 个处理程序… 服务 "orcl_XPT" 包含 2 个例程。 例程 "orcl1", 状态 READY, 包含此服务的 31 个处理程序… 例程 "orcl2", 状态 READY, 包含此服务的 1 个处理程序… –orclstd已经消失了 命令执行成功 3.客户端再次利用orcl连接数据库正常 D:\>sqlplus system/abc123@orcl SQL*Plus: Release 10.2.0.1.0 – Production on 星期二 12月 2 14:21:01 2014 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bit Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options SQL> show parameter name NAME TYPE VALUE ———————————— ———– —————————— db_file_name_convert string db_name string orcl db_unique_name string orcl global_names boolean FALSE instance_name string orcl2 lock_name_space string log_file_name_convert string service_names string orcl
记一次remote_listener引发的错误
来源:这里教程网
时间:2026-03-03 18:11:50
作者:
编辑推荐:
- 记一次remote_listener引发的错误03-03
- 一个典型的存储I/O异常引起的故障03-03
- 层级查找并将层级拆分成多列03-03
- Oracle 10053跟踪诊断SQL03-03
- Linux性能优化之平均负载03-03
- 适当调大arraysize减少逻辑读03-03
- 利用dbms_stats.gather_database_stats包快速确定统计信息为空或陈旧的对象03-03
- 程序不足SQL来凑03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 记一次remote_listener引发的错误
记一次remote_listener引发的错误
26-03-03 - 一个典型的存储I/O异常引起的故障
一个典型的存储I/O异常引起的故障
26-03-03 - 层级查找并将层级拆分成多列
层级查找并将层级拆分成多列
26-03-03 - 国际物流报关中EDI和电子单有什么区别?
国际物流报关中EDI和电子单有什么区别?
26-03-03 - oracle adg备库归档满了无法同步
oracle adg备库归档满了无法同步
26-03-03 - plsqldevelper工具处理生僻字
plsqldevelper工具处理生僻字
26-03-03 - SQL语言基础(高级查询)
SQL语言基础(高级查询)
26-03-03 - SQL语言基础(多表连接)
SQL语言基础(多表连接)
26-03-03 - SQL语言基础(子查询)
SQL语言基础(子查询)
26-03-03 - Oracle某X系统SQL优化(案例六)
Oracle某X系统SQL优化(案例六)
26-03-03
