ebs表统计信息收集

ebs使用fnd_STATS.GATHER_TABLE_STATS收集表统计信息,和一般的区别在于ebs会自动从FND_HISTOGRAM_COLS 收集直方图

脚本如下:

 

DECLARE
  CURSOR STALE_TABLE IS
    SELECT OWNER,
           SEGMENT_NAME,
           CASE
             WHEN SIZE_GB <  0.5                  THEN   '100'
             WHEN SIZE_GB >= 0.5                  THEN   '50'
             END AS PERCENT       
      FROM (SELECT OWNER,
                   SEGMENT_NAME,
                   SUM(BYTES / 1024 / 1024 / 1024) SIZE_GB
              FROM DBA_SEGMENTS
             WHERE OWNER IN ('MSC','PA','AR','APPS','FII','BOM','CUX','PJI','AP','ZX','WMS','APPLSYS','INV','FA','PO','JG','GL','XLA','XDO')
               AND SEGMENT_NAME IN
                   (SELECT  /*+ UNNEST */ DISTINCT TABLE_NAME
                   FROM  DBA_TAB_STATISTICS
                     WHERE  (LAST_ANALYZED IS NULL OR STALE_STATS = 'YES') and stattype_locked is null
                       AND OWNER IN ('MSC','PA','AR','APPS','FII','BOM','CUX','PJI','AP','ZX','WMS','APPLSYS','INV','FA','PO','JG','GL','XLA','XDO'))
             GROUP BY OWNER, SEGMENT_NAME) ;
BEGIN

----更新过期表和索引统计信息--------  
  FOR STALE IN STALE_TABLE LOOP
    apps.fnd_STATS.GATHER_TABLE_STATS( OWNNAME          => STALE.OWNER,
                                  TABNAME          => STALE.SEGMENT_NAME,
                                  DEGREE           => 16,
                                  percent          => STALE.PERCENT,
                                  granularity      => 'all' 
                             );
  END LOOP;
END;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值