分区表move语法如下:
alter table tb_par_test move partition p1;
分区索引rebuild语法如下:
ALTER index IND_PAR_TEST rebuild partition p1;
分区对象keep后在partitions相关视图查看buffer_pool是否为keep
[code]SQL> conn awen/oracle
已连接。
SQL> create table tb_par_test (id number(5),name varchar2(50)) partition by range(id)
2 (partition p1 values less than (1000),
3 partition p2 values less than (2000),
4 partition p3 values less than (maxvalue)
5 );
表已创建。
SQL> insert into tb_par_test values(100,'Steven');
已创建 1 行。
SQL> insert into tb_par_test values(1300,'Jobs');
已创建 1 行。
SQL> insert into tb_par_test values(3300,'Eygle');
已创建 1 行。
SQL> commit;
提交完成。
SQL> alter table tb_par_test move;
alter table tb_par_test move
*
第 1 行出现错误:
ORA-14511: 不能对分区对象进行操作
SQL> alter table tb_par_test move partition p1;
表已更改。
SQL> alter table tb_par_test move partition p2;
表已更改。
SQL> alter table tb_par_test move partition p3;
表已更改。
SQL> create index ind_par_test on tb_par_test(name)
2 local (
3 partition p1,
4 partition p2,
5 partition p3
6 );
索引已创建。
SQL> alter table tb_par_test move partition p1;
表已更改。
SQL> alter index IND_PAR_TEST rebuild online;
alter index IND_PAR_TEST rebuild online
*
第 1 行出现错误:
ORA-14086: 不能将分区索引作为整体重建
SQL> ALTER index IND_PAR_TEST rebuild partition p1;
索引已更改。
SQL> alter table tb_par_test storage(buffer_pool keep);
表已更改。
SQL> select owner,table_name from dba_tables where buffer_pool='KEEP';
OWNER TABLE_NAME
------------------------------ ------------------------------
SYS A1
SQL> desc dba_tab_partitions
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
TABLE_OWNER VARCHAR2(30)
TABLE_NAME VARCHAR2(30)
COMPOSITE VARCHAR2(3)
PARTITION_NAME VARCHAR2(30)
SUBPARTITION_COUNT NUMBER
HIGH_VALUE LONG
HIGH_VALUE_LENGTH NUMBER
PARTITION_POSITION NUMBER
TABLESPACE_NAME VARCHAR2(30)
PCT_FREE NUMBER
PCT_USED NUMBER
INI_TRANS NUMBER
MAX_TRANS NUMBER
INITIAL_EXTENT NUMBER
NEXT_EXTENT NUMBER
MIN_EXTENT NUMBER
MAX_EXTENT NUMBER
PCT_INCREASE NUMBER
FREELISTS NUMBER
FREELIST_GROUPS NUMBER
LOGGING VARCHAR2(7)
COMPRESSION VARCHAR2(8)
NUM_ROWS NUMBER
BLOCKS NUMBER
EMPTY_BLOCKS NUMBER
AVG_SPACE NUMBER
CHAIN_CNT NUMBER
AVG_ROW_LEN NUMBER
SAMPLE_SIZE NUMBER
LAST_ANALYZED DATE
BUFFER_POOL VARCHAR2(7)
GLOBAL_STATS VARCHAR2(3)
USER_STATS VARCHAR2(3)
SQL> select PARTITION_NAME,BUFFER_POOL from dba_tab_partitions where table_name='TB_PAR_TEST';
PARTITION_NAME BUFFER_
------------------------------ -------
P1 KEEP
P2 KEEP
P3 KEEP [/code]
alter table tb_par_test move partition p1;
分区索引rebuild语法如下:
ALTER index IND_PAR_TEST rebuild partition p1;
分区对象keep后在partitions相关视图查看buffer_pool是否为keep
[code]SQL> conn awen/oracle
已连接。
SQL> create table tb_par_test (id number(5),name varchar2(50)) partition by range(id)
2 (partition p1 values less than (1000),
3 partition p2 values less than (2000),
4 partition p3 values less than (maxvalue)
5 );
表已创建。
SQL> insert into tb_par_test values(100,'Steven');
已创建 1 行。
SQL> insert into tb_par_test values(1300,'Jobs');
已创建 1 行。
SQL> insert into tb_par_test values(3300,'Eygle');
已创建 1 行。
SQL> commit;
提交完成。
SQL> alter table tb_par_test move;
alter table tb_par_test move
*
第 1 行出现错误:
ORA-14511: 不能对分区对象进行操作
SQL> alter table tb_par_test move partition p1;
表已更改。
SQL> alter table tb_par_test move partition p2;
表已更改。
SQL> alter table tb_par_test move partition p3;
表已更改。
SQL> create index ind_par_test on tb_par_test(name)
2 local (
3 partition p1,
4 partition p2,
5 partition p3
6 );
索引已创建。
SQL> alter table tb_par_test move partition p1;
表已更改。
SQL> alter index IND_PAR_TEST rebuild online;
alter index IND_PAR_TEST rebuild online
*
第 1 行出现错误:
ORA-14086: 不能将分区索引作为整体重建
SQL> ALTER index IND_PAR_TEST rebuild partition p1;
索引已更改。
SQL> alter table tb_par_test storage(buffer_pool keep);
表已更改。
SQL> select owner,table_name from dba_tables where buffer_pool='KEEP';
OWNER TABLE_NAME
------------------------------ ------------------------------
SYS A1
SQL> desc dba_tab_partitions
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
TABLE_OWNER VARCHAR2(30)
TABLE_NAME VARCHAR2(30)
COMPOSITE VARCHAR2(3)
PARTITION_NAME VARCHAR2(30)
SUBPARTITION_COUNT NUMBER
HIGH_VALUE LONG
HIGH_VALUE_LENGTH NUMBER
PARTITION_POSITION NUMBER
TABLESPACE_NAME VARCHAR2(30)
PCT_FREE NUMBER
PCT_USED NUMBER
INI_TRANS NUMBER
MAX_TRANS NUMBER
INITIAL_EXTENT NUMBER
NEXT_EXTENT NUMBER
MIN_EXTENT NUMBER
MAX_EXTENT NUMBER
PCT_INCREASE NUMBER
FREELISTS NUMBER
FREELIST_GROUPS NUMBER
LOGGING VARCHAR2(7)
COMPRESSION VARCHAR2(8)
NUM_ROWS NUMBER
BLOCKS NUMBER
EMPTY_BLOCKS NUMBER
AVG_SPACE NUMBER
CHAIN_CNT NUMBER
AVG_ROW_LEN NUMBER
SAMPLE_SIZE NUMBER
LAST_ANALYZED DATE
BUFFER_POOL VARCHAR2(7)
GLOBAL_STATS VARCHAR2(3)
USER_STATS VARCHAR2(3)
SQL> select PARTITION_NAME,BUFFER_POOL from dba_tab_partitions where table_name='TB_PAR_TEST';
PARTITION_NAME BUFFER_
------------------------------ -------
P1 KEEP
P2 KEEP
P3 KEEP [/code]
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




