Tag Archives: unusable

HASH分区新增分区对索引状态的影响

一直认为Oracle对于所有分区的操作都是一样的,只有数据的改变才会导致分区状态的失效,没想到HASH分区的实现方式并不相同。 HASH分区表增加新的分区的一点研究:http://yangtingkun.itpub.net/post/468/195510 看一个范围分区SPLIT的例子: SQL> CREATE TABLE T_PART 2 (ID NUMBER, NAME VARCHAR2(30)) 3 PARTITION BY RANGE (ID) 4 (PARTITION P1 VALUES LESS THAN (10), 5 PARTITION PMAX VALUES LESS THAN (MAXVALUE)); TABLE created. SQL> INSERT INTO T_PART 2 SELECT ROWNUM, … Continue reading

Posted in ORACLE | Tagged , , , | Leave a comment

单个分区索引失效导致绑定变量查询无法使用索引

一个客户碰到的问题,由于分区维护操作,导致个别分区对应的索引处于UNUSABLE状态,最终导致基于绑定变量的查询无法利用索引。 通过一个具体的例子来说明这个问题: SQL> CREATE TABLE t_part 2 (id NUMBER, 3 name varchar2(30)) 4 partition BY range (id) 5 (partition p1 VALUES less than (10), 6 partition p2 VALUES less than (20), 7 partition pmax VALUES less than (maxvalue)); TABLE created. … Continue reading

Posted in ORACLE | Tagged , , , , | Leave a comment

10g新增初始化参数SKIP_UNUSABLE_INDEXES

这个10.1就增加的新特性,是最近才发现的。 公司中的新人问起索引失效对表影响,于是随手做了个例子,才发现10g中已经改变了9i中的默认方式: SQL> CREATE TABLE t_index (id NUMBER, name varchar2(30)); TABLE created. SQL> CREATE INDEX ind_t_id ON t_index(id); INDEX created. SQL> CREATE INDEX ind_t_name ON t_index(name); INDEX created. SQL> INSERT INTO t_index VALUES (1, ‘a’); 1 ROW created. SQL> commit; … Continue reading

Posted in ORACLE | Tagged , , , , | Leave a comment