ORA-03113: 通信通道的文件结束

ORA-03113:通信通道的文件结尾-完美解决方案 阅读详情

我执行了一个存储过程,      出现如下提示:  
ORA-03113:      通信通道的文件结束

这是什么意思?  
---------------------------------------------------------------  

这个多半是由于网络问题引起的      ,本身不是oracle的错误,检查一下网络状况和系统核心参数的设定  
---------------------------------------------------------------  

“通信文道结束”是个含义甚宽泛的错误,它仅仅是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技术支持吧!

不过通过以上的建议没有解决问题,然后又往下搜

ORA-03113 And ORA-03114 On Desktop Platforms


What does ORA-03113 "end-of-file on communication channel" really mean?    

ORA-03113 is the most common catchall error.    It basically means that  
communications were lost for an unexpected reason.    It is usually followed by  
ORA-03114 "not connected to ORACLE".    

1.    As it turns out, the most common reason is that the Oracle shadow process
      on the server died unexpectedly.    So, if a running process were to  
      suddenly encounter an ORA-03113 and/or 3114, the first place to check is  
      the alert.log on the server to see if any other Oracle errors occurred.  

2.    Next most common cause of ORA-03113 is that the SQL*Net driver was not  
      linked into the Oracle executable on Unix.    While the listener             
     successfully received the connection and passed it to the Oracle shadow  
      process, the shadow process would fail to respond in any way because it
      would not know how to.    So the client will see an ORA-03113 at connect     
     time.   

3.    Third most common cause is a machine crash or network failure at the  
      server side.   

4.    One less common cause has been observed is when there are two servers with
      the same node names on the same network.  

5.    ORA-03113 has also been noticed where the a TOKEN RING card has the  
      Shared RAM size set to 8KB rather than 16KB.    If you are using a    TOKEN  
      RING card check the shared buffer size and try increasing it.   

6.    ORA-03113 also occurs when INIT.ORA parameters CONTEXT_AREA and   
      CONTEXT_INCR are set to a value of 4096.    Increasing the value to 8192  
      resolves the 3113.    (RDVMS V6 only)  

7.    ORA-03113 also occurs when there are duplicate IP addresses on the  
      network. To find the duplicate addresses turn off the unit that is getting
      the 03113 and ping its IP address.    If the ping responds then you have to
      find the offending unit.  

8.    If an ORA-03113 error occurs intermittentlly on comparatively large select
      statements through SQL*DBA for OS/2 or when performing a query through  
      SQL*DBA, try setting the default buffer size to 4096, especially if   
      issuing an order by causes no problems but going through Q&E or SQR hangs  
      the machine.  

9.    If using FTP V2.11 and running a large SQL*Plus script with over 38        
     variables of mostly character data types, check the lan drivers.    The dxmc
      driver loads addressing for token ring adapter has an option to save  
      memory (through IBM lan suppport program).  

          r parameter (r: reduced)  
          t parameter (t: tiny)  

      You must specify the r and t parameter for the dxmc drive.  

      It all comes down to the fact that the client went out to read some  
      information from the server and suddenly found out the connection was no  
      longer there.  

      ORA-03113 is just a symptom of a larger problem that will require more  
      diagnosis to track down.    Hopefully, the above information will lead you
      in the right direction to find the solution.  

      To debug an ORA-03113, it is a good idea to attempt the same operation  
      while doing a loopback, i.e can any tool on the server connect using the  
      same connect string as they specify from the Desktop client?    If the same  
      problem occurs doing a loopback, then you know the problem resides on the
      server side and not on the Desktop client side.    

      To perform a loopback invoke SQLPLUS or SQLDBA from the server, and at the
      SQLPLUS or SQLDBA prompt on the server type:  

           CONNECT USERNAME/PASSWORD@t:<servername>/<portnum>:<sid>   

      For example, if you are getting an ORA-03113 issuing a certain query from
      SQL*Plus on DOS while connected via SQL*Net TCP/IP to a Unix server, try  
      a loopback by invoking SQL*Plus on the Unix machine and use the same  
      "t:<servername>:<sid>" connect string and then issue the same SELECT  
      statement.  

10. This error is sometimes received intermittently with applications written  
      with Gupta SQLWindows.    Apparently, the problem is due to some buffer  
      being used by the Gupta product.    This buffer is used to fetch data  
      returned by a query on the client side.    The default value for a parameter
      called FETCH ROW (in SQLWINDOWS) is 20.    Lowering this to something like  
      15 seems to work fine.
