一个奇怪的注意事项TNS-12545 TNS-12560 TNS-00515

      近来的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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459838.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java_IO总结(一)

所谓IO,也就是Input与Output的缩写。在java中,IO涉及的范围比较大,这里主要讨论针对文件内容的读写 其他知识点将放置后续章节(我想,文章太长了,谁都没耐心翻到最后) 对于文件内容的操作主要分为…

mysql两张表联查更新语句_sql联合查询语句(两张表)

展开全部sql联合查询语句(两张e69da5e6ba9062616964757a686964616f31333365643662表)是:select A.ID,A.VALUE,A.TYPE,A.NAME,B.KEY,B.ID,B.VALUE,B.NAMEmin(VALUE),max(VALUE) from A left join B on A.ID B.IDwhere B.NAME"你输入的名字"and B.VALUE &g…

TextField对象相关的属性和方法总结

TextField对象相关的属性和方法,内容十分丰富,下面几个表格: 表一 TextField 对象的方法 方法 说明 TextField.addListener 加入接收触发事件如文本域内容变化或滚动变化的监听对象,触发事件可以参看最后一个表。 TextField.getDe…

ocsng mysql connection problem_OCSNG 介绍及其工作原理

OCSNG部署:http://wowking.blog.51cto.com/1638252/994441OCSNG 是什么呢?OCSNG就是Open Computer and Software Inventory Next Generation是一款免费软件,它使用户能够盘点网络工程师的IT资产。OCS-NG收集有关运行OCS客户端程序(“OCS Inve…

hdu--5135--贪心

尽量选边数大的3根木棍来组成一个三角形 一直到无法选取为止 这边计算三角形面积 还是用 海伦公式比较方便 1 #include <iostream>2 #include <algorithm>3 #include <cmath>4 #include <cstring>5 #include <iomanip>6 using namespace std;7 …

动易sitefactory 数据库 mysql msssql_动易SiteFactory配置文件(web.config)常用配置节解读...

配置声明节复制代码代码如下:这个节定义了,web.config文件中将要用到具体配置节点的名称,处理程序等.从这里可以看出,siteFactory里采用.net 企业应用程序块(enterpriseLibrary),里的数据访问块等.urlrewritingnet,是用来进行地址重写的,接着是asp.net ajax 配置节声明,最后有个…

Struts2_2_第一Struts2应用

web.xml文件的配置与1同样。1&#xff09;HelloWorld类的代码&#xff1a; public class HelloWorldAction {private String message;public String getMessage() {return message;}public void setMessage(String message) {this.message message;}public String execute() {…

centos7

一.CentOS下的JDK安装(jdk1.7.0.67) http://www.cnblogs.com/Jenny-sider/p/3898583.html 二.centos下 配置多个tomcat nginx绑定域名和ip http://www.cnblogs.com/Jenny-sider/p/3908254.html 三.centOS 7.0默认使用的是firewall作为防火墙 启动firewall systemctl start fire…

About SOuP

http://www.soup-dev.com - SOuP的强大我不必多说。 - Maya 也可以开发出象houdini这样有趣的节点&#xff0c;这再soup之前是很难想象的。所以说soup的作者Peter的NB之处就在这里&#xff0c;他给人们指出了挖掘Maya潜力的一条路。 - MayaAPI真的是已经把maya能扩展的接口都暴…

mysql 动态sql 解析json数据_在SQL 中生成JSON数据

这段时间接手一个数据操作记录的功能&#xff0c;刚拿到手上的时候打算用EF做&#xff0c;后来经过仔细考虑最后还是觉定放弃&#xff0c;最后思考再三决定&#xff1a;1、以模块为单位分表、列固定(其实可以所有的操作记录都放到同一个表&#xff0c;但是考虑到数据量大的时候…

Microsoft Edge 浏览器开始支持webkit私有样式

微软表示新版的浏览器Edge(spartan)不会再增加新的私有属性&#xff0c;同时移除了部分-ms-属性&#xff0c;但很多标准在没有支持到之前&#xff0c;会使用webkit的api。Edge开发工程师Jacob Rossi列出了一份Edge所支持的webkit api列表。 CSS Core webkitBackgroundwebkitBac…

cemtos7上mysql8两个实例_centos7上配置mysql8的双主互写

注意:1、主库1&#xff1a;10.1.131.75&#xff0c;主库2&#xff1a;10.1.131.762、server-id必须是纯数字&#xff0c;并且主从两个server-id在局域网内要唯一。【主节点1】vi /etc/my.cnf[mysqld]log-binmysql-binserver-id2019001log_slave_updates1重启服务service mysqld…

不属于python数据类型的是_Python不支持的数据类型有( )。

(2) 完成划线处的代码填空: Dim classname(1 To 8000) As String 存储原始数据中的班级名称 Dim selectabc(1 To 8000) As String 存储原始数据选项的值 Dim xiangmu(1 To 8000) As String 存储原始数据选项的序号 Dim n As Integer Private Sub Command…

【Daily Scrum】12-08

因为TFS的一些问题&#xff0c;到现在一直都看不了Sprint 3的burndown and burn rate. 今天的scrum发现这个Sprint期间大家组里的事情都比较多&#xff0c;不过大家还是有很努力地在晚上和周末来完成ASC Master的任务&#xff0c;辛苦~ Member Today’s WorkTomorrow’s WorkFe…

java 字符串转成图片_java 转换图片为字符串,将字符串转换成图片显示

java 转换图片为字符串&#xff0c;将字符串转换成图片显示&#xff0c;该方法只适用于比较小的图片传输&#xff0c;50K以内&#xff1a;try{// 将图片转换成字符串File imgFile new File("f:\\Vista.png");FileInputStream fis new FileInputStream( imgFile );b…

图片延迟加载和滑动翻页

一&#xff1a;预加载 首先&#xff0c;我们需要引用JS&#xff0c; <script src"/Scripts/JQuery.LazyLoad.js"></script>其次&#xff0c;修改img的格式为&#xff1a; <img data-original"/images/img01.png" src"/images/grey.gif…

基本上,把switch,用设计模式代替,肯定是bug和过度设计。想想,本来修改一个文件几行代码可以解决的问题,变成修改3-6个类才能实现一样的功能。不是傻是什么?...

那些迷信设计模式的人&#xff0c;来修改一下这个方法吧。看看你最终的代码膨胀为几倍。。。 1 public virtual PasswordChangeResult ChangePassword(ChangePasswordRequest request)2 {3 if (request null)4 throw new ArgumentNullException(&qu…

inotify-tools、sersync配置及压力测试

一、Inotify介绍&#xff1a; Inotify 是一个 Linux 内核特性&#xff0c;它监控文件系统&#xff0c;并且及时向专门的应用程序发出相关的事件警告&#xff0c;比如删除、读、写和卸载操作等。您还可以跟踪活动的源头和目标等细节。使用 inotify 很简单&#xff1a;创建一个文…

java jml_JML 入门

【IT168 技术文章】面向对象分析和设计的原则之一就是应当尽可能地把过程设想往后推。我们大多数人只在实现方法之前遵守这一规则。一旦确定了类及其接口并该开始实现方法时&#xff0c;我们就转向了过程设想。那么到底有没有别的选择?和大多数语言一样&#xff0c;编写 Java …

转移指令检测题9

补全编程&#xff0c;利用loop指令&#xff0c;实现在内存2000H段中查找第一个值为0的字节&#xff0c;找到后&#xff0c;将它的偏移地址存储在DX中 assume cs:code code segment start:mov ax,2000h mov ds,ax mov bx,0 s: mov cl,[bx] mov ch,0 inc cx ;此处为要…