Oracle 11g Sys查询

时间:2012-10-20 00:40:23

标签: oracle oracle11g

有人可以告诉我为什么以下查询被解雇以及什么时候被解雇。我相信这个问题会对性能产生巨大影响。我无法追踪这被解雇的地方。

查询:

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 $上进行全表扫描。我相信它正在利用数据库的最大资源。

请帮帮我。

先谢谢。

3 个答案:

答案 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上的查询,有许多未发布的错误会因性能下降而打开。