近来的reportDB无法从一开始就与系统收听,比较奇怪的现象。

由于server有听众的一个实例上正常启动,这是不是从开始监听器的实例手动启动是正常的。所以写下来未能找到离奇写的原因。

1、故障现象

Starting CRON daemondone
Oracle 10g auto start/stop
Startup "USMTHLY" listener.LSNRCTL for Linux: Version 10.2.0.3.0 - Production on 08-JUL-2014 17:05:49Copyright (c) 1991, 2006, Oracle.  All rights reserved.Starting /users/oracle/OraHome10g/bin/tnslsnr: please wait...TNSLSNR for Linux: Version 10.2.0.3.0 - Production
System parameter file is /users/oracle/OraHome10g/network/admin/listener.ora
Log messages written to /users/oracle/OraHome10g/network/log/listener_usmthly.log
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.101.1.106)(PORT=1520)))
TNS-12545: Connect failed because target host or object does not existTNS-12560: TNS:protocol adapter errorTNS-00515: Connect failed because target host or object does not existLinux Error: 99: Cannot assign requested address#上面的错误信息了来自系统启动日志。相同出如今该实例的监听器日志里。   #故障环境
oracle@sysreportDB:/users/oracle> cat /etc/issueWelcome to SUSE Linux Enterprise Server 10 SP4  (x86_64) - Kernel \r (\l).oracle@sysreportDB:/users/oracle> sqlplus -vSQL*Plus: Release 10.2.0.3.0 - Production#server启动后。检查数据库实例,2个实例都已成功启动
oracle@sysreportDB:~> ps -ef | grep pmon | grep -v grep
oracle    4916     1  0 Jul08 ?        00:00:00 ora_pmon_USMTHLY
oracle    5605     1  0 Jul08 ?        00:00:00 ora_pmon_USBO2oracle@sysreportDB:~> ps -ef | grep lsnr| grep -v grep      #只唯独usbo2的监听被启动
oracle    5597     1  0 Jul09 ?        00:00:00 /users/oracle/OraHome10g/bin/tnslsnr listener_USBO2 -inherit

2、故障分析

oracle@sysreportDB:~> oerr tns 12545
12545, 00000, "Connect failed because target host or object does not exist"
// *Cause: The address specified is not valid, or the program being
// connected to does not exist.
// *Action: Ensure the ADDRESS parameters have been entered correctly; the
// most likely incorrect parameter is the node name.  Ensure that the
// executable for the server exists (perhaps "oracle" is missing.)
// If the protocol is TCP/IP, edit the TNSNAMES.ORA file to change the
// host name to a numeric IP address and try again.
oracle@sysreportDB:~> oerr tns 12560
12560, 00000, "TNS:protocol adapter error"
// *Cause: A generic protocol adapter error occurred.
// *Action: Check addresses used for proper protocol specification. Before
// reporting this error, look at the error stack and check for lower level
// transport errors. For further details, turn on tracing and reexecute the
// operation. Turn off tracing when the operation is complete.
oracle@sysreportDB:~> oerr tns 00515
00515, 00000, "Connect failed because target host or object does not exist"
// *Cause: The address specified is not valid, or the program being
// connected to does not exist.
// *Action: Ensure the ADDRESS parameters have been entered correctly; the
// most likely incorrect parameter is the node name.  Ensure that the
// executable for the server exists (perhaps "oracle" is missing.)#上面的三个错误号描写叙述信息表明该故障与主机名或IP地址有关,须要检查是否为有效的IP或主机名
#以下查看监听器及TNSNAMES的配置
oracle@sysreportDB:/users/oracle/OraHome10g/network/admin> more listener.ora
SID_LIST_LISTENER_USMTHLY =(SID_LIST =(SID_DESC =(sid_name=USMTHLY)(oracle_home = /users/oracle/OraHome10g)))LISTENER_USMTHLY =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.101.1.106)(PORT = 1520)))))SID_LIST_LISTENER_USBO2 =(SID_LIST =(SID_DESC =(sid_name=USBO2)(oracle_home = /users/oracle/OraHome10g)))LISTENER_USBO2 =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.101.1.106)(PORT = 1504)))))oracle@sysreportDB:/users/oracle/OraHome10g/network/admin> more tnsnames.ora
USMTHLY=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.101.1.106)(PORT=1520))(CONNECT_DATA=(SERVICE_NAME=USMTHLY)))USBO2=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.101.1.106)(PORT=1504))(CONNECT_DATA=(SERVICE_NAME=USBO2)))
#从上面的配置来看,配置无异常。
#以下查看本机host及IP信息,从以下的描写叙述来看,主机host配置无异常
oracle@sysreportDB:~> more /etc/hosts
127.0.0.1       localhost# special IPv6 addresses
::1             localhost ipv6-localhost ipv6-loopbackfe00::0         ipv6-localnet
ff00::0         ipv6-mcastprefix
ff02::1         ipv6-allnodes
ff02::2         ipv6-allrouters
ff02::3         ipv6-allhosts
10.101.1.106    sysreportDB.2goasp.com sysreportDB  oracle@sysreportDB:~> hostname
sysreportDB
# Author : Leshami
# Blog   : http://blog.csdn.net/leshami#以下是其IP信息
oracle@sysreportDB:/var/log> ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:70:82:63inet addr:10.101.1.106  Bcast:10.201.1.255  Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:5763651 errors:0 dropped:0 overruns:0 frame:0TX packets:802254 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:8102327746 (7726.9 Mb)  TX bytes:88597013 (84.4 Mb)lo        Link encap:Local Loopback      #有环路能正常TX,RXinet addr:127.0.0.1  Mask:255.0.0.0UP LOOPBACK RUNNING  MTU:16436  Metric:1RX packets:92972 errors:0 dropped:0 overruns:0 frame:0TX packets:92972 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:4993723 (4.7 Mb)  TX bytes:4993723 (4.7 Mb)#尝试手动启动监听,手动启动监听无异常
oracle@sysreportDB:/var/log> lsnrctl start listener_USMTHLYLSNRCTL for Linux: Version 10.2.0.3.0 - Production on 08-JUL-2014 17:10:49Copyright (c) 1991, 2006, Oracle.  All rights reserved.Starting /users/oracle/OraHome10g/bin/tnslsnr: please wait...TNSLSNR for Linux: Version 10.2.0.3.0 - Production
System parameter file is /users/oracle/OraHome10g/network/admin/listener.ora
Log messages written to /users/oracle/OraHome10g/network/log/listener_usmthly.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sysreportDB.2goasp.com)(PORT=1520)))Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sysreportDB.2goasp.com)(PORT=1520)))
STATUS of the LISTENER
------------------------
Alias                     listener_USMTHLY
Version                   TNSLSNR for Linux: Version 10.2.0.3.0 - Production
Start Date                08-JUL-2014 17:10:50
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /users/oracle/OraHome10g/network/admin/listener.ora
Listener Log File         /users/oracle/OraHome10g/network/log/listener_usmthly.log
Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sysreportDB.2goasp.com)(PORT=1520)))
Services Summary...
Service "USMTHLY" has 1 instance(s).Instance "USMTHLY", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully#通过上面的測试可以看出,监听器可以正常启动也就是说监听器的配置应该是OK的。

