`
sjk2013
  • 浏览: 2185613 次
文章分类
社区版块
存档分类
最新评论

一次ORA-03113错误解决

 
阅读更多

----------------------------------------------------------------------------
-----------------ORA错误处理系列 By Cryking---------------------
------------------------转载请注明出处,谢谢!-------------------------

原始SQL:

执行出现ORA-03113错误,网络正常,执行其他SQL也正常.

13:04:26 CRY@CRY> select operatetime,billtypename,billid,shopcode,shopname,goodscode,goodsn
ame,' ' 期初数量,sum(irealnumber) irealnumber,DECODE(sum(irealnumber),0,0,round(sum(imoney)/sum(irea
lnumber),2)) iprice,sum(imoney) imoney,sum(orealnumber) orealnumber,DECODE(sum(orealnumber),0,0,roun
d(sum(omoney)/sum(orealnumber),2)) oprice,sum(omoney) omoney,' ' 结存数量 from( select to_char(x.ope
ratetime, 'YYYY-MM-DD') operatetime,x.billtype,
13:04:28   2         fun_getname('BILLTYPEALL',x.billtype) billtypename,
13:04:28   3         x.billid,x.remark,x.originbillid,
13:04:28   4         fun_getname('OPERATIONTYPE',x.otherinouttype) otherinouttypename,
13:04:28   5         x.shopcode,
13:04:28   6         f_getOrganiseName(x.shopcode) shopname,
13:04:28   7         x.storecode,
13:04:28   8         f_getStoreName(x.storecode) storename,
13:04:28   9          FUN_GETTOUNIT(x.billtype,x.billid) unitname,
13:04:28  10         x.goodscode,
13:04:28  11         X.goodsname,
13:04:28  12         x.ShortCode,x.brandcode,x.model,
13:04:28  13         x.irealnumber,
13:04:28  14         abs(DECODE(x.irealnumber,0,0,round(x.imoney/x.irealnumber,4))) iprice,
13:04:28  15         x.imoney,x.orealnumber,
13:04:28  16         abs(DECODE(x.orealnumber,0,0,round(x.omoney/x.orealnumber,4))) oprice,
13:04:28  17         x.omoney
13:04:28  18  from (
13:04:28  19  select a.operatetime,
13:04:28  20                 a.billtype,
13:04:28  21                 a.billid,fun_getbillremark(a.billid) remark,fun_getbilloriginbillid(a.b
illid) originbillid,
13:04:28  22                 a.otherinouttype,
13:04:28  23                 a.shopcode,
13:04:28  24                 a.storecode,
13:04:28  25                 a.goodscode,
13:04:28  26                 c.shortcode,c.brandcode,c.model,
13:04:28  27                 c.goodsname,
13:04:28  28                 sum(DECODE(b.ruleid,1,a.realnumber,2,-a.realnumber,0)) irealnumber,
13:04:28  29                 sum(DECODE(b.ruleid,1,
13:04:28  30                        round(a.realnumber * a.price,2),
13:04:28  31                       2,
13:04:28  32                        round(-1 * a.realnumber *a.price,2),
13:04:28  33                     0)) imoney,
13:04:28  34                 sum(DECODE(b.ruleid,2,a.realnumber,1,-a.realnumber,0)) orealnumber,
13:04:28  35                 sum(decode(b.ruleid,2,
13:04:28  36                        round(a.realnumber * a.price,2),
13:04:28  37                       1,
13:04:28  38                        round(-1 * a.realnumber * a.price,2),
13:04:28  39                     0)) omoney
13:04:28  40            from TAB_A a, TAB_B b,TAB_C c
13:04:28  41           where a.billtype = b.billtype
13:04:28  42               and a.goodscode=c.goodscode  and (a.shopcode = '0603')
13:04:28  43           group by a.operatetime,
13:04:28  44                    a.billtype,
13:04:28  45                    a.billid,
13:04:28  46                    remark,
13:04:28  47                    a.otherinouttype,
13:04:28  48                    a.shopcode,
13:04:28  49                    a.storecode,
13:04:28  50                    a.goodscode,
13:04:28  51                    c.shortcode,
13:04:28  52                    c.goodsname,c.brandcode,c.model
13:04:28  53  ) x
13:04:28  54  where x.billtype in (select billtype from t_billlist where ruleid>0) and
13:04:28  55     x.operatetime >= to_date('2013-6-17','YYYY-MM-DD')
13:04:28  56     and x.operatetime < to_date('2013-6-18','YYYY-MM-DD')
13:04:28  57  ) a  group by operatetime,billtypename,billid,shopcode,shopname,goodscode,goodsname or
der by operatetime,billtypename,billid,shopcode,shopname,goodscode,goodsname;
select operatetime,billtypename,billid,shopcode,shopname,goodscode,goodsname,' ' 期初数量,sum(irealn
umber) irealnumber,DECODE(sum(irealnumber),0,0,round(sum(imoney)/sum(irealnumber),2)) iprice,sum(imo
ney) imoney,sum(orealnumber) orealnumber,DECODE(sum(orealnumber),0,0,round(sum(omoney)/sum(orealnumb
er),2)) oprice,sum(omoney) omoney,' ' 结存数量 from( select to_char(x.operatetime, 'YYYY-MM-DD') ope
ratetime,x.billtype,
*
第 1 行出现错误:
ORA-03113: 通信通道的文件结尾
进程 ID: 20027
会话 ID: 201 序列号: 149


ERROR:
ORA-03114: 未连接到 ORACLE


已用时间:  00: 00: 02.01


精简改SQL如下后报ORA-600错误:

13:07:18 CRY@CRY> SELECT operatetime
13:07:19   2    FROM (SELECT to_char(x.operatetime, 'YYYY-MM-DD') operatetime
13:07:19   3            FROM (SELECT operatetime FROM t_storeout GROUP BY operatetime) x
13:07:19   4           WHERE x.operatetime > to_date('2012-01-01', 'YYYY-MM-DD')) a
13:07:19   5   GROUP BY operatetime;
          FROM (SELECT operatetime FROM t_storeout GROUP BY operatetime) x
                                        *
第 3 行出现错误:
ORA-00600: 内部错误代码, 参数: [rwoirw: check ret val], [], [], [], [], [], [], [], [], [], [], []


已用时间:  00: 00: 01.68


分析此ORA-00600错误,发现是参数"_complex_view_merging"的影响,将此参数值设为FALSE后正常.

如是解决此ORA-00600错误后,此ORA-03113错误也就解决了,如下:

13:07:23 CRY@CRY> ALTER SESSION SET "_complex_view_merging"=false;

会话已更改。

已用时间:  00: 00: 00.01
13:08:43 CRY@CRY> select operatetime,billtypename,billid,shopcode,shopname,goodscode,goodsn
ame,' ' 期初数量,sum(irealnumber) irealnumber,DECODE(sum(irealnumber),0,0,round(sum(imoney)/sum(irea
lnumber),2)) iprice,sum(imoney) imoney,sum(orealnumber) orealnumber,DECODE(sum(orealnumber),0,0,roun
d(sum(omoney)/sum(orealnumber),2)) oprice,sum(omoney) omoney,' ' 结存数量 from( select to_char(x.ope
ratetime, 'YYYY-MM-DD') operatetime,x.billtype,
13:08:55   2         fun_getname('BILLTYPEALL',x.billtype) billtypename,
13:08:55   3         x.billid,x.remark,x.originbillid,
13:08:55   4         fun_getname('OPERATIONTYPE',x.otherinouttype) otherinouttypename,
13:08:55   5         x.shopcode,
13:08:55   6         f_getOrganiseName(x.shopcode) shopname,
13:08:55   7         x.storecode,
13:08:55   8         f_getStoreName(x.storecode) storename,
13:08:55   9          FUN_GETTOUNIT(x.billtype,x.billid) unitname,
13:08:55  10         x.goodscode,
13:08:55  11         X.goodsname,
13:08:55  12         x.ShortCode,x.brandcode,x.model,
13:08:55  13         x.irealnumber,
13:08:55  14         abs(DECODE(x.irealnumber,0,0,round(x.imoney/x.irealnumber,4))) iprice,
13:08:55  15         x.imoney,x.orealnumber,
13:08:55  16         abs(DECODE(x.orealnumber,0,0,round(x.omoney/x.orealnumber,4))) oprice,
13:08:55  17         x.omoney
13:08:55  18  from (
13:08:55  19  select a.operatetime,
13:08:55  20                 a.billtype,
13:08:55  21                 a.billid,fun_getbillremark(a.billid) remark,fun_getbilloriginbillid(a.b
illid) originbillid,
13:08:55  22                 a.otherinouttype,
13:08:55  23                 a.shopcode,
13:08:55  24                 a.storecode,
13:08:55  25                 a.goodscode,
13:08:55  26                 c.shortcode,c.brandcode,c.model,
13:08:55  27                 c.goodsname,
13:08:55  28                 sum(DECODE(b.ruleid,1,a.realnumber,2,-a.realnumber,0)) irealnumber,
13:08:55  29                 sum(DECODE(b.ruleid,1,
13:08:55  30                        round(a.realnumber * a.price,2),
13:08:55  31                       2,
13:08:55  32                        round(-1 * a.realnumber *a.price,2),
13:08:55  33                     0)) imoney,
13:08:55  34                 sum(DECODE(b.ruleid,2,a.realnumber,1,-a.realnumber,0)) orealnumber,
13:08:55  35                 sum(decode(b.ruleid,2,
13:08:55  36                        round(a.realnumber * a.price,2),
13:08:55  37                       1,
13:08:55  38                        round(-1 * a.realnumber * a.price,2),
13:08:55  39                     0)) omoney
13:08:55  40            from t_storeout a, t_billlist b,t_goods c
13:08:55  41           where a.billtype = b.billtype
13:08:55  42               and a.goodscode=c.goodscode  and (a.shopcode = '0603')
13:08:55  43           group by a.operatetime,
13:08:55  44                    a.billtype,
13:08:55  45                    a.billid,
13:08:55  46                    remark,
13:08:55  47                    a.otherinouttype,
13:08:55  48                    a.shopcode,
13:08:55  49                    a.storecode,
13:08:55  50                    a.goodscode,
13:08:55  51                    c.shortcode,
13:08:55  52                    c.goodsname,c.brandcode,c.model
13:08:55  53  ) x
13:08:55  54  where x.billtype in (select billtype from t_billlist where ruleid>0) and
13:08:55  55     x.operatetime >= to_date('2013-6-17','YYYY-MM-DD')
13:08:55  56     and x.operatetime < to_date('2013-6-18','YYYY-MM-DD')
13:08:55  57  ) a  group by operatetime,billtypename,billid,shopcode,shopname,goodscode,goodsname or
der by operatetime,billtypename,billid,shopcode,shopname,goodscode,goodsname;

未选定行

已用时间:  00: 00: 00.04


分享到:
评论

相关推荐

    [Oracle] 浅析令人抓狂的ORA-01555问题

    因此,在数据库的日常维护工作中,如果只是一次两次碰到ORA-01555错误,一般都先忽略,但是如果经常碰到该错误,则要进行一些调整以避免该错误的再次发生。 1. 为什么会产生ORA-01555错误?这个错误是由数据库的读...

    Oracle常见错误诊断

     1、ORA-12571、ORA-03113、ORA-03114、ORA-01041  特征:客户端(代理或应用服务器)有时报这类断连错误  原因:如果偶尔出现一次,则可能为网络原因或用户异常中止,如果经常出现则为客户端与服务端的字符集不一致...

    oracle11g用户登录时被锁定问题的解决方法 (ora-28000 the account is locked)

    2 原因:出现这种错误的原因为由于用户多次登录,无法登陆成功,超过了数据库允许登录的次数,所以导致用户被锁定,这种机制也是对数据库的一种保护,提升了数据库的安全性。 3 解决的办法如下: (1)在dos窗口中...

    Oracle登录错误遭遇ORA

     首先,我先确定oracle服务oracle实例和监听服务是否启动,我查看时这两个服务是出于正常启动的状态,所以为了以防万一我把这两个服务重新启动了一次,再次登录还是无法登录成功;  然后,查看注册表里的oracle_...

    《Oracle DBA手记——数据库诊断案例与性能优化实践》第一章 to be continued

    ├─第一篇 DBA工作手记 │ 01.Eygle的DBA工作手记 │ 02.Yangtingkun的DBA工作手记 │ 03.老熊的DBA手记 │ 04.BanPing的DBA工作手记 │ ├─第二篇 诊断案例篇 │ 01.ASM案例分析与诊断 ...一次排序的调整与优化

    oracle详解

    注意:阵列方式不能处理包含LOB和LONG类型的表,对于这样的table,如果使用commit = y,每插入一行,就会执行一次提交. 5.使用NOLOGGING方式减小重做日志大小 在导入时指定参数indexes=n,只导入数据而忽略index,在导完...

    oracle恢复工具-FY_Recover_Data

    特别提醒:恢复完成后,该方法会在数据库中产生一个表空间:FY_RST_DATA*,恢复一次产生一个,记得及时清理!否则会导致服务器RMAN备份失败ORA-19566 超出损坏块限制(切记) truncate原理: ? ? ...

    深入解析Oracle.DBA入门进阶与诊断案例

    6.2.7 诊断和解决ORA-04031错误 262 6.2.8 Library Cache Pin及Library Cache Lock分析 273 6.2.9 诊断案例一:version_count过高造成的Latch竞争解决 281 6.2.10 V$SQL与V$SQLAREA视图 287 6.2.11 Oracle ...

    深入解析OracleDBA入门进阶与诊断案例 3/4

    深入解析OracleDBA入门进阶与诊断案例 扫描版 作 者:盖国强 著 出 版 社:人民邮电出版社 出版时间:2009-1-1 页 数:527 内容简介  针对数据库的启动和关闭、... 10.6 一次横跨两岸的问题诊断   10.7 总结

    深入解析OracleDBA入门进阶与诊断案例 2/4

    深入解析OracleDBA入门进阶与诊断案例 扫描版 作 者:盖国强 著 出 版 社:人民邮电出版社 出版时间:2009-1-1 页 数:527 内容简介  针对数据库的启动和关闭、... 10.6 一次横跨两岸的问题诊断   10.7 总结

    深入解析OracleDBA入门进阶与诊断案例 4/4

    深入解析OracleDBA入门进阶与诊断案例 扫描版 作 者:盖国强 著 出 版 社:人民邮电出版社 出版时间:2009-1-1 页 数:527 内容简介  针对数据库的启动和关闭、... 10.6 一次横跨两岸的问题诊断   10.7 总结

    PHP基础教程 是一个比较有价值的PHP新手教程!

    通过我们已经学过的知识,你可以编写一个最简单的程序输出一个也许是程序世界中最有名的词语: echo "Hello World!"; ?&gt; First PHP page // Single line C++ style comment /* printing the message */ ...

    2009达内SQL学习笔记

    rollback:回溯,回溯到上次操作前的状态,把这次事务操作作废,只有一次(DDL和DCL语句会自动提交,不能回溯)。 可以用commit语句提交,这样就回溯不回了。 set pause on\off :设置分屏(设置不分屏) set pause...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    13.1.4 DML错误日志 364 13.2 UPDATE 371 13.3 DELETE 376 13.4 MERGE 380 13.4.1 语法和用法 380 13.4.2 性能比较 383 13.5 小结 385 第14章 事务处理 386 14.1 什么是事务 386 14.2 事务的ACID属性 387 ...

    Toad 使用快速入门

    13. 内置RevealNet Knowledge Base,单击鼠标右键就可以打开,快速得到技术上的支持,解决技术难题 PL/SQL: 包含整个开发过程中可能遇到问题的答案 Code Library:大量的严谨的PL/SQL代码例子和现成过程,完全...

    ssh(structs,spring,hibernate)框架中的上传下载

    原来是BlobByteArrayType数据类型本身具体数据访问的功能,它通过LobHandler将两次数据访问的动作隐藏起来,使Blob字段的操作在表现上和其他一般字段业类型无异,所以LobHandler即是那个"苦了我一个,幸福十亿人"的...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     删除HKEY_CLASSES_ROOT目录下所有以Ora、Oracle、Orcl或EnumOra为前缀的键。  删除HKEY_CURRENT_USER/SOFTWARE/Microsoft/windows/CurrentVersion/Explorer/MenuOrder/Start Menu/Programs中所有以oracle 开头...

Global site tag (gtag.js) - Google Analytics