系 SQL 语句问题,可以 SQL_TRACE 去跟踪一下.

有的时侯要对Oracle进行relink操作。
在Unix上通过cp拷贝安装的时候,常常会出现环境变量的问题,和个别执行程序连接问题。 LD_LIBRARY_PATH如果设置的不正确会导致问题,在这种情况下,需要对Oracle进行relink。如果可执行文件oralcle被破坏,也要对其relink。 如果安装了并行服务器选项而Distributed Lock Manager没有安装或正确运行也会导致错误。

  • 客户端通信不能正确处理
1.SQL*Net驱动器的问题:
如果使用的版本比较低的驱动器,请更换到新版本的驱动。 SQL*Net 的驱动没有连接到Oracle可执行文件会导致错误。
2.检查TCP/IP网络是否通畅;
3.Windows平台的常见网络问题:
在Windows平台创建数据库的时侯,如果出现该问题可以考虑用如下的方法:

首先检查本地网络设置.查看网络上是否有同名的结点或有冲突的IP.如果问题依旧,可以保守的用下面的方法:

1). 禁用网卡:将本地连接状态改为禁用;
2). 将sqlnet.ora文件打开(以记事本形式)将nts验证注释掉:
#SQLNET.AUTHENTICATION_SERVICES= (NTS) 
3). 创建数据库;
4). 创建成功后,恢复本地连接;
  • 数据库服务器崩溃/操作系统崩溃/进程被异常的Kill
在连接过程中,如果Oracle数据库的服务器崩溃或者数据库所在的操作系统崩溃,就会出现这 个错误,Oracle Server崩溃的原因可能因为主要后台进程死掉,被错误的进行了Kill操作。如果是这个原因还是比较容易解决的。此外,和OS有关的应用程序存在内存泄漏(或者有病毒)的时侯也会导致Oracle后台程序问题。 推荐排错步骤:
  • 1、 查看应用软件相关进程是否正常运行;
  • 2、 查看有无内存泄漏;
  • 3、 查杀病毒;
  • 4、 确定系统管理员没有进行误操作;
  • 5、 确定无黑客入侵行为;
  • 6、 其它不确定因素......
  • Oracle 内部错误 / Bug
如果查看background_dump_dest目录中的alert.log发现有ora-600/ora-07445等错误,可以到Metalink站点上查看具体信息及其解决方案。一般情况下要打软件补丁。
  • 特定SQL、PL/SQL引起的错误
尝试把SQL进行分开执行,也可以用SQL_TRACE来进行跟踪,找到导致问题的SQL语句。在SQLPlus下:
ALTER SESSION SET sql_trace=TRUE;
SQL语句中的非法字符和不合理的处理结果,甚至一些不可解释的原因偶尔会带来问题.
SQL问题举例:
SELECT *
   FROM (SELECT ROWNUM AS num, k.*
           FROM (SELECT    a.cp_code, c.cp_cha_name, a.service_code,
                          a.service_name, a.content_name,
                          SUBSTR (a.access_time, 1, 8) thedate,
                          COUNT (*) AS hit_count
                     FROM sm_wap_log_daily_tab a, t_cp_info c
                    WHERE (SUBSTR (a.access_time, 1, 8) BETWEEN '20040301'
                                                            AND '20040304'
                          )
                      AND c.cp_code LIKE '%%'
                      AND a.cp_code = c.cp_code
                      AND a.service_code LIKE '%%'
                 GROUP BY a.cp_code,
                          c.cp_cha_name,
                          a.service_code,
                          a.service_name,
                          a.content_name,
                          SUBSTR (a.access_time, 1, 8)
                 ORDER BY a.cp_code,
                          a.service_code,
                          a.content_name,
                          SUBSTR (a.access_time, 1, 8) DESC) k) n;
上面这条语句在9204/Linux 系统上始终出现03113 的错误。对语句进行细化,分成小一点的子语句逐步执行,最后判定问题出现在
                  ORDER BY a.cp_code,
                          a.service_code,
                          a.content_name,
                          SUBSTR (a.access_time, 1, 8) DESC) k) n;
       
