• 技术文章 >数据库 >mysql教程

    【Oracle】静态监听导致的ORA-12523错误

    2016-06-07 17:35:45原创958

    今天配置完共享服务器模式之后发现登录过程中报错ORA-12523,排查错误之后发现是静态监听惹的祸。本机之上有两个监听,一个静态监

    今天配置完共享服务器模式之后发现登录过程中报错ORA-12523,排查错误之后发现是静态监听惹的祸。

    本机之上有两个监听,一个静态监听1521端口,一个动态监听1526端口。

    LISTENER=

    (DESCRIPTION=

    (ADDRESS_LIST=

    (ADDRESS=(PROTOCOL=tcp)(HOST=jp)(PORT=1521))

    (ADDRESS=(PROTOCOL=ipc)(KEY=extproc))))

    LSNR2=

    (DESCRIPTION=

    (ADDRESS_LIST=

    (ADDRESS=(PROTOCOL=tcp)(HOST=jp)(PORT=1526))

    (ADDRESS=(PROTOCOL=ipc)(KEY=extproc1))))

    trace_level_LSNR2=SUPPORT

    SID_LIST_LISTENER=

    (SID_LIST=

    (SID_DESC=

    (GLOBAL_DBNAME=PROD)

    (Oracle_HOME=/u01/app/oracle/product/10.2.0/db_1)

    (SID_NAME=PROD))

    (SID_DESC=

    (SID_NAME=plsextproc)

    (ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1)

    (PROGRAM=extproc)))

    出错时的tnsnames配置:

    prod_s=

    (description =

    (address = (protocol = tcp)(host = jp)(port = 1521))

    (connect_data =

    (server = shared)

    (service_name = PROD)

    )

    )

    连接数据库时报错:

    [oracle@jp admin]$ sqlplus sys/oracle@prod_s as sysdba

    SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 8 10:43:54 2014

    Copyright (c) 1982, 2005, Oracle. All rights reserved.

    ERROR:

    ORA-12523: TNS:listener could not find instance appropriate for the client

    connection

    检查之后发现prod_s连接串走的是静态监听,共享服务器模式需要将调度进程的信息注册到监听之中,当有连接连入时,监听会选择一个负载最低的调度进程。而静态监听没有调度进程的信息,,导致通过shared_server模式连接报错。

    修改tnsnames

    prod_s=

    (description =

    (address = (protocol = tcp)(host = jp)(port = 1526))

    (connect_data =

    (server = shared)

    (service_name = PROD)

    )

    )

    重新通过shared_server连接,成功:

    [oracle@jp admin]$ sqlplus sys/oracle@prod_s as sysdba

    SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 8 10:42:22 2014

    Copyright (c) 1982, 2005, Oracle. All rights reserved.

    Connected to:

    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

    With the Partitioning, OLAP and Data Mining options

    SYS@prod_s>select server from v$session;

    SERVER

    ---------

    SHARED

    DEDICATED

    DEDICATED

    DEDICATED

    DEDICATED

    DEDICATED

    DEDICATED

    DEDICATED

    DEDICATED

    DEDICATED

    DEDICATED

    SERVER

    ---------

    DEDICATED

    DEDICATED

    DEDICATED

    DEDICATED

    DEDICATED

    16 rows selected.

    linux

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:MySQL二进制日志的管理 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 简单聊聊MySQL中join查询• 实例分析MySQL中pt-query-digest工具的使用记录• 深入理解MySQL索引优化器工作原理• MySQL子查询详细教程• MySQL获取时间、格式转换各类操作方法详解
    1/1

    PHP中文网