Oracle 搜集统计信息的存储过程
2014-01-26 10:27
309 查看
DECLARE CURSOR STALE_TABLE IS SELECT OWNER, SEGMENT_NAME, CASE WHEN SIZE_GB < 0.5 THEN 30 WHEN SIZE_GB >= 0.5 AND SIZE_GB < 1 THEN 20 WHEN SIZE_GB >= 1 AND SIZE_GB < 5 THEN 10 WHEN SIZE_GB >= 5 AND SIZE_GB < 10 THEN 5 WHEN SIZE_GB >= 10 THEN 1 END AS PERCENT, 8 AS DEGREE FROM (SELECT OWNER, SEGMENT_NAME, SUM(BYTES / 1024 / 1024 / 1024) SIZE_GB FROM DBA_SEGMENTS WHERE OWNER = 'ADWU_OPTIMA_AP11' AND SEGMENT_NAME IN (SELECT /*+ UNNEST */ DISTINCT TABLE_NAME FROM DBA_TAB_STATISTICS WHERE (LAST_ANALYZED IS NULL OR STALE_STATS = 'YES') AND OWNER = 'ADWU_OPTIMA_AP11') GROUP BY OWNER, SEGMENT_NAME); BEGIN DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO; FOR STALE IN STALE_TABLE LOOP DBMS_STATS.GATHER_TABLE_STATS(OWNNAME => STALE.OWNER, TABNAME => STALE.SEGMENT_NAME, ESTIMATE_PERCENT => STALE.PERCENT, METHOD_OPT => 'for all columns size repeat', DEGREE => 8, GRANULARITY => 'ALL', CASCADE => TRUE); END LOOP; END; /
相关文章推荐
- Oracle 搜集统计信息的存储过程
- ORACLE RAC 集群命令crs_stat的显示格式太短了
- 修改计算机名或IP后Oracle10g服务无法启动的解决方法
- 10g新特性——表空间重命名
- 10g新特性——回滚监视
- 10g新特性——闪回版本查询
- cbo优化中的基数(cardinality)介绍
- 乱谈2--索引
- 关于HASH分区
- oracle每天清理归档日志
- 【ORACLE】oracle 非常完整的总结
- Oracle 临时表 (Gobal Temporary Table)
- 每天两道oracle笔试题+第十一天:1、日志的作用是什么?2、RMAN是什么?
- Entity Framework Code First在Oracle下的伪实现(转)
- Entity Framework With Oracle(转)
- 修改计算机名或IP后Oracle10g服务无法启动的解决方法
- 配置Oracle安全审计选项audit
- oracle快速启动和快速关闭
- oracle 字符串分割转化为多条记录
- oracle 数据库单子段多条记录合并一条记录函数