rebuild online 索引,中途失败:


1. rebuild 索引在业务不忙的时候做

2. 中途是不能主断的

3. oracle 会自动清除(时间不同)

4. 通过重新启动数据库 oracle 自动清除

5. 通过修改系统表(oracle 9i)

[@more@]

update ind$ set flags=flags-512
where obj#=(select obj# from obj$
where owner#=(select user# from user$
where name='WRJ'
) and
name='IDX_TEST1'
);





select flags from ind$
where obj#=(select obj# from obj$
where owner#=(select user# from user$
where name='WRJ'
) and
name='IDX_TEST1'
);


SQL> connect wrj/wrj
SQL> connect wrj/wrj

多一张临时表:
SQL> select table_name from user_tables;
SYS_JOURNAL_106607

SQL> alter index IDX_TEST1 rebuild online;

Index altered.

xzh2000:

当我们rebuild index online失败后,smon进程会清除sys_journal_xxx(xxx是object_id)以及其它的不一致的东西,在smon清除它们之前,是不能再进行rebuild index online的,如果要清除它们,需要执行dbms_repare包的online_index_clean过程来处理...


在9206,9207,10.2.0.1中smon不会很快地清除index rebuild online失败所带来的对象,在9208,10.2.0.2,11g中这个bug才被fixed.所以在9206,9207,10.2.0.1这些版本中,当我们对大的索引进行index rebuild online时,不要随意地中断rebuild index online操作,否则smon可能需要很久才能清除临时对象。。。


你的理解基本上是对的,他们的区别主要就在于是否阻塞DML操作和扫描数据的不同。
由于REBUILD的时候为了维护索引本身,会阻塞DML操作,
在DML操作频繁的OLTP系统中经常用rebuild online会比较合适

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

转载于:http://blog.itpub.net/66233/viewspace-998247/

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值