【问题标题】:ORA-600 [32695] [hash aggregation can't be done]ORA-600 [32695] [无法进行哈希聚合]
【发布时间】:2020-11-23 13:46:28
【问题描述】:

我有一个在生产中部署的映射,但在我的映射的插入新行步骤中出现以下错误:

ORA-00600:内部错误代码,参数:[32695],[无法进行哈希聚合],[],[],[],[],[],[],[],[] , [], []

Staging 中有相同的映射,但没有错误。可能是什么原因?我的一个日期列中有一个 MIN 函数。

【问题讨论】:

  • ORA-00600 通常意味着您需要致电 Oracle 支持

标签: oracle aggregation oracle-data-integrator


【解决方案1】:

哈希聚合错误是您可以通过提示、会话设置或参数更改来避免的错误。

禁用 Oracle 功能时,尽量影响最小的范围:

  1. 如果可能,请在查询中添加/*+ no_use_hash_aggregation */ 提示。如果不能直接修改查询,可以通过 SQL Profile 添加提示。
  2. 如果查询一直在更改并且没有单个 SQL_ID,请使用 alter session set "_gby_hash_aggregation_enabled" = true; 更改会话。
  3. 如果您无法更改会话设置,请使用alter system set "_gby_hash_aggregation_enabled" = true; 更改整个系统。 (在此处插入标准未记录的参数警告。)

ORA-600 错误是错误,但通常无需担心它们。 ORA-600错误的第一步是去support.oracle.com,搜索“ora-600工具”,输入第一个参数值(“32695”),查看不同的文档。在创建服务请求或调用 Oracle 之前,请务必执行该简单步骤,否则您可能会浪费大量时间。请记住,您通常不需要通过补丁、升级或其他重大更改来“修复”这些错误。通常有一种简单的方法可以避免该问题,并且只需花费几分钟时间。

幸运的是,这个特定问题不仅隐藏在 Oracle 支持付费墙后面,还有许多其他搜索结果建议禁用哈希聚合。在对数据进行分组或连接时,散列通常比排序快(因为一个哈希可以在一次操作中完成,而排序在 LOG(N) 操作中完成)。 Oracle 过去总是对数据进行排序以进行分组,但在最近的版本中已经开始使用散列代替。不幸的是,“HASH GROUP BY”操作仍然存在一些问题,有时需要手动禁用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 2017-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多