有人可以告诉我为什么以下查询被解雇以及什么时候被解雇。我相信这个问题会对性能产生巨大影响。我无法追踪这被解雇的地方。
查询:
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 $上进行全表扫描。我相信它正在利用数据库的最大资源。
请帮帮我。
先谢谢。
答案 0 :(得分:1)
你是否在v $ sqlarea中完成了一个查询,看看它是否在那里,然后看看它是什么会话/用户?
答案 1 :(得分:0)
OEM在数据库中发出许多查询以进行簿记。此查询用于获取表空间上的可用空间,并且可能在OEM中配置警报以监视它。
答案 2 :(得分:0)
11.2.0.3中的常见问题。 MOS上提供了几种解决方法。
升级到11.2.0.3后,对DBA_EXTENTS的查询速度变慢(文档ID 1453425.1)
基于成本的优化器使用此表的基数估计为100,000行,而11.2.0.3执行计划正在执行全表扫描。如果您有大量扩展区,则此查询可能需要1个多小时才能完成。 对于DBA_EXTENTS上的查询,有许多未发布的错误会因性能下降而打开。