>  기사  >  데이터 베이스  >  批量rebuild索引

批量rebuild索引

WBOY
WBOY원래의
2016-06-07 15:22:361605검색

自己写了一个批量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;


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.