TNS-12541,TNS-12560,TNS-00511,TNS-12542,TNS-12560,TNS-00512数据库启动监听报错
第 1章 数据库server监听错误
1.1.1数据库监听错误
1.1.1.1 问题及现象
server环境为ORACLE11G RAC环境,系统启动后,监听没起来。
[oracle@RAC4 ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 29-JUN-2015 10:44:45
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
1.1.1.2 检查思路
当时同事已经检查过CRS、也尝试过使用命令启动监听等步骤。可是启动监听的时候会有下面报错。
[oracle@RAC4 ~]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 29-JUN-2015 10:51:46
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Starting /u01/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Log messages written to /u01/app/oracle/diag/tnslsnr/RAC4/listener/alert/log.xml
Error listening on: (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12542: TNS:address already in use
TNS-12560: TNS:protocol adapter error
TNS-00512: Address already in use
Linux Error: 98: Address already in use
Listener failed to start. See the error message(s) above...
竟然说系统已使用,那么理所当然的就去查看1521port和lsn进程
[root@RAC4 ~]# ps-ef | grep lsn
grid 52181 1 0 10:04? 00:00:11/u01/*/*/bin/tnslsnrLISTENER_SCAN1 -inherit
root 101600 100759 0 22:30 pts/0 00:00:00 grep lsn
[root@RAC4 ~]#netstat-anp | grep 1521
tcp 0 0xxx.xxx.xxx.xxx:1521 0.0.0.0:* LISTEN 52181/tnslsnr (有些内容不便列出)
发现1521port和/u01/11.2.0/grid/bin/tnslsnrLISTENER_SCAN1-inherit进程存在。所以尝试杀掉此进程
[root@RAC4 ~]#kill -9 52181
-bash: kill:(52181) - No suchprocess
杀掉后发现系统提示没有这个进程,再次查询
[root@RAC4 ~]# ps-ef |grep lsn
grid 104147 1 0 23:23? 00:00:00/u01/*/*/bin/tnslsnrLISTENER_SCAN1 -inherit
root 104379 104353 0 23:28 pts/0 00:00:00 grep lsn
又有了。应该是父进程自己主动又给他启动了。查看其父进程是init进程。
[grid@RAC4 ~]$pstree 1
init─┬─MBADataMover───MBADataMover───MBADataMover
├─2*[tnslsnr───2*[{tnslsnr}]]
1.1.1.3 出现故障的原因
由于我记得在书上看到过,11G的RAC中SRVCTL能够管理监听,于是尝试使用此命令来启动监听。
1.1.1.4 解决方法
[grid@RAC4 ~]$srvctl start listener -n RAC4
[grid@RAC4~]$ exit
logout
[root@RAC4~]# su -oracle
[oracle@RAC4~]$lsnrctl status;
LSNRCTLfor Linux:Version 11.2.0.3.0 - Production on 01-JUL-2015 11:32:45
Copyright(c) 1991,2011, Oracle. All rightsreserved.
Connectingto(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUSof theLISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version11.2.0.3.0 - Production
StartDate 01-JUL-2015 10:38:57
Uptime 0 days 0 hr. 53 min. 47 sec
TraceLevel off
Security ON: Local OS Authentication
SNMP OFF
ListenerParameterFile /u01/11.2.0/grid/network/admin/listener.ora
ListenerLogFile /u01/app/oracle/diag/tnslsnr/RAC4/listener/alert/log.xml
ListeningEndpointsSummary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=11.10.110.23)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=11.10.110.25)(PORT=1521)))
ServicesSummary...
Service"+ASM"has 1 instance(s).
Instance"+ASM2", status READY, has1 handler(s) for this service...
Service"RAC3"has 1 instance(s).
Instance"RAC32", status READY, has1 handler(s) for this service...
Service"RAC3XDB"has 1 instance(s).
Instance"RAC32", status READY, has1 handler(s) for this service...
Service"RACDB007"has 1 instance(s).
Instance "RACDB0072",status READY, has1 handler(s) for this service...
Service"RACDB007JL_BJ"has 1 instance(s).
Instance"RACDB007JL2", status READY,has 1 handler(s) for this service...
Service"RACDB007JL_BJXDB"has 1 instance(s).
Instance"RACDB007JL2", status READY,has 1 handler(s) for this service...
Service"RACDB007XDB"has 1 instance(s).
Instance"RACDB0072", status READY, has1 handler(s) for this service...
The commandcompleted successfully
1.1.1.5 知识点
经过这次问题的解决,发现oracle 11G的RAC中有非常多功能都通过集群命令来控制,而不能单一的通过单机管理的方法来控制集群的某些功能
TNS-12541,TNS-12560,TNS-00511,TNS-12542,TNS-12560,TNS-00512数据库启动监听报错的更多相关文章
- 启动监听报错: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 ~ ...
- oracle 启动监听报错TNS-12547: TNS:lost contact
https://blog.csdn.net/liqfyiyi/article/details/7534018
- 监听报错 TNS-00525: Insufficient privilege for operation 11gR2 + 连接报错ORA-12537: TNS:connection closed
1.TNS-00525: Insufficient privilege for operation Started with pid= Listening on: (DESCRIPTION=(ADDR ...
- Linux中Oracle启动侦听报错TNS:permission denied的解决方法
最近在开发环境 oracle 启动侦听的时候,出现了 TNS:permission denied 的问题,通过网上和咨询朋友,最终找到了解决方案,现在共享出来给有需要的朋友. [oracle@orac ...
- Oracle几个基础配置问题:ORA-12154: TNS: 无法解析指定的连接标识符、ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务、ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序
问题1:ORA-12154: TNS: 无法解析指定的连接标识符 在一台服务器上部署了Oracle客户端,使用IP/SID的方式访问,老是报ORA-12154错误,而使用tnsnames访问却没有问题 ...
- 使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序
非常多时候为了优化我们的启动项把oracle的服务禁止了.但是重新启动启动之后使用PLSQL登陆oracle时会出现无监听程序,这说明我们有一些服务没有启动.我们先查看一下oracle的服务是否启动, ...
- lsnrctl start 命令未找到 数据库连接报错“ORA-12541: TNS: 无监听程序”
1. lsnrctl start 命令未找到 或者bash:lsnrctl:command not found. su - oralce 切换用户的时候,中间要有-,而且-的两边有空格, ...
- plsql远程访问数据库 解决ora-12541:TNS:无监听程序
今天在windows server 2012上安装了一个oracle 11g的数据库,但是安装 完成以后发现在我的机器上访问数据库出现错误,ora-12541:TNS:无监听程序. 后来查询了很多资料 ...
- 解决PL/SQL Developer连接数据库时出现 “ORA-12541:TNS:无监听程序”错误
在用PL/SQL Developer连接数据库时出现“ORA-12541:TNS:无监听程序”错误. 1.检查listener.log日志发现下面错误:TNSLSNR for 32-bit Windo ...
- 解决windows7无法连接CentOS7系统中oracle问题:ORA-12514 TNS 监听程序当前无法识别
linux开启后终端按下面输入(容易忘记,记录下): [oracle@localhost ~]$ lsnrctl stop #先关闭监听服务 [oracle@localh ...
随机推荐
- PHP MySQL Update 之 Update
更新数据库中的数据 UPDATE 语句用于在数据库表中修改数据. 语法 UPDATE table_name SET column_name = new_value WHERE column_name ...
- SHDP--Working With HBase (二)之HBase JDBC驱动Phoenix与SpringJDBCTemplate的集成
Phoenix:Phoenix将SQL查询语句转换成多个scan操作,并编排执行最终生成标准的JDBC结果集. Spring将数据库访问的样式代码提取到JDBC模板类中,JDBC模板还承担了资源管 ...
- js面向对象编程:if中能够使用那些作为推断条件呢?
在全部编程语言中if是最长用的推断之中的一个.但在js中究竟哪些东西能够在if中式作为推断表达式呢? 比如怎样几行,仅仅是少了一个括号.真假就全然不同.究竟表示什么含义呢 var obj={}; ...
- qt获取本机网络信息
networkinformation.h #include<QtGui/QWidget> #include<QLabel> #include<QPushButton> ...
- .net 链接oracle
虽然EF6都快要出来了,但是对于Oracle数据库,仍然只能用DB first和Model First来编程,不能用Code First真是一个很大的遗憾啊. 好了,废话少说,我们来看看EF中是如何用 ...
- JS局部打印两种方法
所有浏览器都可以 <html> <head title=""> <title>测试打印</title> <style medi ...
- Javascript进阶篇——(JS基础语法)笔记整理
根据慕课网学习整理到一起的笔记,把东西整理到一起看起来比较方便 什么是变量字面意思:变量是可变的量:编程角度:变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品可 ...
- Json.Net序列化和反序列化设置
首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framework和NHibernate的.我举例说明DataTable的序列化和反序列化.创建一 ...
- oracle几个函数整理 DECODE() NVL NVL2 NULLIF Coalesce(转)
DECODE() decode()函数简介: 主要作用:将查询结果翻译成其他值(即以其他形式表现出来,以下举例说明): 使用方法: Select decode(columnname,值1,翻译值1,值 ...
- C#中大List的内存分配
之前在开发中只用到List的时候几乎就是拿过来就用,从来没有考虑过List的内存分配问题,试想一个有10万元素的List的在构造和添加元素时内存是如何变化的呢?在MSDN上关于List的Capacit ...