降低高水位 oracle
发布时间:2020-12-12 16:13:02 所属栏目:百科 来源:网络整理
导读:1、重新分析表和索引。 select 'ANALYZE INDEX OWNER.'|| T.segment_name || ' COMPUTE STATISTICS;' from dba_segments t where t.segment_type ='INDEX' AND t.OWNER='OWNER'; select 'ANALYZE TABLE OWNER.'|| T.segment_name || ' COMPUTE STATISTICS;'
1、重新分析表和索引。 select 'ANALYZE INDEX OWNER.'|| T.segment_name || ' COMPUTE STATISTICS;' from dba_segments t where t.segment_type ='INDEX' AND t.OWNER='OWNER'; select 'ANALYZE TABLE OWNER.'|| T.segment_name || ' COMPUTE STATISTICS;' from dba_segments t where t.segment_type ='TABLE' AND t.OWNER='OWNER'; 2、将表、索引占用空间从大到小列出来。 select T.segment_name,T.segment_type,T.BYTES/(1024*1024) from USER_SEGMENTS T order by T.BYTES DESC; 3、从列表中从大到小开始收缩高水位。 --表 ALTER TABLE TABLENAME ENABLE ROW MOVEMENT; ALTER TABLE TABLENAME SHRINK SPACE CASCADE; --索引 ALTER INDEX INDEXNAME SHRINK SPACE CASCADE;
4、如果是表,则重建索引。 ALTER INDEX IDEXNAME REBUILD; 5、再分析收缩的表或索引。 --表 ANALYZE TABLE TABLE_NAME COMPUTE STATISTICS FOR TABLE FOR ALL INDEXES FOR ALL INDEXED COLUMNS; --索引 ANALYZE index INDEXNAME COMPUTE STATISTICS FOR TABLE FOR ALL INDEXES FOR ALL INDEXED COLUMNS;6、重复2>3>4>5 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |