我需要从一台oracle8.16的服务器连到一台Oracle7.3.2.2.0的服务器,进行数据接口操作,但连接时报错,
用SQLNET方式连接时,错误代码为ora3113,用DBlink连接时,代码为3117。
但是从oracle8.16的服务器连接到Oracle7.3.4.4.0时是正常的。
请问是版本不兼容引起的吗,应该如何解决???oracle8.1.6的服务器和Oracle7.3.4.4.0的服务器用的是AIX系统,Oracle7.3.2.2.0用的是SCO5.0.4

解决方案 »

  1.   

    介绍一个查这些东西的网址:
    www.orafaq.com
      

  2.   

    在你使用oracle816client,对其用Net8 configuration assistant进行配置时选择"Oracle发行版8.0或oracle7数据库或服务"这个,另把sqlnet.ora中除NAMES.DIRECTORY_PATH这项外的其它项先都注释掉试一下。
      

  3.   

    ora-3113  “通信文道结束”:
    是个含义甚宽泛的错误,它仅仅是oracle的客户端前台进程((svrmgrl, sqlplus, RMAN, Oracle Forms etc.) 与其后台进程丢失了连接。
    错误的原因很多。在oracle开发者提到这个词的时候,总以为是网络故障,但是据报告,任何造成后台进程crash的事情都是出现这个错误的原因。该信息或许和其他的错误信息一同出现。如果被损坏的后台进程是oracle的关键进程(PMON, SMON, DBWR etc.),你会得到“oracle不可用”的错误信息。查看你的日志或者查看任何跟踪文件可以帮助你对问题进行诊断。下面是一些造成该错误的原因总结:
    (1)Invalid value for processes parameter in init.ora when starting database
      当然,要解决它,就是把那些参数值调整为有效范围内的值。
    (2)setuid bit needs setting on the oracle executable(Unix only).
    The oracle executable in the $ORACLE_HOME/bin directory should have the permissions: 
       -rwsr-sr-x   1 oracle   dba
    (3)shared_pool_size too small.
      你可以把它设置在200M以上。
    (4)timed_statistics=true.
       你可以把它设置为false。
    (5)An insert into a table which grew into an additional extent allocated in a datafile which was over 2Gb in size.
      这是在你的操作系统文件不允许超过2G的时候才会发生的,而且如果发生了错误,数据库就完蛋了。
    (6)Create table as select .... where there was an invalid procedure or function called from a trigger defined on the table we were selecting from.
    那就是把你所有的过程、函数和包全部编译一遍。
    (7)Make use of Oracle Support / Metalink
      寻求oracle技术支持吧!
      

  4.   

    上面是我翻译的,原文看:
    http://expert.csdn.net/Expert/topic/1203/1203107.xml?temp=.1845667
      

  5.   

    谢谢jiezhi,问题用其它方法解决了.是从7.3.2.2.0的服务器建立DBLINK,用存储过程送数据过去.但我还想请问一下:
    用8.1.6的客户端连到7.3.2.2.0的服务器是正常,用8.1.6的服务器连到7.3.4.4.0的服务器也是正常的,唯有从8.1.6的服务器到7.3.2.2.0的服务器时报3113错误,可能是什么原因呢.
      

  6.   

    ok 不再有人回复,那就结帖谢谢 jiezhi 解答很详细,3113错误确实是一个很广泛的错误
    谢谢大森林  方法可能有用,但我是在服务器连服务器,且unix下是没有在WINNT下的工具的。