ITPub博客

首页 > 数据库 > 数据库开发技术 > 占用资源狂高的select min(bitmapped) from ts$ where dflmaxext =:1 and bitand(flags, 1024) = 1024

占用资源狂高的select min(bitmapped) from ts$ where dflmaxext =:1 and bitand(flags, 1024) = 1024

原创 数据库开发技术 作者:zhang41082 时间:2019-04-16 20:15:05 0 删除 编辑
在别人推荐下,系统使用了temporary tablespace group,几天没有看AWR,今天发现系统中如下SQL居然排在了TOP读的首位,而且远远高于正常的TOP SQL的读:
select min(bitmapped) from ts$ where dflmaxext =:1 and bitand(flags, 1024) = 1024[@more@]

GOOGLE了下,发现有人说这是个bug,登陆到METALINK上查询,发现果然是个bug,描述如下:
Applies to:
Oracle Server - Enterprise Edition - Version: 10.1 to 10.2

This problem can occur on any platform.

Symptoms
After the introduction of temporary tablespace groups following query using a lot of CPU and executed many times
select min(bitmapped) from ts$ where dflmaxext =:1 and bitand(flags, 1024) = 1024.

Cause
Temp tablespace group uses a recursive query on ts$ to get the minimum extent size among its temp tablespaces.

Solution1> Use single temp tablespace as user's temp tablespace.
Solution2> Apply patch for the bug 5455880

使用这个咚咚的优点:
防止一个临时表空间出现空间不足的问题。
同一个用户同时连接多个session时可以使用不同的临时表空间。
在并行操作中可以并行使用多个临时表空间。

最后:
Metalink 245645.1,这里有一篇介绍的文章

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25016/viewspace-991493/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2002-10-11

  • 博文量
    105
  • 访问量
    83493