中的 SUBSTR (a.access_time, 1, 8) 这里。去掉SUBSTR (a.access_time, 1, 8)则问题不再出现。尝试调整SUBSTR (a.access_time, 1, 8) 的位置,语句得到通过。之后,顺便优化一下该语句。:) 
SELECT *
   FROM (SELECT ROWNUM AS num, k.*
           FROM (SELECT    a.cp_code, c.cp_cha_name, a.service_code,
                          a.service_name, a.content_name,
                          SUBSTR (a.access_time, 1, 8) thedate,
                          COUNT (*) AS hit_count
                     FROM sm_wap_log_daily_tab a, t_cp_info c
                    WHERE (SUBSTR (a.access_time, 1, 8) BETWEEN '20040301'
                                                            AND '20040304'
                          )
                      AND c.cp_code LIKE '%%'
                      AND c.cp_code = a.cp_code
                      AND a.service_code LIKE '%%'
                 GROUP BY a.cp_code,
                          c.cp_cha_name,
                          a.service_code,
                          a.service_name,
                          a.content_name,
                          SUBSTR (a.access_time, 1, 8)
                 ORDER BY (SUBSTR (a.access_time, 1, 8)),
                          a.cp_code,
                          a.service_code,
                          a.content_name DESC) k) n;
  • 系统空间不够
任何时侯都要确保数据库系统有足够的空间.如果 USER_DUMP_DEST和BACKGROUND_DUMP_DEST没有剩余空间的话,会导致此问题.此外,如果打开了审计,AUDIT目录要由足够的空间.如果激活了Trace的话,Trace目录要由足够的空间. Dave Wotton的文档 (Local Copy) 表明,在对表进行插入数据的时侯,如果文件超过了2G (而文件系统有2G限制),会导致该问题.
  • 防火墙的问题
如果数据要通过防火墙,请联系系统管理员,询问是否对数据库数据进行了过滤或者是突然禁止了通信端口。如本地安装有个人防火墙,请检查本地设置。
  • 其它方面说明
