栏目导航
热点推荐
- 快速掌握删除Oracle 10g垃圾表的
- Oracle数据库如何处理临时数据?
- Oracle教程:如误添加数据文件如
- Oracle数据库安全基础知识
- Oracle新手最常碰到的6个错误及
- Oracle数据库的使用技巧五则
- 将Oracle中的数据更改后出错的解
- 在不安装Oracle客户端的情况下进
- 讲解Oracle数据库冷备份恢复的具
- 当数据积累到一定时间后执行会越
- Oracle数据库环境下数据文件丢失
- Oracle数据库10g环境下修改VIP地
阅览排行
oracle 10分析索引的碎片
www.jz123.cn 2010-01-08 来源: 中国建站 责任编辑(袁袁) 我要投递新闻
oracle 10g
先建立个统计表
create table T_ANALYZ_MONITOR_INDEX ( F_INDEX_NAME VARCHAR2(50), F_DEL_LF_ROWS NUMBER, F_LF_ROWS NUMBER, F_RATE NUMBER(4,2), F_MONITOR_DATE DATE default sysdate not null ); |
再建个历史表
create table t_analyz_index_stats as select * from index_stats 做个分析过程 查出表并且 分析 插入历史表 统计删除比率到 统计表 create or replace procedure P_ANALYZ_DAY_INDEX_SATAS is v_sql varchar2(100); Begin for a in (Select INDEX_NAME From User_Indexes Where index_type<>'LOB') loop v_sql := ' analyze index ' || a.index_name || ' validate structure'; execute immediate v_sql; Insert Into T_ANALYZ_INDEX_STATS Select * From Index_Stats; insert into T_ANALYZ_MONITOR_INDEX(F_INDEX_NAME, F_DEL_LF_ROWS, F_LF_ROWS, F_RATE) select name,del_lf_rows,lf_rows, round(del_lf_rows * 100 / decode((lf_rows + del_lf_rows),0,1), 2) from index_stats; End loop; end; |
注意所查到的索引是在同个用户名下的
0
上一篇:关于ORACLE的UPDATE更新多表的问题 下一篇:ORACLE数据库恢复技术