#另外一点发现,系统启动日志里边有127.0.0.2的环路。不知道怎么会有127.0.0.2 Setting up network interfaces: lo lo IP address: 127.0.0.1/8 IP address: 127.0.0.2/8 oracle@sysreportDB:/var/log> ping 127.0.0.2 #环路127.0.0.2 OK PING 127.0.0.2 (127.0.0.2) 56(84) bytes of data. 64 bytes from 127.0.0.2: icmp_seq=1 ttl=64 time=0.034 ms

3、故障解决

#对于上面的问题实在是百思不得其解。就差使用sqlnet trace。
#以下尝试将监听器配置文件内IP地址使用主机名来取代,居然成功鸟。
#例如以下2种方式都能够将监听随系统启动而启动。一个是主机名,一个是full主机名#LISTENER_USMTHLY =
#  (DESCRIPTION_LIST =
#    (DESCRIPTION =
#      (ADDRESS_LIST =
#        (ADDRESS = (PROTOCOL = TCP)(HOST = sysreportDB)(PORT = 1520))
#      )
#    )
#  )LISTENER_USMTHLY =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = sysreportDB.2goasp.com)(PORT = 1520)))))#高兴之余,查看系统日志,汗,还是有错误,这次的错误是TNS-12543,目标主机不可达。

#怀疑是否hosts文件里是否存在异常字符。于是尝试重建Hosts文件。重建后错误消息依然例如以下。 Starting CRON daemondone Oracle 10g auto start/stop Starting Oracle10g: Startup "USMTHLY" listener. LSNRCTL for Linux: Version 10.2.0.3.0 - Production on 09-JUL-2014 17:15:47 Copyright (c) 1991, 2006, Oracle. All rights reserved. Starting /users/oracle/OraHome10g/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 10.2.0.3.0 - Production System parameter file is /users/oracle/OraHome10g/network/admin/listener.ora Log messages written to /users/oracle/OraHome10g/network/log/listener_usmthly.log Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sysreportDB.2goasp.com)(PORT=1520))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sysreportDB)(PORT=1520))) TNS-12543: TNS:destination host unreachable TNS-12560: TNS:protocol adapter error TNS-00513: Destination host unreachable Linux Error: 101: Network is unreachable #终于。此题临时无解,没有找到原因。不影响自启动而已。

4、小结
a、对于TNS-12545。TNS-00515应首先考虑是否使用了合适的IP。主机名。应检查serverhost文件。网络配置等
b、Step a检查完后应考虑是否正确的配置了监听以及tnsnames
c、对于上述该类错误,应同一时候检查及分析监听器日志   
d、对于client出现TNS-12545,TNS-00515等,考虑client是否能将主机转换成相应的IP(clienttnsnames.ora使用主机名的情形时)
e、有关Oracle网络配置相关能够參考:http://blog.csdn.net/leshami/article/category/828434

