天萃荷净

运维DBA反映当前环境的Oracle存在10G与9i两个版本,在启动监听程序的时候一个无法启动报错TNS-12618,分析原因为双监听IPS争用导致

在一台机器上装了9.2.0.4和10.1.0.4数据库,启动监听时候发现有一个启动不了

1.9i监听配置

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = oracleplus.com)(PORT = 1522))

)

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

)

)

)

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = oracleplus)

(ORACLE_HOME = /u01/oracle/9.2.0/db_1)

(SID_NAME = xff)

)

)

2.10g监听配置

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u02/app/oracle/db10g)

(PROGRAM = extproc)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

)

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = oracleplus.com)(PORT = 1521))

)

)

)

3.分别启动监听

启动10g监听

[oraem@oracleplus ~]$ lsnrctl start

LSNRCTL for Linux: Version 10.1.0.4.0 - Production on 12-JUN-2012 15:28:51

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

Starting /u02/app/oracle/db10g/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.1.0.4.0 - Production

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

Log messages written to /u02/app/oracle/db10g/network/log/listener.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracleplus.com)(PORT=1521)))

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

STATUS of the LISTENER

------------------------

Alias LISTENER

Version TNSLSNR for Linux: Version 10.1.0.4.0 - Production

Start Date 12-JUN-2012 15:28:51

Uptime 0 days 0 hr. 0 min. 0 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Listener Parameter File /u02/app/oracle/db10g/network/admin/listener.ora

Listener Log File /u02/app/oracle/db10g/network/log/listener.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracleplus.com)(PORT=1521)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

启动9i监听

[oracle@oracleplus ~]$ lsnrctl start

LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 12-JUN-2012 15:01:44

Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.

Starting /u01/oracle/9.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 9.2.0.4.0 - Production

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

Log messages written to /u01/oracle/9.2.0/db_1/network/log/listener.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracleplus.com)(PORT=1522)))

Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))

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...

这里很奇怪两个监听使用不同的端口,为什么不能提示Address被占用呢,难道9i的已经启动了

4.查看9i的监听状态

[oracle@oracleplus ~]$ lsnrctl status

LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 12-JUN-2012 15:02:23

Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracleplus)(PORT=1522)))

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=EXTPROC)))

TNS-12618: TNS:versions are incompatible

9i监听不能启动原因

这里有重大发现TNS:versions are incompatible.我这台服务器只有一个9i和一个10g的数据库出现版本不兼容,那就是说这个命令可能访问了10g的库中的每个监听信息.继续往上看,发现(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))).

When a process is on the same machine as the server, use the IPC protocol for connectivity instead of TCP. Inner Process Communication on the same machine does not have the overhead of packet building and deciphering that TCP has.

通过这段话可以看出IPC(Inner Process Communication)是使用于本机的内部通讯,不用包的封装,可以很大程度上提高程序执行效率.看到上面的IPC提示,我们可以确定该错误是因为10g中已经启用了IPC,然后9i的监听也要来启动这个,从而导致该错误.

5.解决办法

因为在同一个机器上,只能其中的一个数据库启用IPC.修改9i的监听配置

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))

)

# (ADDRESS_LIST =

# (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

# )

)

)

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/oracle/9.2.0/db_1)

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME = oracleplus)

(ORACLE_HOME = /u01/oracle/9.2.0/db_1)

(SID_NAME = xff)

)

)

启动9i监听

[oracle@oracleplus ~]$ lsnrctl

LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 12-JUN-2012 15:12:55

Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.

Welcome to LSNRCTL, type "help" for information.

LSNRCTL> start

Starting /u01/oracle/9.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 9.2.0.4.0 - Production

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

Log messages written to /u01/oracle/9.2.0/db_1/network/log/listener.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracleplus.com)(PORT=1522)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1522)))

STATUS of the LISTENER

------------------------

Alias LISTENER

Version TNSLSNR for Linux: Version 9.2.0.4.0 - Production

Start Date 12-JUN-2012 15:12:57

Uptime 0 days 0 hr. 0 min. 0 sec

Trace Level off

Security OFF

SNMP OFF

Listener Parameter File /u01/oracle/9.2.0/db_1/network/admin/listener.ora

Listener Log File /u01/oracle/9.2.0/db_1/network/log/listener.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracleplus.com)(PORT=1522)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

Service "oracleplus" has 1 instance(s).

Instance "xff", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

查看两个监听进程

[oracle@oracleplus ~]$ ps -ef|grep tns|grep -v grep

oraem 18099 1 0 13:27 ? 00:00:00 /u02/app/oracle/db10g/bin/tnslsnr LISTENER -inherit

oracle 24312 1 0 15:12 pts/0 00:00:00 /u01/oracle/9.2.0/db_1/bin/tnslsnr LISTENER -inherit

