要想更改索引,你必须是索引的拥有者或者你具有ALTER ANY INDEX系统权限。可以更改的动作有以下:
1. 重建或者合并收缩已有的索引。
2. 回收不使用的空间或者分配新的区。
3. 指定并行与否和更改并行度。
4. 更改存储参数和物理属性。
5. 指定LOGGING 或 NOLOGGING。
6. 启用和停用键压缩。
7. 标记索引不可用。
8. 启动或停止索引使用的监控。
你不能更改索引列结构。
修改索引的存储特性:
你可以修改任何索引的存储参数,包括主键唯一键约束产生的索引。
ALTER INDEX emp_ename
STORAGE (PCTINCREASE 50);
存储参数INITIAL 和 MINEXTENTS不能被更改。所有的新修改的参数只对更改后新分配的区起作用。
对于那些完整性约束的索引,你可以使用alter table 语句的包括USING INDEX字句的ENABLE字句。
列:
ALTER TABLE emp
ENABLE PRIMARY KEY USING INDEX;
重建存在的索引:
你可以对已存在的索引进行重建,以改变存储参数或者表空间。重建一个基于存在的数据源的索引,可以移动块内碎片。相对于删除掉然后创建索引的方法,重建具有更好的性能。
ALTER INDEX emp_name REBUILD;
REBUILD关键字必须紧跟在索引名后面,在任何选项之前。不能跟DEALLOCATE UNUSED字句联用。你可以使用online方式重建。Online方式允许你在修改基表的同时进行重建。
ALTER INDEX emp_name REBUILD ONLINE;
如果你没有重建所需的空间,那么可以合并收缩索引。Coalesce是一个online操作。
监控索引的使用:
Oracle提供了一种方法来监控索引是否被使用。对于不使用的索引,可以考虑删除掉,节省空间和减少不必要的开销。
启用索引监控:
ALTER INDEX index MONITORING USAGE;
停用索引监控:
ALTER INDEX index NOMONITORING USAGE;
V$OBJECT_USAGE视图可以查看被监控索引的使用情况。USED列的值YES/NO表使用情况。视图还记录索引监控启用和停用的时间。MONITORING的YES/NO表示目前监控是否当前正进行。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/517786/viewspace-661535/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/517786/viewspace-661535/