现在的情况是这个样的
有4台oracle服务器 A10,B10,C8,D8
其中,A10和B10是使用了10g
C8和D8是使用8i
4台服务器的表结构什么的都一样的在A10中做了一个package,来实现这4台DB间的同步目前出现了2个问题
1.ORA-02020: 过多的数据库链接在使用中
B10 -> A10  OK
A10 -> B10  OK
C8  -> A10  NG
C8  -> B10  NG
D8  -> A10  OK
D8  -> B10  OK
郁闷,默认是4,我没有超过阿。
网上都说是增加open_links,但都是修改Ini文件来达到这个目的,在10g中没有这个配置文件,该如何修改?
如果不修改是否可以行?2.A10 -> C8 
  C8  -> D8
导入时
会出现这种错误
ORA-03106:致命的双工通信协议错误
ORA-00600:内部错误代码,自变量:[],[],[],[],[],[],[],[]
救命啊~~~~~~~~~~~~~~~~~~

解决方案 »

  1.   

    不同的版本驱动程序是不一样的,看错误提示
    你检查一下tnsnames.ora里面的所使用的协议
      

  2.   

    修改open_links:
    alter system set open_links=20 scope=spfile;
      

  3.   

    alter system set open_links=50 scope=spfile; 
      

  4.   


    不太理解[tnsnames.ora里面的所使用的协议]是指哪里。
    能否详细点说明呢?
    该文件中的格式就是以下这个,8i和10g的格式是一样的
    A10 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = IP_10g)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )
      

  5.   

    (ADDRESS = (PROTOCOL = TCP)(HOST = IP_10g)(PORT = 1521)) 
      

  6.   

    明白楼上的意思了,不过8i和10g都是用TCP协议的,没有区别。
      

  7.   

    现在发现,出现这些错误原因是在同步数据的时候是用了
    insert into table@C8 (a,b) select a,b from table@A10 where ......
    这样的语法。所以想了个办法先用游标把需要同步的数据读出来,再直接用Insert命令插入,结果成功*~*!目的是达到了,但是其中的原委实在不明了。哪位大虾来解释一下呢?