zoukankan      html  css  js  c++  java
  • ora12528 : message 12528 not found; product=RDBMS ; facility=ora

    原创  ora-12528 : message 12528 not found; product=RDBMS ; facility=ora 收藏

    author:skate
    time:2009/11/28



    我用pl/sql developer连接数据库时报错误ora-12528

    故障环境说明:


    在pl/sql(client)连接数据库时为提示:


    ora-12528 : message 12528 not found; product=RDBMS ; facility=ora

    说明:我的数据库类型是asm类型,不是rdbms数据库

    我登录数据库服务器查看:

    C:\Documents and Settings\Administrator>lsnrctl status

    LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 28-11月-2009 21:1
    0:56

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

    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
    ction
    启动日期                  28-11月-2009 18:35:33
    正常运行时间              0 天 2 小时 35 分 23 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          C:\oracle\product\10.2.0\db_1\network\admin\listener.o
    ra
    监听程序日志文件          C:\oracle\product\10.2.0\db_1\network\log\listener.log

    监听端点概要...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=asm)(PORT=1521)))
    服务摘要..
    服务 "+ASM_XPT" 包含 1 个例程。
    例程 "+asm", 状态 BLOCKED, 包含此服务的 1 个处理程序...
    服务 "+ASm" 包含 2 个例程。
    例程 "+ASM", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    例程 "+asm", 状态 BLOCKED, 包含此服务的 1 个处理程序...
    服务 "PLSExtProc" 包含 1 个例程。
    例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    命令执行成功

    发现服务的状态为blocked,表示此实例不能接受连接

    监听服务一共有三种状态,分别如下所示:

    BLOCKED:表示此实例不能接受连接
    UNKNOWN:表示此实例在listener.ora文件中注册,而不是通过动态服务注册,因而不知道其状态
    READY:表示此实例可接受连接

    解决办法:


    修改clinet 的tnsnames.ora


    方法1、我的listener中local_listener是动态注册的.


    动态注册需在TNS的connect_data字串加入(UR=A),对UR=A用于在listener中的服务状态为blocked service时仍样建立通信。
    asm =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.105)(PORT = 1521))
    )
    (CONNECT_DATA =
    #skate add begin
       (UR=A)
    #skate add end
    (SERVICE_NAME = +asm)
    )
    )

    这种方式适合客户端少,如果客户端多的话,你要修改所有的客户端。而下面的方法只有修改服务器的listener.ora文件就ok的

    方法2、如果你的监听器注册为动态注册的话。修改服务器的listener.ora,变动态注册监听为静态注册。


    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
    (PROGRAM = extproc)
    )
    #skate add begin
         (SID_DESC =
    (GLOBAL_DBNAME = +ASm)
    (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
    (SID_NAME =+ASM)
    )
    #skate add end
    )

    ----end------

  • 相关阅读:
    2014年之新年新愿
    C#解析Xml的Dom和Sax方式性能分析
    WCF协议与绑定
    使用SqlServer数据批量插入
    跨站脚本攻击XSS
    疯狂的JSONP
    SQLiteOpenHelper
    Android常用的UI布局
    Android用户界面
    ListView
  • 原文地址:https://www.cnblogs.com/danghuijian/p/4400404.html
Copyright © 2011-2022 走看看