请教高手:  我的oracle10g打开时提示错误:  详细资料  ORA-12528: TNS: 监听程序: 所有适用例程都无法建立新连接   这台电脑我很久没用,可能别人在里面装其他东西了,好像还换了根内存条(和这个应该没关系吧?)。我现在启动就起不来了请问这是怎么回事?
如何解决这个问题呀,谢谢!

解决方案 »

  1.   


    楼主惨了看看alert.log里面报什么错。
      

  2.   

    是监听出问题了,一般来说你重启一下就可以了,如果频繁出现这错误的话可以修改监听tnsname.ora文件
    连接的问题可以通过修改listener.ora的参数,把动态的参数设置为静态的参数,然后从新启动监听,就OK,如下面为一配置静态监听的例子
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = C:\oracle\product\10.1.0\db_1)
    (PROGRAM = extproc)
    )
    (SID_DESC =
    (GLOBAL_DBNAME = ammicly)
    (ORACLE_HOME = c:\oracle\product\10.1.0\db_1)
    (SID_NAME = ammicly)
    )
    )
      

  3.   

    1.监听服务启动没有? 
    lsnrctl start2. 监听的配置文件正确不? 用net manager 工具或者直接检查下tnsnames.ora 文件看看。 ------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716
      

  4.   

    alert.log?
    这个文件在哪里的呀?
      

  5.   

    试试在系统环境变量配置oracle_sid=xxx,重起oracle服务器,以前我是这么处理的
      

  6.   

    监听,我重启过好多次,还是不行。我把你配置静态监听的例子,覆盖我本地的listener.ora,重启监听,还是不行。
    我本地的listener.ora文件内容原来如下:
    # listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
    # Generated by Oracle configuration tools.SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
          (PROGRAM = extproc)
        )   
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.52.35)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
        )
      )
      

  7.   

    在系统环境变量配置oracle_sid=xxx,重起oracle服务器
    我试过了,还是报那个错误,,,
      

  8.   

    C:\Documents and Settings\Administrator>lsnrctl status
    服务摘要..
    服务 "PLSExtProc" 包含 1 个例程。
    例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    服务 "orcl" 包含 1 个例程。
    例程 "orcl", 状态 BLOCKED, 包含此服务的 1 个处理程序...
    服务 "orcl_XPT" 包含 1 个例程。
    例程 "orcl", 状态 BLOCKED, 包含此服务的 1 个处理程序...
    命令执行成功监听状态 "orcl", 状态 BLOCKED如何解决
      

  9.   

    注释掉此行,再试试
    #     (PROGRAM = extproc) 
      

  10.   

    lsnrctl startnet start oracleserviceoraclesid
      

  11.   

    监听和实例都是OK的么,看看这个有没有帮助
    http://blog.csdn.net/inthirties/archive/2009/08/17/4450927.aspx
      

  12.   

    查看alert文件,看看错误信息是什么!
       如果是控制文件出错,就要考虑重建控制文件了!
      

  13.   

    1.查看LISTENER.ORA中是否添加了相关参数
    2.set oracle_sid = XXX 重新设定环境变量
      

  14.   

    你在我的电脑控制面板里面,管理工具选项,然后里面有一个服务的快捷方式,双击那个图标,然后就就可以看到oracle的监听程序了,你把它启动一下不就好咯?
      

  15.   

    1. 查看path环境变量时候client的在db_1的前面,去掉client在path中的环境。
    2. 重新通过 netca 配置 tnsnames.ora   listener.ora
    3. 重新启动所有服务,包括监听器.;net start oracleserviceCognizant
    ;net start oracleserviceOrcl
    ;net start OracleOraDb10g_home1TNSListener;net stop oracleserviceCognizant
    ;net stop oracleserviceOrcl
    ;net stop OracleOraDb10g_home1TNSListener
      

  16.   

    我有遇到过这种情况 ,当v$process 和 v$session 数量很接近的时候报的
    处理方法是加大V$process 的数量
      

  17.   

    楼主,试试把WINDOWS里的日志清理一下,然后:在cmd窗口依次输入1、sqlplus /nolog2、conn sys/a as sysdba3、alter database mount;4、alter database open;
      

  18.   

    alter table tablename rename column 旧字段名 to 新字段名