iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >使用ROWNUM解决 ORA-00600:内部错误代码
  • 274
分享到

使用ROWNUM解决 ORA-00600:内部错误代码

2024-04-02 19:04:59 274人浏览 泡泡鱼
摘要

开发人员在执行语句执行是报ORA-00600:内部错误代码 语句如下 create   tablesytab01   as select &nbs

开发人员在执行语句执行是报ORA-00600:内部错误代码

语句如下

create   tablesytab01   as
select    a.*  from tab1 c,
( select b.*  from tab2 s,
select a.*,row_number()over( partition  by cl  order by cl_name ) rn
     from tab3 a  wherea.area_no= 'aa'
    ) a
where  trim(s.home_cl)= trim(a.cl)  and rn= '1'   and
   month= '201703'
and s.area = 'aa'
)b
where c.user_no = b.user_no

数据库版本如下:

oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bitProduction

With the Partitioning, Real Application Clusters, Automatic StorageManagement, OLAP,

Data Mining and Real Application Testing options

数据库日志报如下错误:

*** 2017-03-23 17:59:14.729

*** SESSION ID:(2191.15425) 2018-04-23 17:59:14.729

*** CLIENT ID:() 2018-04-23 17:59:14.729

*** SERVICE NAME:(hbdw) 2018-04-23 17:59:14.729

*** MODULE NAME:(PL/sql Developer) 2018-04-23 17:59:14.729

*** ACTION NAME:(SQL  窗口 - 新建) 2018-04-23 17:59:14.729

Incident 258636 created, dump file:/u01/app/oracle/diag/rdbms/hbdw/hbdw1/incident/incdir_258636/orcl1_ora_11899_i258636.trc

ORA-00600:  内部错误代码, 参数: [rwoirw: check ret val], [], [], [], [], [], [], [], [], [], [],[]

此incdir_258636/orcl1_ora_11899_i258636.trc日志报错如下:

----- Call Stack Trace -----

calling              call     entry                argument values in hex     

location             type     point               (? means dubiousvalue)    

-------------------- -------- ------------------------------------------------

skdstdst()+41        call     kgdsdst()            000000000 ? 000000000 ?

                                                  7FFFFFFEBC30 ? 7FFFFFFEBD08 ?

                                                  7FFFFFFF07B0 ? 000000002 ?

ksedst1()+103        call     skdstdst()           000000000 ? 000000000 ?

                                                  7FFFFFFEBC30 ? 7FFFFFFEBD08 ?

                                                  7FFFFFFF07B0 ? 000000002 ?

ksedst()+39          call     ksedst1()            000000000 ? 000000001 ?

                                                  7FFFFFFEBC30 ? 7FFFFFFEBD08 ?

                                                   7FFFFFFF07B0 ?000000002 ?

dbkedDefDump()+2746  call     ksedst()             000000000 ? 000000001 ?

                                                  7FFFFFFEBC30 ? 7FFFFFFEBD08 ?

                                                  7FFFFFFF07B0 ? 000000002 ?

ksedmp()+41          call     dbkedDefDump()       000000003 ? 000000002 ?

                                                  7FFFFFFEBC30 ? 7FFFFFFEBD08 ?

                                                  7FFFFFFF07B0 ? 000000002 ?

因为由于是语句引起的,分析思路如下:

1. 看看只做查询有没有此问题。

select    a.* from tab1 c,

(select b.* from tab2 s,

( select a.*,row_number()over(partition by cl order by cl_name ) rn

    from tab3 a where a.area_no='aa'

    ) a

where trim(s.home_cl)=trim(a.cl) and rn='1' and

   month='201703'

and s.area ='aa'

)b

where c.user_no = b.user_no

有结果输出,查询正常

2. 从上边的结果可知,应该不是查询引起的问题。

突然想到难道是临时表的数量太多了导致的?然后尝试后面添加rownum< 1000; 手动执行create sql语句结果成功了。

3. 用rownum 解决此问题

想了一下,可能11.2.0.4里面对create tablexxx as select …. From …的限制比较严格(没有经过论证,也可能是个bug),意味着在不知道后面的select … from …的总体数量的情况下或者数量已经超过了oracle的默认值比如1000这样,会提示ORA-00600的错误。按照这个思路我查询出来select … from ..的总数量,在后面加上and rownum<6000;再次执行居然成功了。

  想了想按照测试的边界值理论,一个最大值能有结果,那就尝试下最小值,在条件上加and rownum>-1;(因为有可能select 出来空记录)呢?执行了一下居然成功,语句修改如下:

create  table sytab01  as
select    a.* fromtab1 c,
(select b.* from tab2 s,
( select a.*,row_number()over(partition by cl order by cl_name ) rn
    from tab3 a wherea.area_no= 'aa'
    ) a
where trim(s.home_cl)=trim(a.cl)and rn= '1'  and
   month= '201703'
and s.area = 'aa'
)b
where c.user_no = b.user_no

and rownum>-1 ;

4. 关于官方文档对ora-600的描述如下:

