在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:\Windows\system32>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:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
监听程序日志文件          D:\oracle\product\10.2.0\db_1\network\log\listener_dem
o.log
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=scott-PC)(PORT=1522)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
服务摘要..
服务 "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:\oracle\product\10.2.0\db_1\network\admin\listener.ora
写入D:\oracle\product\10.2.0\db_1\network\log\listener_demo.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=scott-PC)(PORT=1522)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
正在连接到 (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:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
监听程序日志文件          D:\oracle\product\10.2.0\db_1\network\log\listener_dem
o.log
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=scott-PC)(PORT=1522)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
  例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "demo" 包含 1 个例程。
  例程 "demo", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
 
 

ORA-12505 错误解决的更多相关文章

  1. 关于oracle数据库报12505错误的问题!

    问题阐述: 导致oracle报12505错误的原因比较多,但是最可能一种原因就是客户端的监听出了问题. 解决办法: 在oracle安装目录下找到listener.ora 和 tnsnames.ora, ...

  2. Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法

    Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法 登陆数据库时提示 “ORA-01033”错误在命令窗口以s ...

  3. Oracle 数据库 Database Express Edition 11g Release 2 (11.2) 错误解决集锦(安装方面)

    前言:第一次接触数据库,想下载个oracle试玩下(虽然听说一般大企业才用),到 官网下载 了个简易版 XE 版本,安装时要注意记住自己输入的数据库密码(口令)  还有安装路径不能含有空格(Do no ...

  4. Oracle 11g R2(11.2.0.4) RAC 数据文件路径错误解决--ORA-01157 ORA-01110: 数据文件

    Oracle 11g R2(11.2.0.1) RAC  数据文件路径错误解决--ORA-01157 ORA-01110: 数据文件 oracle 11g R2(11.2.0.4) rac--scan ...

  5. 【故障处理】分布式事务ORA-01591错误解决

    [故障处理]分布式事务ORA-01591错误解决 1  BLOG文档结构图       2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你 ...

  6. SQL SERVER 9003错误解决方法 只适用于SQL2000

    SQLSERVER 9003错误解决方法 只适用于SQL2000 (只适用于SQL2000) "无法打开新数据库 'POS'.CREATE DATABASE 中止. (Microsoft S ...

  7. linux下遇见mysql启动报2002错误解决办法

    前言:目前问题解决了,但是仍不知道是什么原因造成的,在出现问题前安装uWSGI后,mysql就出现这个问题的,哪位大侠说说这是怎么回事? 正文:Linux 下 Mysql error 2002 错误解 ...

  8. Ubuntu 汉化时ubuntu software database is broken错误解决

    关于Ubuntu 汉化时的错误解决:按照网上的方法没有解决 最后 删掉thunderbird mail .这个软件,顺利解决!! 错误:thunderbird-locale-en: Depends: ...

  9. 记录centos6.8安装Oracle10.2.0.1过程中的错误解决

    [root@hadoop01 database]# ./runInstaller ./runInstaller: /opt/database/install/.oui: /lib/ld-linux.s ...

  10. New XAMPP security concept:错误解决方法

    New XAMPP security concept:错误解决方法 (2014-03-06 16:07:46) 转载▼   分类: php 在Linux上配置xampp后远程访问域名报错: New X ...

随机推荐

  1. 在Linux系统中如何设置APACHE服务器里的后台页面只允许某个IP地址访问

    补充资料 本网络中使用LINUX服务器,web服务器是由APACHE搭建,IP地址为192.168.1.5,后台页面为/admin/login.jsp . 如何设置后台页面LOGIN.JSP只允许19 ...

  2. python 类中staticmethod,classmethod,普通方法

    1.staticmethod:静态方法和全局函数类似,但是通过类和对象调用. 2.classmethod:类方法和类相关的方法,第一个参数是class对象(不是实例对象).在python中class也 ...

  3. CenOS 7 安装mysql

    1:安装YUM源 2:利用file zilla 将mysql文件拖放到 /var/opt  目录下 3:在centos当中,已经将mysql的文件放到了 /var/opt  我们只需要安装就可以 安装 ...

  4. Node调试之道-----JSHint

    Node调试之道-----JSHint Node的优势我就不再乱吹捧了,它让javascript统一web的前后台成为了可能.但是对于新手来说,server端的JS代码可能不像client端的代码那么 ...

  5. VSFTP服务器

    vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点.vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 ...

  6. 黄聪:Wordpress二级域名共享用户cookie出现错误解决方案及WP的Cookie机制

    在若干年以前,我刚开始折腾Wordpress没多久的时候,就自己摸索过 多个Wordpress网站共享一份数据表的实现方法 .这种看起来好像很高大上的类SSO功能,能够给用户在多个网站之间提供快速.无 ...

  7. 在Linux中永久设置Anaconda环境变量的方法

    [感谢:http://www.codesec.net/view/459539.html] 如果在安装Anaconda的过程中没有将安装路径添加到系统环境变量中,需要在安装后手工添加: 1.在终端输入$ ...

  8. Bootstrap之BootstrapDialog

    Make use of Bootstrap's modal more monkey-friendly. 参考地址:http://nakupanda.github.io/bootstrap3-dialo ...

  9. centos 6.3 安装 svn

    1. 按照http://ostechnix.wordpress.com/2013/04/30/install-subversion-server-in-centos-6-4-rhel-6-4-scie ...

  10. Flex中使用CSS控制页面样式

    Using file: Stylebounding.mxml Stylebounding2.mxml myCSS0329.css 在Flex4中使用CSS控制样式,既可以直接在MXML文件中写样式,也 ...