可以在表中加入sysdate 记录时间
--建表语句
create table already_analyze_indexes
as
select t.owner as index_owner,
t.index_name,
t.table_owner,
t.table_name
where 1=2
--循环脚本
declare
v_owner varchar2(200) :='SCOTT'; -- 指定要分析的索引名
begin
for r in (select t.owner,t.index_name,t.table_owner,t.table_name
from dba_indexes t
where not exists
(select 1
from already_analyze_indexes a
where t.index_name = a.index_name
and t.owner=a.index_owner
)
and t.owner=nvl(v_owner,t.owner)
and t.owner not in ('SYS') )
loop
insert into already_analyze_indexes
values (r.owner,r.index_name,r.table_owner,r.table_owner);
dbms_stats.gather_index_stats(ownname=>r.owner,
indname=>r.index_name);
end loop ;
end ;