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

解决过程:

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

2. 在lisener.ora文件中找到

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


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

  (SID_DESC =
     (GLOBAL_DBNAME = ORAC11)
     (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
     (SID_NAME = ORAC11)
   )

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:\app\Administrator\admin\orac11\pfile\init.ora.1052011103553'
   startup  // 启动数据库。

7. 一切恢复正常。



========================================================================

ISDB = 
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.22.141)(PORT = 1521))
)
(CONNECT_DATA =
(SID = lisdb)
)
)
要不行,把tnsnames.ora删掉,用Configuration Assistant重新建

还不行啊,你确定lisdb是正确的?配的时候测试是否通过?
把..\Network\Admin\下的文件全删掉,再用Configuration Assistant配置试试



你可能感兴趣的:(oracle,APP,product,的)