我用的是sqlplus输入:SQL> connect Test/Test@openview;
ERROR:
ORA-12170: TNS:Connect timeout occurred但如果直接SQL> connect Test/Test;
Connected.由于项目接口要@SID,问下第一种方式为什么不能连?如何改?谢谢!

解决方案 »

  1.   

    补充一下,我用
    tnsping openview去连接$SID,发现目标地址不对
    Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=15.217.80.84)(PORT=1521))(ADDRESS=
    (PROTOCOL=TCP)(HOST=15.217.80.84)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=15.217.80.84)(PORT=1521)))这个15.217.80.84不是本地IP地址,因为这个机器的IP变更过,因此问下这个怎么改掉?
    我查了一下
    listener.ora和tnsnames.ora都是改过正确的。
      

  2.   

    回1楼,我的Oracle服务和listerner服务都重启过了的。
      

  3.   

    这个是tnanames.ora,可以看到ip变了的,而且我也重启过了。[root@IMQSMOL0 admin]# cat tnsnames.ora 
    ###########
    # FILENAME: tnsnames.ora
    # DATE....: Jan 7 1999
    # NETWORK.: openview
    # NODE....: Client
    # SERVICE.: C_OPENVIEW_COMMUNITY
    # COMMENT.: For use with HP OpenView IT/Operations
    ###########
    ov_net =
      (DESCRIPTION= 
        (ADDRESS_LIST= 
            (ADDRESS =  (PROTOCOL = IPC)(KEY =openview))
            (ADDRESS = 
              (COMMUNITY=OPENVIEW_COMMUNITY)
              (PROTOCOL=TCP)
              (HOST=16.173.243.88)
              (PORT=20199)
            )
        )
        (CONNECT_DATA=
          (SID=openview)
        )
      )# for compatibility reasons
    ov_net.world =
      (DESCRIPTION= 
        (ADDRESS_LIST= 
            (ADDRESS =  (PROTOCOL = IPC)(KEY =openview))
            (ADDRESS = 
              (COMMUNITY=OPENVIEW_COMMUNITY)
              (PROTOCOL=TCP)
              (HOST=16.173.243.88)
              (PORT=20199)
            )
        )
        (CONNECT_DATA=
          (SID=openview)
        )
      )
      

  4.   

    connect Test/Test@ov_net;这样连接
      

  5.   

    谢谢,这个是可以连了,不过由于程序接口会解析找$SID,因此后面程序会出问题。问下
    1> 怎么能Test/Test@openview连接呢?2>你看tnsping的时候连的错误的IP,怎么改呢?谢谢!
      

  6.   

    1、创建一个openview服务就可以了
    openview =
      (DESCRIPTION= 
        (ADDRESS_LIST= 
            (ADDRESS =  (PROTOCOL = IPC)(KEY =openview))
            (ADDRESS = 
              (COMMUNITY=OPENVIEW_COMMUNITY)
              (PROTOCOL=TCP)
              (HOST=16.173.243.88)
              (PORT=20199)
            )
        )
        (CONNECT_DATA=
          (SID=openview)
        )
      )
    然后再执行tnsping openview;
      

  7.   


    tnsping 的东西不对就说明tnsnames.ora不正确
    tnsping 会显示它解析的文件路径,去那里改tnsnames.ora,那个才是它用的文件。