--------------------------------------ORACLE-DBA----------------------------------------

最权威、专业的Oracle案例资源汇总之【案例】Oracle报错TNS-12618 多版本监听LISTENER程序共享无法启动

oracle 监听共享 专用,【案例】Oracle报错TNS-12618 多版本监听LISTENER程序共享无法启动...相关推荐

  1. linux oracle 11g x86,Oracle 11g在Linux6下安装及报错 C [ld-linux-x86-64.so.2+0x14d70]的解决方...

    Oracle 11g在Linux6下安装及报错 C [ld-linux-x86-64.so.2+0x14d70]的解决方法 首页 → 数据库技术 背景: 阅读新闻 Oracle 11g在Linux6下 ...

  2. oracle加as报错,【Oracle】-【sqlplus / as sysdba登录报错问题】-新用

    [Oracle]-[sqlplus / as sysdba登录报错问题]-新用户使用sqlplus / as sysdba登录报错解决 [Oracle]-[sqlplus / as sysdba登录报 ...

  3. java启动找不到监听_初学监听器,报错找不到,请指正,谢谢。环境为eclipse

    报错信息: 严重: Error configuring application listener of class com.imooc.listener.FirstListener java.lang ...

  4. mysql group b_mysql报错之5.7版本的 group by mysql不能使用group by

    mysql 查询提示 SELECT list is not in GROUP BY clause and contains nonaggregated column 'user_login.user_ ...

  5. VirtualAPK 报错: Failed to notify project evaluation listener. > SDK location not found. Define locati

    VirtualAPK 报错: Failed to notify project evaluation listener. > SDK location not found. Define loc ...

  6. React中使用antd的select报错Unable to preventDefault inside passive event listener invocation.

    问题描述 报错Unable to preventDefault inside passive event listener invocation. React中使用antd的select报错 Unab ...

  7. python连接oracle报错TNS,python连接oracle数据库报出 ORA-12541: TNS: 无监听程序

    答:方法一: 在oracle_home下找到lsnrctl.exe 输入 start 方法二 可能认不到实例名 在cmd下运行 set oracle_sid=自己数据库的实例名(大多数orcl) 网上 ...

  8. oracle 增加ora容量_案例:Oracle报错ORA-01144 详解数据文件大小32GB的限制的原因

    天萃荷净 Oracle数据文件大小的限制,运维DBA在向Oracle数据库添加一个32G的数据文件的时候报错ORA-01144,分析原因为数据库针对文件有32G限制 1.添加数据文件报错ORA-011 ...

  9. linux 下 oracle 10.2.0.1 32bit netca报错

    现象如下: 今天一同事安装完数据库软件运行netca创建监听时报错(运行netmgr与dbca均可执行成功),  报错信息: [oracle@WEB01A bin]$ netca   Oracle N ...

最新文章

  1. CodeForces 213 E
  2. UI5应用如果出现白屏但是没有任何错误消息打印出来,应该如何处理
  3. oracle 数据更新
  4. Linux软件安装部署文档,MetaQ安装部署文档
  5. php相关知识,PHP的基础知识简单介绍
  6. SAP NOTE远程下载及电子证书配置
  7. 安装AX2012R3流程
  8. 计算机原理教程 pdf,《计算机组成原理》教程 概述.pdf
  9. 计算机科学家壁纸,电脑励志好看的文字壁纸推荐
  10. colmak键盘_萌神进化 IKBC 新POKER2机械键盘体验
  11. stm32 无线打印机服务器,STM32开发的蓝牙热敏打印机
  12. 他是学计算机的这个句子中宾语是动词性的,《现代汉语语法修辞》 综合试卷有全部答案...
  13. 成都榆熙:怎么解除拼多多商品的推广限制
  14. 计算机考研复试——数据结构篇
  15. 拉姆达表达式转对象(太给力啦!)
  16. 机器学习-查准率、查全率、调和平均值
  17. 数据结构实验——实验二链表实验
  18. ”为什么有这么多人执着于中文编程?”第二春:新评论的一并回应
  19. 使用overleaf在线编译latex出现no pdf问题
  20. java获取用户的所在省份、城市的接口

热门文章

  1. 【Java】函数式接口
  2. Spring官方文档解读(五)之自定义 bean 的性质
  3. 瑞萨,尝试flash刷写代码放到ram中,OK
  4. 项目管理全过程最佳实践(上)
  5. 八皇后问题动态演示_Qt5实现
  6. IE11 安装 此更新不适应计算机
  7. Unity之三维空间多点箭头导航
  8. 深度之眼Paper带读笔记GNN.06.GAT
  9. 服务器主机本地系统6,服务器主机本地系统开机
  10. Access比较和逻辑运算符。