场景:
  OS:windows 
  数据库:oracle 8.1.6
  客户端程序:PB应用
  
  我编写了一个oracle Function :fun_a(处理业务逻辑,运算,运算过程使用物理表做中间数据的存储,使用物理表存储运算的最终结果。整个执行时间大约5分钟),在客户端程序重调用,将结果显示出来。
  一年多时间运行一直良好,前几天做了数据库的迁移(数据库同版本,只是换了硬件服务器),迁移后,执行过程中有的用户出现“ORACLE通讯管道文件结束”错误,有些能正常运行。  而在原来的数据库上,不存在这些问题,一切正常。  我想破了脑袋,还请大家帮我分析一下,提提建议

解决方案 »

  1.   

    通信文件结束,即ora-03113错涉及太多方面的内容,不过可以从以下几个方面看一下:
    1、网络状况,依你的状况,我认为可能是这方面的原因,在出问题的客户端运行一下
      c:>ping server_ip地址 -t
      时间长一点,看是不是丢包.
    2、看一下补丁是不是打到最新的了,这方面可以问一下oracle,因为metalink已经没有8.1.6的补丁了。
    3、看一下你的内存状况,检查一下是不是分配给oracle的内存太多了。
      

  2.   

    在linux和unix系统上(起码在solaris\unixware是的),要设置一些核心参数,其中有一项网络连接多长时间没有活动,视为断联
    查查是不是因为这个
      

  3.   

    是不是有什么应用,占用了1521和1526端口,
    在客户端用 TNSPING <连接字符串>
    看下客户端连接服务器的情况。
      还有就是在服务器上,检查ORACLE的设置是否正确。
    数据库是否运行正常。