版权声明:本文博客原创文章,博客,未经同意,不得转载。

一个奇怪的注意事项TNS-12545 TNS-12560 TNS-00515相关推荐

  1. mysql数据库tns配置_oracle数据库tns配置方法详解

    TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,必须配置TNS,下面看一如何配置它吧 TNS简要介绍与应用 Ora ...

  2. oracle tns和sid,oracle tns listener配置 (附TNS介绍)

    一.tnsnames.ora 用途:(用于客户端)告诉oracle client应该从哪连.连到哪.TEST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)( ...

  3. MinGW 和 MSVC 下,使用 FILE 类型的一个奇怪的问题

    今天遇到一个奇怪的问题. 开发环境: 1. Eclipse CDT,使用 MinGW 的 gcc 编译器和函数库 2. Visual Studio 2008 问题描述: 在 eclipse cdt 中 ...

  4. java线程未执行完成,java线程测试-一个奇怪的景况-执行未完成直接结束了

    java线程测试-一个奇怪的状况-执行未完成直接结束了 import org.junit.Test; /** * 同步线程测试 * @author jview * */ public class te ...

  5. Delphi XE 使用 MySQL 数据库一个奇怪的问题

    Delphi XE 使用 MySQL 数据库一个奇怪的问题 我用的是自带的 ADO 组件连接 MYSQL ,连接很简单,如下: 1.下载一个 MYSQL 驱动安装上 下载地址 2.连接串 Adoc.C ...

  6. dedecms在linux主机下的一个奇怪错误

    扬帆blog原创文章,转载请保留原地址:http://www.wesoho.com/article/asp/2874.htm dedecms上传到linux空间后遇到一个问题,所有header转向失效 ...

  7. oracle tns 连接关闭,ORA-12537 TNS:连接关闭

    今天遇到:ORA-12537 TNS:连接关闭,监听正常,集群正常,数据库正常,查了一下才发现问题. LISTENER日志报错 TNS-12546: TNS:permission denied TNS ...

  8. 汇编语言:实验8分析一个奇怪的程序

    实验介绍 实验8 分析一个奇怪的程序 分析下面的程序,在运行前思考:这个程序可以正确返回吗? 运行后再思考:为什么是这种结果? 实验代码 ;实验8 分析一个奇怪的程序 ;分析下面的程序,在运行前思考: ...

  9. 一个奇怪的方法解决华为ENSP模拟器路由器启动后命令行一直“#”的问题

    一个奇怪的方法解决华为ENSP模拟器路由器启动后命令行一直"#"的问题 参考文章: (1)一个奇怪的方法解决华为ENSP模拟器路由器启动后命令行一直"#"的问题 ...

最新文章

  1. git config命令使用
  2. 1.8 Remove
  3. 解决windows文件在linux系统中显示乱码的问题
  4. nagios报警延迟的解决--flapping state
  5. 人生永无止境的意思是什么_什么是莫比乌斯指环?莫比乌斯环的诅咒
  6. 去除网页FLASH单击并激活此控件解决办法
  7. 20145305 《Java程序设计》第7周学习总结
  8. 基于Adaboost实现鸢尾花数据集分类
  9. MyEclipse2015Stable2.0安装破解
  10. 信息学奥赛一本通 1135:配对碱基链 | OpenJudge NOI 1.7 07
  11. 链队列出入队列c语言程序,链队列简单操作(c语言)
  12. h5离线缓存与浏览器缓存的区别
  13. Movavi Photo Editor零失败更改图片背景教程
  14. IT公司对员工电脑监控一般使用什么软件?
  15. 5G如何成为相关行业的创新引擎,提升服务和盈利水平
  16. ubuntu使用命令粉碎文件
  17. Python tkinter Canvas画布完全攻略
  18. ApacheCN 翻译活动进度公告 2019.6.15
  19. 微信小程序input层级穿透解决
  20. Cirium称,2020年航空公司准点率表现良好,但客运航班数只有2019年的一半

热门文章

  1. Python数据预处理之异常值的处理——【自定义的three_sigma()函数、boxplot()方法】
  2. C++ STL 线性容器的用法
  3. 推荐算法--利用用户标签数据(04)
  4. 《C++ Primer 5th》笔记(1 / 19):C++基础
  5. java五子棋源代码_java 五子棋游戏源码
  6. python如何运用ols_使用OLS回归(Python,StatsModels,Pandas)预测未来值
  7. 代码编辑器Sublime Text 可以跨平台(linux,window,os x)
  8. 【ffmpeg for wince】音视频编解码多平台移植(for window/wince)
  9. 使用Cygwin实现vlc 1.0.5的wince移植
  10. axios中出现两次请求,OPTIONS请求和GET请求