博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ora-12528 : message 12528 not found; product=RDBMS ; facility=ora
阅读量:2035 次
发布时间:2019-04-28

本文共 2047 字,大约阅读时间需要 6 分钟。

我用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------

转载地址:http://bsqaf.baihongyu.com/

你可能感兴趣的文章
02.规划过程组表格-责任分配矩阵
查看>>
02.规划过程组表格-质量管理计划
查看>>
01.openssl-创建证书签名请求
查看>>
02.openssl-密钥的格式转换
查看>>
07.openssl编程——抽象IO
查看>>
14.openssl编程——错误处理
查看>>
08.openssl非对称加密算法指令
查看>>
openssl rand
查看>>
00.代码阅读内功心法篇
查看>>
02.规划过程组表格-项目管理计划
查看>>
02.规划过程组表格-WBS词典
查看>>
03.失败与成功哲学
查看>>
04.向太平意思宣战
查看>>
03.简化领导力摘录——卓越领导者
查看>>
02.HTML中使用JavaScript
查看>>
04.变量、作用域和内存问题--JavaScript高级程序设计(笔记)
查看>>
08.用户故事与敏捷方法——估算用户故事笔记
查看>>
12.敏捷估计与规划——Splitting User Stories笔记
查看>>
13.敏捷估计与规划——Release Planning Essentials笔记
查看>>
05精益敏捷项目管理——超越Scrum
查看>>