确定LT.LOCATION1对象是否存在。
建立数据库链时,是用哪个用户进行建数据库链的。

解决方案 »

  1.   

    c:\>tnsping slLink  --看是否对
      

  2.   

    各位大侠,看了你们的回复。我还是不是很明白。能不能在说的详细一点。
    逻辑错误是指的什么?
    我的LT.LOCATION1对象是存在的。两个数据库之间相互通信,所以都建立了数据库链,只是名字相同,都为slLink。程序如下:SQL> CONNECT SYSTEM/SYSTEM@SIG;
    建立sig到lt的数据库链接:
    SQL> CREATE PUBLIC DATABASE LINK slLink CONNECT TO system IDENTIFIED BY manager USING 'lt';
    SQL> 数据库链已创建
    SQL> CONNECT SYSTEM/MANAGER@LT;
    建立lt到sig的数据库链接:
    SQL> CREATE PUBLIC DATABASE LINK slLink CONNECT TO system IDENTIFIED BY system USING 'sig';
    SQL> 数据库链已创建按照建议:
    我运行了:
    c:\>tnsping slLink  
    TNS Ping Utility for 32-bit Windows:Version 9.0.1.1.1 - Production on 06-7月-2004 09:06:57copyright <c> 1997 Oracle Corporation. All rights reserved.已使用的文件参数:
    E:\oracle\ora92\network\admin\sqlnet.ora
    E:\oracle\ora92\network\admin\tnsnames.oraTNS-03505:未能分解名称这是什么意思呢?哪儿有问题?我还是不理解阿
      

  3.   

    打开tnsnames.ora内的slLink是否有误.
    要把sqlnet.ora内的#NAMES.DEFAULT_DOMAIN = huarun.com注解掉
      

  4.   

    sqlnet.ora文件打开,内容如下:
    # SQLNET.ORA Network Configuration File: E:\oracle\ora92\network\admin\sqlnet.ora
    # Generated by Oracle configuration tools.
    SQLNET.AUTHENTICATION_SERVICES= (NTS)
    NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)tnsnames.ora内容如下:
    SIG=
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = spatial-server)(PORT = 1521))
        )
        (CONNECT_DATA = (SID = sig)(SERVER = DEDICATED))
      )LT =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = lt1)(PORT = 1521))
        )
        (CONNECT_DATA = (SERVICE_NAME = lt))
      )能帮我看看么?怎么样子看slLink是否有误?sqlnet.ora内没有#NAMES.DEFAULT_DOMAIN = huarun.com啊!还有就是发现一个问题,我的LT怎么会没有SID呢?
      

  5.   

    再补充问一句,看了在snmp_ro.ora的内容,其中的snmp.remoteaddress.lt 的值又包括SID了,是不是就是说明因该把tnsnames.ora内容改一下?
    snmp.visibleservices = (listener, lt)
    snmp.shortname.listener = LISTENER
    snmp.longname.listener = listener_lt1
    snmp.configfile.listener = E:\oracle\ora92\network\admin\listener.ora
    snmp.oraclehome.listener = E:\oracle\ora92
    snmp.servicename.listener_lt1 = OracleOraHome92TNSListener
    snmp.SID.lt = LT
    snmp.oraclehome.lt = e:\oracle\ora92
    snmp.address.lt = (ADDRESS=(PROTOCOL=BEQ)(PROGRAM=ORACLE)(ARGV0=ORACLELT)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))'))
    snmp.remoteaddress.lt = (DESCRIPTION=(ADDRESS_LIST =   (ADDRESS = (PROTOCOL = TCP)(HOST = lt1)(PORT = 1521)) ) (CONNECT_DATA=(SID=LT)(SERVER=DEDICATED)))
    ifile = E:\oracle\ora92\network\admin\snmp_rw.ora
    ifile = E:\oracle\ora92\network\admin\sqlnet.ora