Oracle批量重建索引

create   or   replace   procedure  p_rebuild_all_index
   (tablespace_name 
in   varchar2 )
as
   sqlt 
varchar ( 200 );
begin

    
for  idx  in  ( select  index_name, tablespace_name, status  from  user_indexes  where  tablespace_name = tablespace_name  and  status = ' VALID '   and   temporary   =   ' N ' ) 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 ;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24435147/viewspace-694762/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24435147/viewspace-694762/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值