0

0

Oracle监听器启动故障TNS-00517解决

php中文网

php中文网

发布时间:2016-06-07 16:48:34

|

2246人浏览过

|

来源于php中文网

原创

监听器、TNS连接通常是Oracle初学者一个不容易理解的关键。但是,在实际配置过程中如果存在问题,就引起Oracle无法连接的难题。本

Oracle安装是一个复杂的过程,在Linux和AIX等操作系统版本上,进行各种准备的过程和时间经常是超过安装程序、创建数据库本身。而且,一旦有配置项出现错误,在后面Oracle安装和运行中就可能出现意想不到的问题。
 
监听器、TNS连接通常是Oracle初学者一个不容易理解的关键。但是,在实际配置过程中如果存在问题,就引起Oracle无法连接的难题。本篇介绍一个监听器无法启动报错TNS-00517的小故障。

1、问题说明

进行产品测试,在实验环境上尝试安装最新的11.2.0.4版本。操作系统环境为Red Hat 6.5。

[oracle@SimpleLinux ~]$ uname -r

2.6.32-431.el6.i686

[oracle@SimpleLinux ~]$ cat /etc/RedHat-release

Red Hat Enterprise Linux Server release 6.5 (Santiago)

使用dbca安装完成数据库后,没有明显报错痕迹。检查数据库实例启动正常,也可以支持操作系统验证登陆。

[oracle@SimpleLinux ~]$ ps -ef | grep pmon

oracle    5851    1  0 12:48 ?        00:00:00 ora_pmon_ora11g

oracle  11778 11747  0 12:56 pts/0    00:00:00 grep pmon

监听程序状态查询失效,处在不能启动状态。

[oracle@SimpleLinux ~]$ lsnrctl status

 

笔启AI论文
笔启AI论文

专业高质量、低查重,免费论文大纲,在线AI生成原创论文,AI辅助生成论文的神器!

下载

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 01-APR-2014 12:56:53

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SimpleLinux)(PORT=1521)))
 
TNS-12541: TNS:no listener

 TNS-12560: TNS:protocol adapter error

  TNS-00511: No listener

  Linux Error: 111: Connection refused

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

TNS-12541: TNS:no listener

 TNS-12560: TNS:protocol adapter error

  TNS-00511: No listener

  Linux Error: 111: Connection refused

lsnrctl是监听器操纵平台工具,status会去尝试连接运行的监听程序检查状态。从结果看,监听器没有启动。注意:一般而言,Oracle创建数据库之后,就会自动启动一个监听器。最新的Oracle版本会用默认的方式运行监听器,TNS_ADMIN目录中通常没有tnsnames.ora、listener.ora和sqlnet.ora文件。
 
启动监听器,报错。

[oracle@SimpleLinux ~]$ lsnrctl start

 

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 01-APR-2014 12:57:06

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Starting /u01/app/oracle/bin/tnslsnr: please wait...

 

TNSLSNR for Linux: Version 11.2.0.4.0 - Production

System parameter file is /u01/app/oracle/network/admin/listener.ora

Log messages written to /u01/app/diag/tnslsnr/SimpleLinux/listener/alert/log.xml
 
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=SimpleLinux)(PORT=1521)))
 
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SimpleLinux)(PORT=1521)))
 
TNS-12547: TNS:lost contact

 TNS-12560: TNS:protocol adapter error

  TNS-00517: Lost contact

  Linux Error: 104: Connection reset by peer

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

TNS-12547: TNS:lost contact

 TNS-12560: TNS:protocol adapter error

  TNS-00517: Lost contact

  Linux Error: 104: Connection reset by peer

2、问题分析

使用netca重建监听程序,,也没有解决问题。查看listener.ora文件如下:

 

[oracle@SimpleLinux admin]$ cat listener.ora

# listener.ora Network Configuration File: /u01/app/oracle/network/admin/listener.ora
 
# Generated by Oracle configuration tools.

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = SimpleLinux)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

  )

ADR_BASE_LISTENER = /u01/app

在笔者之前的文章《监听器listener.ora中HOST参数配置》()中,讨论过HOST参数设置IP地址和主机名称的差异。如果设置IP地址,监听程序只会驻留在指定的IP地址上。如果服务器有多个IP地址,其他IP地址是不能作为监听地址的。
 
