Home  >  Article  >  Database  >  批量rebuild索引

批量rebuild索引

WBOY
WBOYOriginal
2016-06-07 15:22:361609browse

自己写了一个批量rebuild索引的存储过程: create or replace procedure sp_rebuild_indexas v_count number; cursor empCur is select owner,index_name from dba_indexes where status='UNUSABLE'; v_sql varchar2(100); v_owner varchar2(20); v_index_na

自己写了一个批量rebuild索引的存储过程:

create or replace procedure sp_rebuild_index
as 
  v_count number;
  cursor empCur is select owner,index_name from dba_indexes where status='UNUSABLE';
  v_sql  varchar2(100);
  v_owner varchar2(20);
  v_index_name varchar2(50);
BEGIN
  select count(0) into v_count from dba_indexes where status='UNUSABLE';
  if v_count>0 then
  execute immediate 'alter session set skip_unusable_indexes=false';
  
  open empCur;
  
   loop
    fetch empCur into v_owner,v_index_name;
    v_sql:='alter index '||v_owner||'.'||v_index_name||' rebuild';
    execute immediate v_sql;
    exit when empCur%notfound; 
   end loop;
  
  close empCur;

  end if;
END;


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn