我在数据库中创建了三个实例,分别关闭这三个实例后,变无法连接到该实例,同时出现如下错误,请高手们帮忙看下,在线等。ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

解决方案 »

  1.   


    服务是开着的,只是把实例shutdwon了,我要想启动实例(startup)肯定是要连接上才能操作啊
      

  2.   


    只是shutdown了实例,服务并没有关闭啊,应该是可以连接上的啊
      

  3.   

    set oracle_sid 为你其中一个实例名吧。
      

  4.   

    shutdown 后 在SQLPLUS里可以连接,但在PL/SQL里只有startup 后才能连接
      

  5.   


    哥们,我就是用的sqlplus进行的连接
      

  6.   

    简单的说,正常以dba身份连接到数据库实例,
    执行shutdown immediate命令,
    数据库正常关闭,
    执行startup命令,
    会报出如下错误:
    ORA-12514: TNS: 监听程序当前无法识别连接描述符中的请求服务
      

  7.   

    去服务里面看看 监听 起来没?或者用 lsnrctl 命令看看哟 。多百度一下就出来了啊。
      

  8.   

    近日在配置Oracle 10G的流复制环境时,遇到一个问题,关闭数据库(shutdown immediate)后,通过SQL Plus连接数据库:conn sys/his@orc0 as sysdba,出现如下错误:    ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务通过重启服务的方式启动数据库,再次连接却能成功登录,也就是说在关闭数据库状态下无法连接服务器。    开始以为是系统环境变量Oracle_SID的配置问题,因为机器有多个实例,一阵折腾后还是不能连接。后来查资料得知:    Oracle9i以后,后台进程PMON自动在监听器中注册在系统参数SERVICE_NAMES中定义的服务名,SERVICE_NAMES默认为DB_NAME+DOMAIN_NAME。监听配置文件listener.ora中可以不必指定监听的服务名。但是,当数据库处于关闭状态下PMON进程没有启动,也就不会自动注册监听的实例名,所以使用sqlplus sys/his@orc0 as sysdba 会出现ORA-12514错误。如果在listener.ora文件中指定监听的实例名,则即使数据库处于关闭状态,仍然可以连接。listener.oraSID_LIST_LISTENER =  (SID_LIST =    (SID_DESC =      (SID_NAME = PLSExtProc)      (ORACLE_HOME = G:\oracle\product\10.2.0\db_1)      (PROGRAM = extproc)    )   (SID_DESC =    (GLOBAL_DBNAME = ORCL)    (ORACLE_HOME = G:\oracle\product\10.2.0\db_1)       (SID_NAME = ORCL)    )  )LISTENER =  (DESCRIPTION_LIST =    (DESCRIPTION =      (ADDRESS = (PROTOCOL = TCP)(HOST = zyk)(PORT = 1521))    )  )以上粗体部件为增加的内容,修改后重启监听服务后即可。附:通过在lsnrctl中输入set display verbose,然后再通过命令service查看,服务状态为READY表示PMON自动注册的服务名,而UNKNOWN则表示该服务是手工在LISTENER.ORA中配置的数据库服务是我之前遇到过的,,,对LZ有用否? 有就加分..
      

  9.   


    我的数据库也是有多个实例,而且遇到的问题和你的很相似,不过我按你说的修改了listener.ora文件,还有存在问题。
    对于orcl实例可以完成关闭和开启的操作了,但对于其他实例,关闭后还是无法连接啊