Bug 14275161 - ORA-600[rwoirw: check ret val] on CTAS with predicate move around ( 文档  ID 14275161.8)

使用ROWNUM解决 ORA-00600:内部错误代码

修改隐性参数:

在语句遇到600错误是,一般个人建议对语句进行改造,避免问题,

除非有比较多的语句影响到数据库。一般不建议对数据库做手术。

您可能感兴趣的文档:

--结束END--

本文标题: 使用ROWNUM解决 ORA-00600:内部错误代码

本文链接: https://www.lsjlt.com/news/49651.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用ROWNUM解决 ORA-00600:内部错误代码
    开发人员在执行语句执行是报ORA-00600:内部错误代码 语句如下 create   tablesytab01   as select &nbs...
    99+
    2024-04-02
  • Oracle中出现ORA-00600内部错误代码怎么办
    这篇文章将为大家详细讲解有关Oracle中出现ORA-00600内部错误代码怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。ORA-00600: 内部错误代码, 参数...
    99+
    2024-04-02
  • 怎么解决Oracle的ORA-00600错误
    这篇文章主要讲解了“怎么解决Oracle的ORA-00600错误”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决Oracle的ORA-00600错误”...
    99+
    2024-04-02
  • oracle中出现ORA-00600内部错误怎么办
    这篇文章给大家分享的是有关oracle中出现ORA-00600内部错误怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。ORA-00600: 内部错误代码, 参数: [kcbn...
    99+
    2024-04-02
  • ssl内部错误如何解决
    要解决SSL内部错误,可以尝试以下几种方法:1. 检查证书:确保您的SSL证书是有效且正确安装。如果证书已过期或与您的域名不匹配,可...
    99+
    2023-09-05
    ssl
  • win10720错误代码如何解决
    本篇内容主要讲解“win10720错误代码如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“win10720错误代码如何解决”吧!win10720错误代码解决方法:打开“控制面板”随后点击“...
    99+
    2023-07-01
  • err_connection_refused错误代码怎么解决
    err_connection_refused错误代码解决方法:1、检查服务器状态;2、检查防火墙或代理设置;3、更改端口;4、检查网络连。错误代码 "ERR_CONNECTION_REFUSED" 是一个常见的网络错误,...
    99+
    2023-08-03
  • http500内部服务器错误怎么解决
    这篇文章主要讲解了“http500内部服务器错误怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“http500内部服务器错误怎么解决”吧! http 500  内部...
    99+
    2023-06-07
  • windows内部错误代码2502、2503无法安装或卸载软件怎么解决
    这篇文章主要介绍了windows内部错误代码2502、2503无法安装或卸载软件怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇windows内部错误代码2502、250...
    99+
    2023-04-14
    windows
  • tomcat内部服务器错误如何解决
    Tomcat内部服务器错误(Internal Server Error)是指在处理请求时,服务器遇到了不可预料的错误。解决方法如下:...
    99+
    2023-09-23
    tomcat
  • php内部服务器错误如何解决
    在解决PHP内部服务器错误时,可以尝试以下方法:1. 检查错误日志:PHP错误日志文件通常位于服务器的错误日志目录中(如/var/l...
    99+
    2023-09-28
    php 服务器
  • windows steam118错误代码怎么解决
    这篇“windows steam118错误代码怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“windows stea...
    99+
    2023-06-30
  • windows 0xv0000001错误代码如何解决
    这篇“windows 0xv0000001错误代码如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“windows 0x...
    99+
    2023-07-01
  • java代码解析错误怎么解决
    当Java代码解析错误时,可以尝试以下几种解决方法: 仔细查看错误信息:首先要仔细阅读错误信息,确定错误的类型和位置。错误信息通...
    99+
    2023-10-26
    java
  • windows如何解决steam错误代码
    本文小编为大家详细介绍“windows如何解决steam错误代码”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows如何解决steam错误代码”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。解决方法:其实...
    99+
    2023-06-30
  • windows 0xt000000f错误代码如何解决
    本篇内容主要讲解“windows 0xt000000f错误代码如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“windows 0xt000000f错误代码如何解决”吧!0xt000000f...
    99+
    2023-07-01
  • 0x80070002错误代码怎么解决
    0x80070002错误代码通常表示文件或文件夹在系统中找不到。以下是一些解决该错误代码的方法:1. 执行Windows更...
    99+
    2023-09-15
    错误代码
  • windows错误代码8024401C怎么解决
    Windows错误代码 8024401C 是 Windows Update 无法连接到 Windows 更新服务器的错误。以下是一些...
    99+
    2023-08-19
    windows
  • win10错误代码2503如何解决
    Win10错误代码2503通常表示在安装或卸载程序时发生错误。以下是一些解决方法:1. 以管理员身份运行安装程序:右键单击安装程序,...
    99+
    2023-08-20
    win10
  • win10错误代码720如何解决
    错误代码720通常表示Windows 10系统出现了一些问题,可能由于不良的驱动程序、系统文件损坏或不完整的安装等原因引起。以下是解...
    99+
    2023-08-20
    win10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作