如果设置的是hostname,那么Oracle就会根据网络配置,解析hostname对应的所有IP地址,并且绑定在所有的IP地址上进行连接。

从host参数配置上,指定的名称SimpleLinux解析最直接手段是/etc/hosts文件。

 

[oracle@SimpleLinux admin]$ cat /etc/hosts

127.0.0.1  SimpleLinux SimpleLinux.localdomain localhost4 localhost4.localdomain4
 
::1        SimpleLinux SimpleLinux.localdomain localhost6 localhost6.localdomain6
 
192.168.0.100 SimpleLinux SimpleLinux.localdomain

 

[root@SimpleLinux ~]# ifconfig -a

eth0      Link encap:Ethernet  HWaddr 08:00:27:48:5C:18 

          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0

          inet6 addr: fe80::a00:27ff:fe48:5c18/64 Scope:Link

       

 

lo        Link encap:Local Loopback 

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

 

直观看没有什么问题,两个监控地址都在文件中。修改下hosts文件更加清晰,路径IP解析也没有问题,网络连接也没有问题。

 

[root@SimpleLinux ~]# vi /etc/hosts

 

192.168.0.100 SimpleLinux SimipleLinux.localdomain

127.0.0.1  SimpleLinux SimpleLinux.localdomain

::1        SimpleLinux SimpleLinux.localdomain

 

[root@SimpleLinux ~]# ping SimpleLinux

PING SimpleLinux (192.168.0.100) 56(84) bytes of data.

64 bytes from SimpleLinux (192.168.0.100): icmp_seq=1 ttl=64 time=0.056 ms

64 bytes from SimpleLinux (192.168.0.100): icmp_seq=2 ttl=64 time=0.138 ms

64 bytes from SimpleLinux (192.168.0.100): icmp_seq=3 ttl=64 time=0.132 ms

 

启动尝试。

 

[oracle@SimpleLinux ~]$ lsnrctl start

 

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 01-APR-2014 13:09:46

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Starting /u01/app/oracle/bin/tnslsnr: please wait...

(篇幅原因,有省略……)

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SimpleLinux)(PORT=1521)))
 
TNS-12547: TNS:lost contact

 TNS-12560: TNS:protocol adapter error

  TNS-00517: Lost contact

  Linux Error: 104: Connection reset by peer

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

TNS-12547: TNS:lost contact

 TNS-12560: TNS:protocol adapter error

  TNS-00517: Lost contact

  Linux Error: 104: Connection reset by peer

 

问题依旧,尝试弃用hostname,直接使用IP地址连接。

 

[oracle@SimpleLinux admin]$ cp listener.ora listener.ora.bk

[oracle@SimpleLinux admin]$ vi listener.ora

 

# listener.ora Network Configuration File: /u01/app/oracle/network/admin/listener.ora
 
# Generated by Oracle configuration tools.

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

  )

 

启动尝试,故障依然。

 

[oracle@SimpleLinux admin]$ lsnrctl start

 

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 01-APR-2014 13:11:10

 

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

 

Starting /u01/app/oracle/bin/tnslsnr: please wait...

 

TNSLSNR for Linux: Version 11.2.0.4.0 - Production

System parameter file is /u01/app/oracle/network/admin/listener.ora

Log messages written to /u01/app/diag/tnslsnr/SimpleLinux/listener/alert/log.xml
 
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))

Listening on:

TNS-12547: TNS:lost contact

 TNS-12560: TNS:protocol adapter error

  TNS-00517: Lost contact

  Linux Error: 104: Connection reset by peer

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

TNS-12547: TNS:lost contact

 TNS-12560: TNS:protocol adapter error

  TNS-00517: Lost contact

  Linux Error: 104: Connection reset by peer

 

更多详情见请继续阅读下一页的精彩内容:

linux

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

286

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

126

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

42

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

19

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

23

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

29

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

14

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

421

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

51

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Java 教程
Java 教程

共578课时 | 67.1万人学习

vue-cli4商城项目案例
vue-cli4商城项目案例

共12课时 | 3.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号