增加表分区时,为local分区索引指定不同表空间的方法

今天帮朋友测试增加表分区时,为local分区索引指定不同表空间的方法,顺便记录下:

方法一:

SQL> SELECT NAME FROM V$TABLESPACE WHERE REGEXP_LIKE(NAME,'T[0-9]');

NAME
------------------------------
T1
T2
T3
IDX_T3
IDX_T2
IDX_T1

已选择6行。

SQL> CREATE TABLE TP(ID NUMBER, NAME VARCHAR2(30))
  2  PARTITION BY RANGE (ID)
  3  (
  4  PARTITION P1 VALUES LESS THAN (100)
  5  TABLESPACE T1
  6  );

表已创建。

SQL> CREATE INDEX IDX_TP ON TP(ID) LOCAL TABLESPACE IDX_T1;

索引已创建。

SQL> SELECT TABLE_NAME, A.INDEX_NAME, A.TABLESPACE_NAME, A.PARTITION_NAME
  2  FROM USER_IND_PARTITIONS A, USER_INDEXES B
  3  WHERE A.INDEX_NAME = B.INDEX_NAME AND B.INDEX_NAME='IDX_TP'
  4* ORDER BY 1, 2

TABLE_NAME INDEX_NAME      TABLESPACE_NAME                PARTITION_NAME
---------- --------------- ------------------------------ ---------------
TP         IDX_TP          IDX_T1                         P1

已选择 1 行。

SQL> ALTER INDEX IDX_TP MODIFY DEFAULT ATTRIBUTES TABLESPACE IDX_T2;

索引已更改。

SQL> ALTER TABLE TP ADD PARTITION P2 VALUES LESS THAN (200);

表已更改。

SQL> SELECT TABLE_NAME, A.INDEX_NAME, A.TABLESPACE_NAME, A.PARTITION_NAME
  2  FROM USER_IND_PARTITIONS A, USER_INDEXES B
  3  WHERE A.INDEX_NAME = B.INDEX_NAME AND B.INDEX_NAME='IDX_TP'
  4  ORDER BY 1, 2;

TABLE_NAME INDEX_NAME      TABLESPACE_NAME                PARTITION_NAME
---------- --------------- ------------------------------ ---------------
TP         IDX_TP          IDX_T2                         P2
TP         IDX_TP          IDX_T1                         P1

已选择2行。

 

方法二:

SQL> ALTER TABLE TP ADD PARTITION P3 VALUES LESS THAN (300);

表已更改。

SQL> SELECT TABLE_NAME, A.INDEX_NAME, A.TABLESPACE_NAME, A.PARTITION_NAME
  2  FROM USER_IND_PARTITIONS A, USER_INDEXES B
  3  WHERE A.INDEX_NAME = B.INDEX_NAME AND B.INDEX_NAME='IDX_TP'
  4  ORDER BY 1, 2;

TABLE_NAME INDEX_NAME      TABLESPACE_NAME                PARTITION_NAME
---------- --------------- ------------------------------ ---------------
TP         IDX_TP          IDX_T1                         P1
TP         IDX_TP          IDX_T2                         P3
TP         IDX_TP          IDX_T2                         P2

已选择3行。

SQL> ALTER INDEX IDX_TP REBUILD PARTITION P3 TABLESPACE IDX_T3;

索引已更改。

SQL> SELECT TABLE_NAME, A.INDEX_NAME, A.TABLESPACE_NAME, A.PARTITION_NAME
  2  FROM USER_IND_PARTITIONS A, USER_INDEXES B
  3  WHERE A.INDEX_NAME = B.INDEX_NAME AND B.INDEX_NAME='IDX_TP'
  4  ORDER BY 1, 2;

TABLE_NAME INDEX_NAME      TABLESPACE_NAME                PARTITION_NAME
---------- --------------- ------------------------------ ---------------
TP         IDX_TP          IDX_T1                         P1
TP         IDX_TP          IDX_T3                         P3
TP         IDX_TP          IDX_T2                         P2

已选择3行。

 

 

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

转载于:http://blog.itpub.net/756652/viewspace-541551/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值