• 解决oracle11g的ORA-12505问题


    今天在使用SQL Developer的时候连不上去,报ORA-12505错误,但是SQLPLUS可以连接。

    检查服务名,是OracleServiceORCL,那SID应当就是orcl,但是使用该SID仍然无法连接。

    查阅资料后解决方法如下:

    1.  打开数据库实例的目录(我的是C:appAdministratorproduct11.2.0dbhome_1NETWORKADMIN)

    找到listener.ora文件(listener监听器进程的配置文件),使用文本编辑器打开。

    内容如下:

    1. # listener.ora Network Configuration File: C:appAdministratorproduct11.2.0dbhome_1 etworkadminlistener.ora  
    2. # Generated by Oracle configuration tools.  
    3.   
    4. SID_LIST_LISTENER =  
    5.   (SID_LIST =  
    6.     (SID_DESC =  
    7.       (SID_NAME = CLRExtProc)  
    8.       (ORACLE_HOME = C:appAdministratorproduct11.2.0dbhome_1)  
    9.       (PROGRAM = extproc)  
    10.       (ENVS = "EXTPROC_DLLS=ONLY:C:appAdministratorproduct11.2.0dbhome_1inoraclr11.dll")  
    11.     )  
    12.   )  
    13.   
    14. LISTENER =  
    15.   (DESCRIPTION_LIST =  
    16.     (DESCRIPTION =  
    17.       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))  
    18.       (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))  
    19.     )  
    20.   )  
    21.   
    22. ADR_BASE_LISTENER = C:appAdministrator  

    2.  添加SID信息(红色字体部分)

    1. # listener.ora Network Configuration File: C:appAdministratorproduct11.2.0dbhome_1 etworkadminlistener.ora  
    2. # Generated by Oracle configuration tools.  
    3. SID_LIST_LISTENER =  
    4.   (SID_LIST =  
    5.     (SID_DESC =  
    6.       (SID_NAME = CLRExtProc)  
    7.       (ORACLE_HOME = C:appAdministratorproduct11.2.0dbhome_1)  
    8.       (PROGRAM = extproc)  
    9.       (ENVS = "EXTPROC_DLLS=ONLY:C:appAdministratorproduct11.2.0dbhome_1inoraclr11.dll")  
    10.     )  
    11.     <span style="color:#ff0000;">(SID_DESC =  
    12.       (GLOBAL_DBNAME = orcl)  
    13.       (ORACLE_HOME =  C:appAdministratorproduct11.2.0dbhome_1)  
    14.       (SID_NAME = orcl)  
    15.     )  
    16. </span>  )  
    17. LISTENER =  
    18.   (DESCRIPTION_LIST =  
    19.     (DESCRIPTION =  
    20.       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))  
    21.       (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))  
    22.     )  
    23.   )  
    24. ADR_BASE_LISTENER = C:appAdministrator  

    3.  重新启动 OracleServiceORCL 和 OracleOraDb11g_home1TNSListener 服务。最后试一试,连接成功!

    附:

    PL/SQL DEVELOPER 和 SQLPLUS 采用 service_name 进行连接

    而应用程序是按照 sid_name 进行连接,所以出现 PL/SQL DEVELOPER和SQLPLUS 能够连接而应用程序却无法连接的问题。

    使用 SELECT INSTANCE_NAME FROM V$INSTANCE 语句,就可以查看当前数据库实例的sid_name了。

    http://blog.csdn.net/mdifferent/article/details/7887832
  • 相关阅读:
    sqlite设置主键
    sqlite 分页
    Server.Transfer方法在页面间传值
    JS实现背景透明度可变,文字不透明的效果
    css hack 区分浏览器
    Asp.net(c#)实现多线程断点续传
    C# 中的委托和事件
    使用C#的HttpWebRequest访问网站
    相似图片搜索的原理
    asp.net内存溢出问题
  • 原文地址:https://www.cnblogs.com/chen110xi/p/4615657.html
Copyright © 2020-2023  润新知