• ORA-12505 错误解决


     在Fedora下安装了Oracle 10gR2,安装完成之后,使用netca创建了监听,创建的时候没有使用默认的LISTENER和1521端口,而是使用了LISTENER_DELL和1522端口,终端下显示完成,然后在$ORACLE_HOME/network/admin/tnsnames.ora下增加一个tns别名。
     
    DELL =
      (DESCRIPTION =
        (ADDRESS_LIST = 
          (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
        )
        (CONNECT_DATA = 
          (SERVER = DEDICATED)
          (SID = dell)
        )
      )
    加好之后,如下登录
    sqlplus /nolog
    connect scott/tiger@dell
    登录之后就报错了,ORA-12505,按说监听方面的错误还是很好解决的,结果检查了监听也是正常启动的,但就是无法按照@DELL来登录,将tnsnames.ora里面SID = dell 改成 SERVER_NAME = dell  还是一直报错ORA-12505, TNS:listener does not currently know of SID given in connect descriptor。 
          然后发现$ORACLE_HOME/network/admin/目录下没有sqlnet.ora文件,运行netca,设置命名方法,运行之后sqlnet.ora文件有了,内容如下: 
    more sqlnet.oraNAMES.DIRECTORY_PATH= (TNSNAMES)
    再次尝试登录,发现还是同样的错误。于是突然想到Oracle肯定一直是以LISTENER这个并未启动的监听来来Oracle提供监听信息,而我并没有使用默认监听名称所以造成这个错误,于是给监听文件listener.ora添加SID信息。
    LISTENER_DELL =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = avon)(PORT = 1522))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
        )
      )
     
    SID_LIST_LISTENER_DELL =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
          (PROGRAM = extproc)
        )
      )
    添加SID信息 (见蓝色加粗字体)
     SID_LIST_LISTENER_DELL =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (GLOBAL_DBNAME = dell)
          (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
          (SID_NAME = dell)
        )
      )
     
    加好之后保存退出 :wq
    进行测试,还是报错,发现tnsnames.ora 里面我设置的是SERVER_NAME,于是给改成SID = dell 再次测试
    sqlplus /nolog
    SQL> conn scott/tiger@dell
    Connected.
    OK,一切正常。
     
    后记:在windows下也进行了同样的尝试,发现如果不使用LISTENER作为默认监听名称 端口不为1521的话,也会导致这个错误,而解决方法和上面一致。 不过并没有尝试名称为LISTENER但是端口不为1521的情况。
     
     
     
     
    C:Windowssystem32>lsnrctl
    LSNRCTL for 32-bit Windows: Version 10.2.0.3.0 - Production on 13-9月 -2010 23:2
    6:34
    Copyright (c) 1991, 2006, Oracle.  All rights reserved.
    欢迎来到LSNRCTL, 请键入"help"以获得信息。
    LSNRCTL> status
    正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
    TNS-12541: TNS: 无监听程序
     TNS-12560: TNS: 协议适配器错误
      TNS-00511: 无监听程序
       32-bit Windows Error: 61: Unknown error
    LSNRCTL> set current_listener LISTENER_DEMO
    目前的监听程序为 LISTENER_DEMO
    LSNRCTL> status
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=scott-PC)(PORT=1522)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER_DEMO
    版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.3.0 - Produ
    ction
    启动日期                  13-9月 -2010 23:17:13
    正常运行时间              0 天 0 小时 9 分 41 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          D:oracleproduct10.2.0db_1 etworkadminlistener.o
    ra
    监听程序日志文件          D:oracleproduct10.2.0db_1 etworkloglistener_dem
    o.log
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=scott-PC)(PORT=1522)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC0ipc)))
    服务摘要..
    服务 "PLSExtProc" 包含 1 个例程。
      例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    命令执行成功
    以上为出现ORA-12505错误时,监听的状态,
    以下为修改正常,监听重启后的状态
    LSNRCTL> set current_listener LISTENER_DEMO
    目前的监听程序为 LISTENER_DEMO
    LSNRCTL> stop
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=scott-PC)(PORT=1522)))
    命令执行成功
    LSNRCTL> start
    启动tnslsnr: 请稍候...
    TNSLSNR for 32-bit Windows: Version 10.2.0.3.0 - Production
    系统参数文件为D:oracleproduct10.2.0db_1 etworkadminlistener.ora
    写入D:oracleproduct10.2.0db_1 etworkloglistener_demo.log的日志信息
    监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=scott-PC)(PORT=1522)))
    监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC0ipc)))
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=scott-PC)(PORT=1522)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER_DEMO
    版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.3.0 - Produ
    ction
    启动日期                  13-9月 -2010 23:35:14
    正常运行时间              0 天 0 小时 0 分 6 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          D:oracleproduct10.2.0db_1 etworkadminlistener.o
    ra
    监听程序日志文件          D:oracleproduct10.2.0db_1 etworkloglistener_dem
    o.log
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=scott-PC)(PORT=1522)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC0ipc)))
    服务摘要..
    服务 "PLSExtProc" 包含 1 个例程。
      例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    服务 "demo" 包含 1 个例程。
      例程 "demo", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    命令执行成功
     
     
  • 相关阅读:
    2.变量
    1.注释
    MyEclipse使用教程:使用DevStyle增强型启动
    DevExpress WPF v19.1新版亮点:Data Editors等控件新功能
    测试工具Telerik Test Studio发布R2 2019|支持VS 2019
    MyEclipse使用教程:使用主题自定义工作台外观
    DevExpress WPF v19.1:Data Grid/Tree List等控件功能增强
    知名界面类控件Kendo UI for jQuery R2 2019 SP1发布|附下载
    MyEclipse使用教程:unattended安装
    跨平台开发框架DevExtreme v19.1.4正式发布|附下载
  • 原文地址:https://www.cnblogs.com/duwanjiang/p/5939442.html
Copyright © 2020-2023  润新知