首页 > 代码库 > 将所有 UNUSABLE 状态的 index 修复

将所有 UNUSABLE 状态的 index 修复

-- 请以 DBA 权限登录,并执行
-- 将所有 UNUSABLE 状态的 index 修复, rebuild 一下即可
declare
  -- 指向所有 UNUSABLE 状态的 index 的游标
  cursor c is
    select index_name, owner
    from dba_indexes
    where status=‘UNUSABLE‘;
 
  owner dba_indexes.owner%type;
  index_name dba_indexes.index_name%type;
begin
  open c;
  loop
       fetch c into index_name, owner;
       exit when c%notfound;
       
       execute immediate ‘alter index ‘ || owner || ‘.‘ || index_name || ‘ rebuild‘;
  end loop;
  close c;
end;

将所有 UNUSABLE 状态的 index 修复