`
Zhijie.Geng
  • 浏览: 55221 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle 批量重建索引

阅读更多

create or replace procedure p_rebuild_all_index

   (tablespace_name in varchar2)

as

   sqlt varchar(1000);

begin


    for idx in (select index_name, tablespace_name, status from user_indexes where tablespace_name=tablespace_name and status='VALID' and temporary = 'N' and index_type='NORMAL') loop

    begin

           sqlt := 'alter index ' || idx.index_name || ' rebuild ';

           dbms_output.put_line('索引名称:'+ idx.index_name);

           dbms_output.put_line('重建语句:'+sqlt);

           EXECUTE IMMEDIATE sqlt;

           --错误后循环继续执行。

           EXCEPTION

           WHEN OTHERS THEN

                dbms_output.put_line(SQLERRM);

     end;

     end loop;

end;

 

 

oracle 存储过程批量重建索引。
测试方法
declare
    --表空间名称
  tablespace_name varchar2(100);
begin
  tablespace_name:='dddd';
  p_rebuild_all_index(tablespace_name);
end;

 

 

引自:http://www.cnblogs.com/yg_zhang/archive/2008/01/30/1058475.html

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics