Oracle重建表索引及手工收集统计信息

时间:2023-03-08 20:45:44

Oracle重建所有表的索引的sql:

SELECT 'alter index ' || INDEX_NAME || ' rebuild online nologging;'
FROM USER_INDEXES
WHERE TABLESPACE_NAME = 'xxx' AND
STATUS = 'VALID' AND
TEMPORARY = 'N' AND
INDEX_TYPE = 'NORMAL' AND
PARTITIONED = 'NO';

  然后把结果放到PLSQL命令容器执行即可。

Oracle收集统计信息常用 DBMS_STATS包中的方法,比较常用的如:

dbms_stats.gather_index_stats
dbms_stats.gather_table_stats
dbms_stats.gather_database_stats