请问关于ora-12500和ora-12154具体是什么异常
我还想捕获一个 关于orcale没有连接上的异常,该异常具体是怎么样的请高手指点下小弟。
小弟才接触orcale

解决方案 »

  1.   

    转一篇:
    ora-12500错误解决方法- -
                                           操作系统:winxp     oracle版本:oracle9i
    故障现象:connect system/oracle@oracle9i  提示:ORA-12500系统无法启动专用服务进程在CMD窗口,
    1、sqlplus /nolog  SQL> connect sys/oracle as sysdba
      ERROR:
      ORA-12560: TNS: 协议适配器错误2、检查监听器状态
      C:\Documents and Settings\lihaijun>lsnrctl status  LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 22-7月 -2005 13:27:31  Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.  正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=orcl)))
      LISTENER 的 STATUS
     ------------------------
     别名                      LISTENER
     版本                      TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc
     tion
     启动日期                  22-7月 -2005 10:29:35
     正常运行时间              0 天 2 小时 57 分 58 秒
     跟踪级别                  off
     安全性                    OFF
     SNMP                      OFF
     监听器参数文件          c:\oracle\ora92\network\admin\listener.ora
     监听器日志文件          c:\oracle\ora92\network\log\listener.log
     监听端点概要...
       (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\orclipc)))
       (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.55)(PORT=1521)))
     服务摘要..
     服务 "lihaijun" 包含 1 个例程。
       例程 "oracle", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
     命令执行成功
     3、发现监听程序跟以前用的监听程序状态有区别 4、修改监听程序配置listener.ora
        LISTENER =
       (DESCRIPTION_LIST =
         (DESCRIPTION =
           (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
           )
           (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = lihaijun)(PORT = 1521))
           )
         )
       )    SID_LIST_LISTENER =
       (SID_LIST =
         (SID_DESC =
           (SID_NAME = PLSExtProc)
           (ORACLE_HOME = C:\oracle\ora92)
           (PROGRAM = extproc)
         )
         (SID_DESC =
           (GLOBAL_DBNAME = oracle9i)
           (ORACLE_HOME = C:\oracle\ora92)
           (SID_NAME = oracle9i)
         )
       )   
    5、重新启动监听器
     LSNRCTL> start
     启动tnslsnr:请稍候... TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production
     系统参数文件为c:\oracle\ora92\network\admin\listener.ora
     写入c:\oracle\ora92\network\log\listener.log的日志信息
     监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROCipc)))
     监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=lihaijun.megayou.local)(PORT=152
     1))) 正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
     LISTENER 的 STATUS
     ------------------------
     别名                      LISTENER
     版本                      TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc
     tion
     启动日期                  22-7月 -2005 13:50:03
     正常运行时间              0 天 0 小时 0 分 2 秒
     跟踪级别                  off
     安全性                    OFF
     SNMP                      OFF
     监听器参数文件          c:\oracle\ora92\network\admin\listener.ora
     监听器日志文件          c:\oracle\ora92\network\log\listener.log
     监听端点概要...
       (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROCipc)))
       (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=lihaijun.megayou.local)(PORT=1521))) 服务摘要..
     服务 "PLSExtProc" 包含 1 个例程。
       例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
     服务 "oracle9i" 包含 1 个例程。
       例程 "oracle9i", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
     命令执行成功
    6、这次启动一切正常,连接oracle
     SQL> connect sys/oracle as sysdba
     已连接到空闲例程。
     SQL> connect sys/oracle@oracle9i as sysdba
     已连接到空闲例程。注意:此问题经过查询资料,发现如果process达到数量限制,也会出现此错误,需要扩大参数processes。
      

  2.   

    查看processes和session的参数,以及V$session的session数或者是专用模式的时候pga过小,
      

  3.   

    oracle:9i    OS:WINDOWS SERVER 2003我在shutdown immediate数据库后,重启sqlplus,然后conn sys/gcm@mydb as sysdba 
    报错:ORA-12500:监听程序无法启动专用服务器进程重启监听和数据库服务,仍然报该错误因为服务期是内部做测试用的,用户就那么3,4个,估计应该不是session问题
    询问该怎么解决