求救:无法连接数据库,但是我ping那个ip地址却可以连接的上

解决方案 »

  1.   

    看看服务器端服务是否启动
    tnsname.ora里的实例名是否配置正确
      

  2.   

    客户端要连接服务器必须在tnsnames里添加配置信息
    楼主是不是没有配置
      

  3.   

    tnsping SID通不?
    C:\Documents and Settings\user.HQ-TEXT>tnsping orclTNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 28-8月 -
    2009 18:03:31
    Copyright (c) 1997, 2005, Oracle.  All rights reserved.已使用的参数文件:
    D:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
    TNS-03505: 无法解析名称
    C:\Documents and Settings\user.HQ-TEXT>tnsping test
    TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 28-8月 -
    2009 18:03:39
    Copyright (c) 1997, 2005, Oracle.  All rights reserved.
    已使用的参数文件:
    D:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
    已使用 TNSNAMES 适配器来解析别名
    Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = HFCC-KF-
    3068)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TEST)))
    OK (30 毫秒)
    C:\Documents and Settings\user.HQ-TEXT>
      

  4.   

    ping 通不能说明问题,你telnet 1521端口看看能不能通,不通的话可能是实例服务没有开启。连不上的可能行比较多,你把具体连不上的细节说一下,你时通过什么工具连不上?
      

  5.   

    在服务器本机先试试sqlplus,确保数据库已经启动,然后lsnrctl status,查看监听状况,确定监听端口,已经监听已经启动,实例已经注册关闭防火墙,或者打开1521端口,并修改注册表启动shared socket在客户端tnsping tnsname,确保tnsname配置正确用正确的用户密码连接。
      

  6.   

    tnsping ip(of oracle server), show the results
      

  7.   

    tnsname.ora里的实例名是否配置正确,客戶端要添加配置服務器上的trsname.ora中對應當那一段代碼
      

  8.   

    如果在nomount下,ping通也是连不上数据库的。
      

  9.   

    不会是别的问题,肯定是tnsname.ora里的实例名的问题.
      

  10.   

    步步出错,层层分析–tns的一些常见错误分析实例
      

  11.   

    好文章我刚在尝试的时候又出了个错误
    SQL*Plus: Release 10.2.0.1.0 - Production on Mon Sep 28 00:30:41 2009Copyright (c) 1982, 2005, Oracle.  All rights reserved.SQL> conn / as sysdba
    ERROR:
    ORA-12560: TNS:protocol adapter error
    出现这个错误时候我把LISTENER服务启来了 实例服务OracleServiceORCL没启
      

  12.   

    还有个问题哦 
    我发现我的D:\oracle\db_1\NETWORK\ADMIN目录下不仅有listener.ora,sqlnet.ora,tnsnames.ora三个文件 还有好多它们的备份文件 后缀名都是.bak
    不知道是我自己做什么操作了产生它们的还是ORACLE自动产生的??我觉得应该是我自己做了什么吧 因为这些.bak文件的最后修改日期都是2009-8-28
    如果ORACLE自动备份的话不会一天备份这么多嘛 应该隔几天备份一次才对 所以应该不是啦