7

有人可以告诉我为什么要触发以下查询以及何时触发。我相信这个查询会对性能产生巨大影响。我无法追踪这是从哪里被解雇的。

询问 :

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

请帮我。

提前致谢。

4

3 回答 3

1

您是否在 v$sqlarea 中进行过查询,看看它是否在其中,然后查看它是什么会话/用户?

于 2013-01-07T17:04:13.627 回答
0

OEM 在数据库中发出许多查询以进行簿记。此查询用于获取表空间上的可用空闲空间,并且可能在 OEM 中配置了警报以对其进行监视。

于 2015-12-01T11:31:41.837 回答
0

11.2.0.3 中的常见问题。MOS 上有几种解决方法。

升级到 11.2.0.3 后查询 DBA_EXTENTS 速度变慢(文档 ID 1453425.1)

基于成本的优化器对此表使用 100,000 行的基数估计,并且 11.2.0.3 执行计划正在执行全表扫描。如果您有大量范围,则此查询可能需要 1 个小时以上才能完成。在 DBA_EXTENTS 上的查询性能低下存在许多未发布的错误。

于 2017-05-12T00:57:48.570 回答