1.OracleOraDb10g_home1TNSListener和OracleServiceNANFUNG服务已启动
2.服务器注册表中已有Oracle_Sid=NanFung
3.服务器系统环境变量中已有Oracle_HOME和Oracle_Sid两项值,分别为:
  Oracle_HOME=C:\oracle\product\10.2.0
  Oracle_Sid=NanFung
4.服务器端listener.ora文件为:
# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = NanFungDB)
      (SID_NAME = NanFung)
    )
  )LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.78)(PORT = 1521))
  )5.客户端tnsnames.ora为:
# tnsnames.ora Network Configuration File: I:\oracle\product\10.2.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.NANFUNGDB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.78)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = NanFungDB)
    )
  )6.在服务器端连接:7.客户端连接:
请问如何解决?谢谢!~

解决方案 »

  1.   

    OracleDBConsoleNANFUNG 服务启动了吗?
      

  2.   

    在cmd命令行窗口下面 lsnrctl start ,启动监听服务。
      

  3.   

    环境变量PATH: ORACLE_HOME 都指定好了吗?
      

  4.   

    环境变量path 添加:C:\oracle\product\10.2.0\bin  了吗?
      

  5.   

    在服务端使用lsnrctl start后,监听启动了,但是在客户端连的时候还是提示同样的错误,与第二个图一样
      

  6.   


    Oracle_HOME=C:\oracle\product\10.2.0 
    Oracle_Sid=NanFung 
      

  7.   


    SERVICE_NAME = NanFung试试
       
      

  8.   


    你的图片看不到啊!参考:http://hi.baidu.com/8741659422/blog/item/62333d300112699fa9018e2d.html
      

  9.   


    同意,可能是你的 SERVICE_NAME  不对。
      

  10.   


    或者这里换成
    (CONNECT_DATA = 
          (SID = NanFungDB) 
        ) 
      ) 
      

  11.   


    sorry 贴出了
    应该是换成(CONNECT_DATA = 
          (SID = NanFung) 
        ) 
      ) 试试
      

  12.   

    你的ORACLE_SID 好象有问题,是 NanFungDB 还是 NanFung
      

  13.   

    都不行哦, CSDN怎么发图?
      

  14.   

    在服务器上运行lsnrctl status  查看一下listener的实例状况先,把结果发上来看看
      

  15.   


    看得到吗?CSDN不能上传本地图片???
      

  16.   

    LSNRCTL> status
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.78)(PORT=1521)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
    ction
    启动日期                  12-6月 -2009 11:46:34
    正常运行时间              0 天 4 小时 15 分 21 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          C:\oracle\product\10.2.0\db_1\network\admin\listener.o
    ra
    监听程序日志文件          C:\oracle\product\10.2.0\db_1\network\log\listener.log监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=server)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
    服务摘要..
    服务 "NanFungDB" 包含 2 个例程。
      例程 "NanFung", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
      例程 "nanfung", 状态 READY, 包含此服务的 1 个处理程序...
    服务 "NanFungDB_XPT" 包含 1 个例程。
      例程 "nanfung", 状态 READY, 包含此服务的 1 个处理程序...
    服务 "PLSExtProc" 包含 1 个例程。
      例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    命令执行成功
      

  17.   


    listener是OK的,实例也注册上去了 service_name为NanFungDB客户端(SERVICE_NAME = NanFungDB) 是正确的写法。根据你的status信息,服务器上的一切都是OK的,client的tnsname也是正确的。检查服务器的防火墙关闭了没有,
      

  18.   

    你现在连过没有,如果还不行的话,把tnsname.ora拷过来看看,不知道,后来改来改去的是不是又改的不对了。
      

  19.   

    1、检查oracle\product\10.2.0\client_1\NETWORK\ADMIN下的tnsnames.ora文件
    TEST =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.5.122)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = test)
          (SERVER = DEDICATED)
        )
      )
    host是不是对的!最好使用机器名,最好不要使用IP.test就是你的SID,你可以通过Enterprise Manager Console这个客户端进去看下你的数据库树
    2、命令启动下tns和ora服务。先停止lsnrctl  stop,然后启动lsnrctl  start。
    服务启动net start oracleservicecong, cong是服务,可以在我的电脑-管理-服务中看到。
    服务关闭net stop oracleservicecong