系统登录连不上数据库,进服务器plsql登录oracle报ORA-01034 ORA-27101错误,重启oracle和监听服务后又可以登录,过一会又报错。跪求解决方案Oracle

解决方案 »

  1.   

    没有改动。# listener.ora Network Configuration File: F:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN\listener.ora
    # Generated by Oracle configuration tools.SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = F:\oracle\product\10.1.0\Db_1)
          (PROGRAM = extproc)
        )
    (SID_DESC =
           (GLOBAL_DBNAME = orcl)
           (ORACLE_HOME = F:\oracle\product\10.1.0\Db_1)  
           (SID_NAME = orcl)
          )
      )LISTENER =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
      )
      

  2.   

    SID_LIST_LISTENER =
       (SID_LIST =
         (SID_DESC =
           (SID_NAME = PLSExtProc)
           (ORACLE_HOME = F:\oracle\product\10.1.0\Db_1)
           (PROGRAM = extproc)
         )
     (SID_DESC =
            (GLOBAL_DBNAME = orcl)        (ORACLE_HOME = F:\oracle\product\10.1.0\Db_1)  
            (SID_NAME = orcl)
           )
       )
     
    LISTENER =
       (DESCRIPTION =
         (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
       )listener.ora里面的内容是区分大小写的,然后看下oracle_home路径,最后还不行的话就备份一下listener.ora,然后把最后的host改成数据库所在服务器的IP试下
      

  3.   

    表示我也遇到了类似的问题,不过我这个不是用pl/sql程序连接,而是用的proc程序
    我在后台用sqlplus 能有连接数据库但是我用proc的代码编译后的程序连接数据可就报:
    ORA-01034: ORACLE not available
    ORA-27101: shared memory ed memory realm does not 
    求教各位这是怎么回事啊
     
    sqlnet.ora有配置:
    SQLNET.AUTHENTICATION_SERVICES = (BEQ,NONE)listener.ora配置:
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = “oracle所在ip”)(PORT = 1521))
        )
      )SID_LIST_LISTENER =
        (SID_LIST =
          (SID_DESC =
            (GLOBAL_DBNAME = ORAC146)
            (SID_NAME = ORAC146)
            (ORACLE_HOME = /opt/oracle/app/oracle/product/11.1.0/db_1)
          )
        )proc关键代码:
    EXEC SQL BEGIN DECLARE SECTION;
        VARCHAR username[20];
        VARCHAR passwd[20];
        VARCHAR dbname[20];
        char db_link_name[20];
    EXEC SQL END DECLARE SECTION;
    ......
        EXEC SQL CONNECT :username IDENTIFIED BY :passwd
         AT :db_link_name USING :dbname;......