今天查看周报过程时 发现了它:
ORA-00600: 内部错误代码, 参数: [32695], [hash aggregation can't be done], [], [], [], [], [], []
其过程
P_PROD_WEEK_I_NEWANDLOST_USER 新增用户和流失分析。
以前它用很大的TEMP,32G才满足它的需求。
ORACLE 版本: 10.2.03
Google:
http://space6212.itpub.net/post/12157/399059
It say:
oracle的优化器使用了hash group by来进行数据分组。
hash group by是10gR2新引入的一个优化方式,它使group by时使用hash的方式进行分组,避免了排序操作。
在执行这个sql前我考虑到用大量用到temp表空间,而TEMP_CITI表非常大,因此我分配了足够大的临时表空间(至少是2倍TEMP_CITI表的大小),本以为不会出错,结果还是出错了。
上metalink查看一下,发现这是一个bug:
Applies to:
Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 10.2.0.2
This problem can occur on any platform.
Symptoms
1). The following errors are encountered:
ORA-00600: internal error code, arguments: [32695], [hash aggregation can't be done]
ORA-1652 on TEMP tablespace
2). The error is occurring on a SELECT statement with a GROUP BY clause.
3). The call stack may resemble:
ksfdmp kgeriv kgesiv ksesic1 qeshPartitionBuildHD qeshGBYOpenScan2
qeshGBYOpenScan qerghFetch qertqoFetch qerpxSlaveFetch qerpxFetch
insdlexe insExecStmtExecIniEngine insexe
Cause
The problem
here is not the hash join, but the group by hash. Hash aggregation is
new to 10.2. The GROUP BY hash clause can cause the statement to
consume temporary tablespace resources and eventually fail with the
error ORA-00600: internal error code, arguments: [32695], [hash
aggregation can't be done].
安全吻合metalink的描述。metalink上也给出了两种解决方法:
1). set _gby_hash_aggregation_enabled = false e.g.:
alter system set "_gby_hash_aggregation_enabled"=false;
alter session set "_gby_hash_aggregation_enabled"=false;
2). Disable the use of hash group by changing the parameter "optimizer_features_enable":
set optimizer_features_enable to "10.1.0"
分享到:
相关推荐
在oracle里面运行一下,解决Exception java.sql.SQLException ORA-00600 内部错误代码
关于CRA-00600:内部代码错误解决,这一主题主要聚焦于Oracle数据库中一个常见的技术难题——ORA-00600错误的识别与处理。ORA-00600是一种内部错误,通常指向Oracle数据库内核中的某种异常情况,其参数列表如[19004]...
NULL 博文链接:https://gembler.iteye.com/blog/346242
Oracle 11g 内部错误代码 ORA-00600 是一个非常通用的错误,它表示数据库遇到了一个无法处理的内部错误或异常情况。这个错误通常涉及到Oracle数据库的底层结构,如数据块、索引或者内存管理等,且参数列表可以提供...
### 如何处理错误ORA-29275:部分多字节字符 #### 问题背景与描述 在Oracle数据库操作过程中,用户可能会遇到一个特定的错误提示——ORA-29275:部分多字节字符。这一错误通常出现在执行查询`SELECT * FROM V$...
### ora-01033: Oracle Initialization or Shutdown in Progress 解决方法 #### 一、问题背景及原因 **标题**: “ora-01033: Oracle initialization or shutdown in progress 解决方法” **描述**: “ora-01033: ...
ORA-00604: 递归SQL层1出现错误 ORA-03106: 致命的双工通信协议错误 ORA-02063: 紧接着line(源于dblink) 以及 ORA-04052: 在查找远程对象时出错 ORA-00604: 递归SQL层1出现错误 ORA-03120: 双工转换例行程序:整数...
在Oracle数据库管理中,"ORA-00990: 权限缺失或无效"是一个常见的错误代码,它表示用户尝试执行的操作没有足够的权限。这个错误通常发生在试图访问、修改或者管理数据库对象(如表、视图、索引等)时。在本篇文章中...
ORA-32001:write to spfile requested but no spfile is in use请求写入spfile,但没有使用spfile的解决方法 在输入以下语句中报了这样的错误: SQL>alter system set control_files=’/u01/app/oracle/oradata/prod/...
3. **联系Oracle支持**:由于ORA-00600是内部错误,可能需要Oracle官方的技术支持来解析错误代码和参数的含义,以及提供解决方案。 4. **应用补丁**:像题目中提供的8922013这样的补丁,可能就是为了解决特定的ORA-...
ORA-12154: TNS: 无法解析指定的连接标识符的解决方法
在Oracle数据库系统中,"ORA-01036:非法的变量名/编号"是一个常见的错误,通常出现在PL/SQL代码或者SQL查询语句中,当你尝试使用一个不正确或者未定义的变量时,Oracle数据库会抛出这个错误。这个错误可能是由于...
Oracle 错误代码 ORA-00600 是一个内部错误代码,通常是由数据库内部机制引起的。该错误代码可以有多种不同的参数,例如在本文中的 [4194]。在这里,我们将讨论如何处理通过隐含参数恢复报错处理时出现的 ORA-00600...
### ERwin连接Oracle报ORA-01041内部错误,hostdef扩展名不存在的知识点解析 #### 一、问题背景及概述 在使用ERwin数据建模工具连接Oracle数据库时,可能会遇到ORA-01041内部错误提示:“hostdef扩展名不存在”。...
在Oracle数据库中,"ORA-00904"是一个常见的错误代码,它表示尝试引用一个不存在或无效的标识符。在这个场景下,错误信息提到的是"WM_CONCAT"函数,这表明在Oracle 19c数据库环境中,用户尝试使用WM_CONCAT函数,但...
#### ORA-00001: Unique Constraint Violated 当尝试插入或更新违反唯一约束的数据时触发此错误。例如,在具有唯一索引的列上插入重复数据。 #### ORA-00017: Rollback Segment Full 在进行事务回滚操作时,如果...
Oracle数据库报错ORA-00600是一个内部错误,通常表示系统遇到了未预见的问题或已知的软件缺陷。这个错误通常与Oracle的内核代码有关,而不是用户的SQL操作。在描述中,我们看到错误与“kcblasm_1”和参数103相关联,...