暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

分区表move,分区索引rebuild和分区keep

原创 章芋文 2014-05-21
2025
分区表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]
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论