创建了database link 吗?
在192.168.9.102
SQL>create public database link 连接名 connect to user indentified by passwd using 'hlj';

解决方案 »

  1.   

    用net8 easy config测试一下你的这个主机字符串,看能不能成功
      

  2.   

    首先使用
    oracle>tnsping hlj
    看是否有报错。
      

  3.   

    1、先测试
       用net8 easy config测试
       SQLPLUS 也可以
    2、再使用
      

  4.   

    如果tnsnames是用工具配出来的,应先测试连接!!
    否则,你应该确认
    SERVICE_NAME = hlj还是SERVICE_SID = hlj。
    应该没什么问题的。
      

  5.   

    你先在这个机器上(192.168.9.22)用sqlplus ucis/ucis@hlj看能否打开
    如果能打开,再看lsnrctl start 是否启起来了 
    如果启起来了再在192.168.9.102中用sqlplus ucis/ucis@hlj看能否打开
    应该能行吧,
    hlj =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.9.22)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = hlj)
        )
      )
    你配的也正确呀!你PORT?1521确信是对的吗?,还有网络是通的吗?
    再试一下吧!
      

  6.   

    谢谢各位!我用tnsping hlj测试是好的,而且通过其它机器的ORACLE客户端进行(192.168.9.22)测试也是好,SERVICE_NAME 是对的,PORT也是对的,就是在UNIX(192.168.9.102)中用SQLPLUS不行。
      

  7.   

    我想起来了,有可能是你的oracle环境变量设置有问题!
    你是用oracle这个用户登录的吗?
    .profile下面是.profile参照一下
    PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/vacpp/bin:/usr/vac/bin:/usr/bin/X11:/sbin:.export PATHif [ -s "$MAIL" ]           # This is at Shell startup.  In normal
    then echo "$MAILMSG"        # operation, the Shell checks
    fi                          # periodically.ORACLE_BASE=/oracle
    #ORACLE_HOME=$ORACLE_BASE/app/product/oracle/8.1.7
    ORACLE_HOME=$ORACLE_BASE/app/oracle/product/8.1.7
    ORACLE_SID=ora817
    ORACLE_OWNER=oracle
    PATH=$PATH:/usr/bin/ccs:$ORACLE_HOME/bin
    LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:$ORACLE_HOME/lib64:/usr/vacpp/include
    #NLS_LANG=American_America.ZHS16GBK
    NLS_LANG=American_America.zhs16cgb231280
    TERM=vt100
    #DISPLAY=192.168.168.211:0
    TMP=$ORACLE_BASE/tmp
    PS1='['`hostname`']$PWD>'export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_OWNER PATH LIBRARY_PATH NLS_LANG  TMP TERM DISPLAY
    PS1