【转】 Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务

场景:win7-32位,安装oracle11gR2版本32位,重启系统后,经常连不上oracle;

碰到这样的问题,csdn有个哥们解决了。我试了一下,可行。特转之;  好像做完第3步就正常了,暂时没有碰到后续的问题。

 

http://blog.csdn.net/luiseradl/article/details/7064916

 

 

解决过程:注意oracle的安装目录,请调整成你自己的目录

1. 找到listener.ora监听文件,具体位置: d:\oracle \product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora

2. 在lisener.ora文件中找到

    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME =
d:\oracle \product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:
d:\oracle \product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )


    将下面的一段内容copy进去,并适当修改。(红字部分为你的SID,其中GLOBAL_DBNAME为全局数据库名,可以与SID不同)

   (SID_DESC =
        (GLOBAL_DBNAME = hdf )
        (ORACLE_HOME = d:\oracle\product\11.2.0\dbhome_1)
        (SID_NAME = hdf )
   ) 

3. 保存listener.ora文件,关闭并重新启动监听程序。

    lsnrctl stop   // 关闭

    lsnrctl start  // 启动


4. 此时,用正常的用户去连接双出现新的错误。

   

   ORA-27101:  shared memory realm does not exist

5. 启动打开目录:D:\app\Administrator\admin\orac11\pfile,会发现里面有一个文件:init.ora.1052011103553,这是Oracle最后一次成功启动时备份的启动文件。

6. sqlplus /nolog,
    create spfile from pfile=' d:\oracle \admin\orac11\pfile\ init.ora.1052011103553'
    startup  // 启动数据库。
7. 一切恢复正常。

你可能感兴趣的:(oracle 11g)