有没有人能告诉我为什么要触发下面的查询,什么时候会触发。我相信这个查询对性能有很大的影响。我不能追踪这是从哪里发射的。
查询:
SELECT SUM (used), SUM (total)
FROM (SELECT /*+ ORDERED */
SUM (d.BYTES) / (1024 * 1024) - MAX (s.BYTES) used,
SUM (d.BYTES) / (1024 * 1024) total
FROM ( SELECT tablespace_name, SUM (BYTES) / (1024 * 1024) BYTES
FROM ( SELECT/*+ ORDERED USE_NL(obj tab) */DISTINCT ts.NAME
FROM SYS.obj$ obj, SYS.tab$ tab, SYS.ts$ ts
WHERE obj.owner# = USERENV ('SCHEMAID')
AND obj.obj# = tab.obj#
AND tab.ts# = ts.ts#
AND BITAND (tab.property, 1) = 0
AND BITAND (tab.property, 4194400) = 0) tn,
dba_free_space sp
WHERE sp.tablespace_name = tn.NAME
GROUP BY sp.tablespace_name) s, dba_data_files d
WHERE d.tablespace_name = s.tablespace_name
GROUP BY d.tablespace_name) 它正在对SYS.TS$和SYS.FILE$进行全表扫描。我相信它是在利用数据库的最大资源。
请帮帮我。
提前谢谢。
发布于 2013-01-08 01:04:14
您是否在v$sqlarea中执行了查询,以便查看它是否在其中,然后查看它是什么会话/用户?
发布于 2015-12-01 19:31:42
OEM在数据库中发出许多查询以进行记账。此查询是为了获取表空间上的可用空间,并且可能会在OEM中配置警报来监视它。
发布于 2017-05-12 08:57:49
11.2.0.3中的常见问题。MOS上提供了几种解决方法。
升级到11.2.0.3后查询DBA_EXTENTS慢(文档ID 1453425.1)
基于成本的优化器对该表使用100,000行的基数估计,11.2.0.3执行计划正在执行全表扫描。如果您有大量的区段,则此查询可能需要超过1个小时才能完成。对于DBA_EXTENTS上的查询,存在许多性能低下的未发布错误。
https://stackoverflow.com/questions/12984216
复制相似问题