导致这个错误的原因有很多种,上面列到的只是一些典型情况。经常去一些数据库技术论坛可能会有帮助。比如说ITPUB( http://www.itpub.net)、CNOUG(http://www.cnoug.org)等。

 

Oracle错误——ORA-03113:通信通道的文件结尾 我的Oracle数据库是去年11月份安装的,然后安装好之后配置了一下,那个时候是正常的,没有什么问题,但是后来我就一直没有用自己本地的Oracle,使用的PL/SQL一直连的是同事的机子,然后今天突然想在自己的机子上做些测试,PL/SQL居然一直连不上,提示了下面这个错误。 提示ORA-03113:通信通道的文件结尾 进程 ID :0 会话 ID:0 序列号:0之后就是一系列的度娘谷歌论坛等等折腾 阅读详情

相关推荐

Oracle启动报错ORA-03113解决

问题: mount->open:提示ORA-03113:通讯通道的文件结尾 ORA-01034 ORA-27101 原因:开启过归档日志,归档日志暂用空间4G。导致空间不足。 解决参考网址: https://www.cnblogs.com/jyzhao/p/4305598.html(Oracle启动报错ORA-03113解决) 步骤摘要: 1.启动报错ORA-03113 2.查看aler...

qq_41141058的博客 6143

ORA-03113: 通信通道的文件结尾

一、报错及错误原因 启动oracle数据库事报错:ORA-03113: 通信通道的文件结尾,报错内容如下图   出现问题后,去查看告警日志文件(D:\app\diag\rdbms\cjyorcl\cjyorcl\trace\alert_cjyorcl.log),日志报错内容如下图   通过告警日志发现是db_recovery_file_dest_size也叫归档日志空间不足导致的...

cc_0101的博客 7万+

Windows下ArduPilot SITL仿真环境搭建与QGC地面站联调全攻略

软件在环仿真(SITL)是无人机开发中的关键一环,它通过将飞控固件运行在PC上,用数学模型模拟传感器数据,实现无硬件依赖的飞行逻辑验证。这项技术不仅降低了试错成本,更为地面站开发、自动化测试和任务规划提供了安全可控的试验场。在工程实践中,MAVLink协议作为飞控与地面站之间的通信桥梁,贯穿仿真、遥测与指令控制全程。结合QGroundControl(QGC)这一主流地面站,开发者可以直观地观察飞行状态、规划航点并记录日志。本文以Windows原生环境为例,详细介绍ArduPilot SITL的搭建流程、MA

weixin_31858171的博客 318

ORA-03113: 通信通道的文件结束解决方法一例

ORA-03113: 通信通道的文件结束解决方法一例

w36680130的博客 270

Anolis龙蜥内核升级实战:从查询到配置的全流程指南

本文提供了一份详尽的Anolis龙蜥操作系统内核升级实战指南。文章从升级的必要性出发,逐步讲解了升级前的系统检查与备份、从官方源获取正确内核包、分步安装与验证、配置默认启动项以及升级后的功能验证与安全回滚方案。旨在帮助运维人员安全、平稳地完成内核升级,以获取性能提升、新硬件支持及重要的安全漏洞修复。

qq_27496129的博客 572

【问题解析】Matlab Function的易错点(Variable Size)

Matlab Function的易错点

CrazyRabbit的博客 9869

执行sql语句 报 ora-03113 通信通道的文件结束

执行sql select * from (select my_table.*, rownum as my_rownum from (select distinct t1.uuid,f1.* from res_tp t1 left join (select f2.*, t5.committed_rate, t5.client_name, t5.serial from(select disti...

weixin_30361753的博客 800

别再瞎猜了!三角形接法PMSM的相电流到底怎么算?实测线电流转换公式与避坑指南

本文深入解析三角形接法永磁同步电机(PMSM)在FOC控制中的相电流计算误区,提供实测线电流转换公式与避坑指南。针对矢量控制系统中常见的√3换算错误,详细阐述正确的电流重构算法、硬件采样要点及软件优化技巧,帮助工程师实现精确控制并避免电机损坏。

weixin_30367873的博客 467

ORA-03113:通信通道的文件结束 ORA-03113错误分析

ORA-03113错误分析 版本历史 2003-5-22   v0.1   Created by Fenng   (Fenng@itpub.net) 版权声明 转载请注明作者及出处 ---------------------- 前言 ---------------------- 每一个DBA在进行数据库管理的过程中不可避免的要遇到形形色色的错误(ORA-xxxx).有些错

Claude's Vision 3479

C#企业级工作流管理:从优化到重构的实战指南——代码深度解析与性能调优策略

本文通过Workflow Core与Elsa引擎实现企业审批流程优化,将处理时间从72小时缩短至2小时,效率提升200%。文章包含12个代码示例,涵盖流程梳理、引擎选型(对比Workflow Core与Elsa特性)、模块化重构(策略模式应用)及异常处理机制。关键实现包括:可视化流程建模、Serilog性能监控、Elsa集成配置、策略模式消除重复代码,以及补偿事务设计。最终方案支持高并发,通过数据库连接池优化性能,为企业级工作流系统提供完整技术方案。

墨夶的博客 896

5实践报告撰写

一 项目流程 明确标准 确定分析目标 寻找分析数据 清洗数据 描述性分析 诊断性分析 提出建议 撰写报告 二 确定分析目标 什么是你感兴趣的? 什么是你熟悉的? 什么是你擅长的? 1 电商零售行业 商品销量分析 价格分析 评价分析 ...... 2 自媒体行业 广告投放力度分析 广告投放回报分析 不同类型的产品分析 ...... 3 金融行业 股票价格分析 信贷业务违约分析 客户画像分析 ...... ...

waywardG的博客 2833

oracle通信通道文件结束,ORA-03113: 通信通道的文件结尾(错误解决)

今天关闭服务器的时候出现莫名原因导致数据库无法shutdown,只好利用强制命令shutdown abort;但随便Oracle数据库无法打开了,总是报“ORA-03113: 通信通道的文件结尾”错误,分析可能由于数据库立即关闭,导致文件状态可能不一致,因为正常关闭数据库会同步校验各文件,使得重新启动的时候文件时间点一致并且不用进行崩溃恢复,不得不进行下面的恢复,建议大家以后在利用abort选项时...

weixin_35188854的博客 2037

DeepSeek:为文化创意产业注入AI新动能

沪南胜境,闵行新章。随后,2024 年 5 月,DeepSeek 宣布开源第二代 MoE 大模型 DeepSeek-V2,以其比肩 GPT-4Turbo 的卓越性能,以及仅为 GPT-4 百分之一的价格优势,迅速在市场中掀起波澜,收获了 “AI 届拼多多” 的独特名号,让更多人看到了高性价比 AI 大模型的可能性。创作者自身也应提高对创作伦理的认识,树立正确的创作观念,在使用 AI 工具时,保持对创作的主导权,充分发挥自己的创造力和想象力,将 AI 作为创作的辅助工具,而不是替代品。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1962

oracle 通信信道结束,提示ORA-03113:通信通道的文件结尾解决-Oracle

提示ORA-03113:通信通道的文件结尾解决事情原由:oracle安装到win7下,以为都是直接sqlplus / as sysdba,使用数据库,但最近连接时频繁报错,提示ORA-03113:通信通道的文件结尾进程 ID :6988回话 ID:191 序列号:3第一步:sqlplus / as sysdbashutdown abortstartup mountSQL> show para...

weixin_39733948的博客 1317

基于ESP32的室内空气质量检测系统开发

随着环境污染问题的日益严重,室内空气质量的监测变得越来越重要。室内空气质量的好坏直接影响到人们的健康,尤其是对于在封闭空间长时间待着的人群。为此,基于ESP32的室内空气质量检测系统应运而生。ESP32作为一款集成了Wi-Fi和蓝牙的高性能微控制器,为嵌入式开发提供了良好的平台,适用于构建各种智能硬件设备。本博客将详细介绍如何基于ESP32开发一个室内空气质量检测系统。系统可以实时监测空气中的温度、湿度、二氧化碳浓度、甲醛浓度等指标,并通过Wi-Fi将数据传输到云端或移动设备,方便用户随时查看空气质量情况。

2201_76125393的博客 832

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

ORA-03113:通信通道的文件结束

不知道为什么出现这种情况. 所有的商品分类底下的商品个数的写法都是一样的.可是就唯独有一个类的时候,无法取出数据.不知道是怎么回事. 在PL/SQL中执行语句报的就是ORA-03113:通信通道的文件结束,然后接着就报出:ORA-03114:未连接到Oracle. 然后把那个类删除就可以了,看起来这个类的数据好像是假的.具体的原因还是未查出来. 但是他们说,之前添加分类的时候可能有脏数据....

成长全记录 252

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

ora-03113 通信通道的文件结束和ORA-07445: 出现异常错误: 核心转储

今天数据库莫名其妙地出现登陆后执行报“通信通道的文件结束错误处理”的错误,搞了半天没解决,头一下晕了,最后幸亏测试部王哥帮忙,唉,看来头晕时更晕人。。。 以下是各个解决方案:  ora-03113 通信通道的文件结束错误处理编辑D:/oracle/ora92/network/admin/sqlnet.ora文件,将LNET.AUTHENTICATION_SERVICES= (MTC

数据就是一切 7695

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

20120411_ORACLE9206导出错误修改_ora-03113 通信通道的文件结束

运行升级脚本, 开始运行升级脚本,内存足够的话运行时间小于1个小时,建议在运行期间关闭所有其它相关的运行程序,另外最好有200M的多余内存空间。 -升级时可以通过WINDOWS任务管理器监视ORACLE是否在升级。 SPOOL d:\patch.log; @"d:\oracle\ora92\rdbms\admin\catpatch.sql"; SPOOL OFF; 出现了 --- -

朱亚星的专栏 947

ora-03113或者ora-12573 通信通道的文件结束出现异常错误:核心转储

今天oracle数据库莫名其妙地出现登录后执行报“通信通道的文件结束错误处理”的错误,同时搞了几天没搞好,交给我来处理,也是挺头晕的。 通过多次的调试最后锁定在执行分页SQL语句时候会报03113的错误,于是修改分页SQL语句,基本上能尝试的都尝试了。最后还是无动于衷, 该报错的地方还是报错。 ora-03113通信通道的文件结束错误处理编辑D:/oracle/ora92/netwo...

土伦 824

关于“ORA-03113: 通信通道的文件结束”

作者:iamlaosong 一条SQL查询语句报错,与语句无关,却与条件中的值y有关,错误是ORA-03113,语句如下: select * from tb_evt_dlv a, tb_jg b,tb_evt_mail_clct c where a.mail_num=c.mail_num and a.dlv_date between to_date('2014-11-1','yyyy-mm-dd') and to_date('2014-11-1','yyyy-mm-dd') and a.d

驽马十驾 才定不舍 4332

ora-03113 通信通道的文件结束错误处理

编辑D:/oracle/ora92/network/admin/sqlnet.ora文件,将LNET.AUTHENTICATION_SERVICES= (MTC)或者SQLNET.AUTHENTICATION_SERVICES= (NTS)修改为NET.AUTHENTICATION_SERVICES= (NONE).

系分之旅 1296
上一篇: cognos产品介绍
Eric_oooo
博客等级 码龄17年 1粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值