近来的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:49 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
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 exist
TNS-12560: TNS:protocol adapter error
TNS-00515: Connect failed because target host or object does not exist
Linux Error: 99: Cannot assign requested address #上面的错误信息了来自系统启动日志。相同出如今该实例的监听器日志里。 #故障环境
oracle@sysreportDB:/users/oracle> cat /etc/issue Welcome to SUSE Linux Enterprise Server 10 SP4 (x86_64) - Kernel \r (\l). oracle@sysreportDB:/users/oracle> sqlplus -v SQL*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_USBO2 oracle@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-loopback fe00::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:63
inet addr:10.101.1.106 Bcast:10.201.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5763651 errors:0 dropped:0 overruns:0 frame:0
TX packets:802254 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:8102327746 (7726.9 Mb) TX bytes:88597013 (84.4 Mb) lo Link encap:Local Loopback #有环路能正常TX,RX
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:92972 errors:0 dropped:0 overruns:0 frame:0
TX packets:92972 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4993723 (4.7 Mb) TX bytes:4993723 (4.7 Mb) #尝试手动启动监听,手动启动监听无异常
oracle@sysreportDB:/var/log> lsnrctl start listener_USMTHLY LSNRCTL for Linux: Version 10.2.0.3.0 - Production on 08-JUL-2014 17:10:49 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.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. TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error TNS-00511: No listener Linux Error:

    今天是2014-06-17.遇到一个很奇怪的问题,可能之前測试改动监听的原因,导致监听启动后自己主动关闭,特此记录一下整个处理过程, 监听配置文件信息例如以下: [oracle@dg1 admin]$ ...

  2. TNS-12541: TNS:no listener , TNS-12542: TNS:address already in use

    查看数据库监听状态不对$ lsnrctl status LSNRCTL for IBM/AIX RISC System/6000: Version 10.2.0.5.0 - Production on ...

  3. SpannableString的一个奇怪的问题

    今天使用spannableString遇到一个奇怪的问题,就是在setspan的时候,原本可以写成 spannableString.setSpan(new RelativeSizeSpan(0.5f) ...

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

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

  5. 启动监听报错:TNS-12537: TNS:connection closed TNS-12560: TNS:protocol adapter error TNS-00507: Connection closed Linux Error: 29: Illegal seek

    启动监听程序报错: 说明:在rhel5.8上安装完成oracle11g数据库后,使用netca创建完监听,启动监听时报错.还未使用dbca创建实例. [oracle@rusky-oracle11g ~ ...

  6. 遇到delphi连接sql一个奇怪的问题:未指定的错误,加大了命令的等待时间为600即可了

    遇到delphi连接sql一个奇怪的问题:未指定的错误,加大了命令的等待时间为600即可了 找了一下午没解决.

  7. 【Windows 7】发现一个奇怪的现象

    最近在Windows7-32位操作系统上发现一个奇怪的现象,不知道64位操作系统上会不会发生这个现象.这个现象就是:如果系统上的一个或多个账户没有设置密码,那么在此条件下终止winlogon.exe进 ...

  8. PHP 浮点型转整型的一个奇怪现象

    起因 最近通过一个学长的题了解php弱类型的时候,发现了一个奇怪的现象. 正文 主要问题在这样一段代码: $c=(int)((0.1+$b)*10); 当$b=0.6,0.8以及其他值的时候都正常 将 ...

  9. chrome一个奇怪的问题

    我去........... 这牢骚发完了才发现,  多谢了个e 呃................. ================================= 晚上用bootstrap搭建一 ...

随机推荐

  1. 实现能够直接粘QQ贴截图的bug管理功能

    对于一个功能强大的协作平台来说,todo管理和bug管理是不可缺少的功能.Todo和bug往往不是通过一些简单的文字就能实现的,有时候须要配以图片的说名,之前用过的项目管理平台都是以附件的形式上传图片 ...

  2. setsockopt角色

    功能描写叙述: 获取或者设置与某个套接字关联的选 项. 选项可能存在于多层协议中.它们总会出如今最上面的套接字层. 当操作套接字选项时.选项位于的层和选项的名称必须给出.为了操作套接字层的选项,应该 ...

  3. JAVA开源爬虫,WebCollector,使用方便,有接口。

    假设你想下载整个网站内容爬行动物,我不希望配置heritrix复杂的爬行动物,要选择WebCollector.项目github一个不断更新. github源地址:https://github.com/ ...

  4. sails不是内部或外部命令的解决方案

    1 安装好node 2 安装sails 打开cmd窗口,用命令 npm -g install sails 安装sails 安装完成后,用命令  sails new testProject 创建项目 会 ...

  5. offsetTop和scrollTop差异

    最近写组件,这两个属性的结果搞的有点晕,我检查的文件及资料,这两个性质如下面总结: 他一直在offsetLeft.offsetTop,scrollLeft.scrollTop这些方法都是非常迷茫,花一 ...

  6. 取缔Chrome装载电脑管家的广告过滤脚本代码

    今天Chrome调试脚本.加载在下面的脚本中找到的内容: /* 电脑管家chrome 广告过滤 */ var GJAD_CS = { elemhideElt : null, setElemhideCS ...

  7. 构造函数为什么不能为虚函数 & 基类的析构函数为什么要为虚函数

    一.构造函数为什么不能为虚函数 1. 从存储空间角度,虚函数相应一个指向vtable虚函数表的指针,这大家都知道,但是这个指向vtable的指针事实上是存储在对象的内存空间的.问题出来了,假设构造函数 ...

  8. hdu3572 任务分配/最大流量推论全流

    意甲冠军:将n分配的任务m机.到的每个任务需要的天数(如果没有持续的日常),并能做到在哪些天任务.询问是否有计划. 典型的任务(X)----日(Y)一半的最大流量,(因为这个任务是天之间的关系)处理器 ...

  9. Mac OS X Yosemite安装Hadoop 2.6记录

    整个安装过程分为四部分: 一.  安装Homebrew 二.  ssh localhost 三. 安装Hadoop已经进行配置文件设置 (伪分布式) 四. 执行栗子 一. 安装Homebrew 採用H ...

  10. ARM装配说明MCR/MRC学习

    MCR指令ARM数据寄存器传送到协处理器寄存器.假设协处理器不能成功运行操作.会产生未定义指令中止. 语法教学格式: MCR{<cond>} p15, 0, <Rd>, < ...