oracle split 怎么解决 default 分区,ORACLE基础操作【02】 -->split分区表

SQL> select * from v$version;

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

PL/SQL Release 11.2.0.1.0 - Production

CORE 11.2.0.1.0 Production

TNS for Linux: Version 11.2.0.1.0 - Production

NLSRTL Version 11.2.0.1.0 - Production

--分区表的定义

CREATE TABLE "AIKI"."PT1"

( "OBJECT_ID" NUMBER,

"STATUS" VARCHAR2(8)

) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOLOGGING

STORAGE(

BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

TABLESPACE "USERS"

PARTITION BY RANGE ("OBJECT_ID")

(PARTITION "P01" VALUES LESS THAN (10000)

PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOLOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DE

FAULT CELL_FLASH_CACHE DEFAULT)

TABLESPACE "USERS" NOCOMPRESS ,

PARTITION "P02" VALUES LESS THAN (20000)

PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOLOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DE

FAULT CELL_FLASH_CACHE DEFAULT)

TABLESPACE "USERS" NOCOMPRESS ,

PARTITION "P03" VALUES LESS THAN (30000)

PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOLOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DE

FAULT CELL_FLASH_CACHE DEFAULT)

TABLESPACE "USERS" NOCOMPRESS ,

PARTITION "P04" VALUES LESS THAN (32000)

PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOLOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DE

FAULT CELL_FLASH_CACHE DEFAULT)

TABLESPACE "USERS" NOCOMPRESS ,

PARTITION "P05" VALUES LESS THAN (33000)

PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOLOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DE

FAULT CELL_FLASH_CACHE DEFAULT)

TABLESPACE "USERS" NOCOMPRESS ,

PARTITION "P06" VALUES LESS THAN (34000)

PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOLOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DE

FAULT CELL_FLASH_CACHE DEFAULT)

TABLESPACE "USERS" NOCOMPRESS ,

PARTITION "P07" VALUES LESS THAN (37000)

PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOLOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DE

FAULT CELL_FLASH_CACHE DEFAULT)

TABLESPACE "USERS" NOCOMPRESS ,

PARTITION "PMAX" VALUES LESS THAN (MAXVALUE)

PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOLOGGING

STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DE

FAULT CELL_FLASH_CACHE DEFAULT)

TABLESPACE "USERS" NOCOMPRESS )

TABLE_OWNER TABLE_NAME PARTITION_NAME PARTITION_POSITION NUM_ROWS BLOCKS

------------------------------ ------------------------------ ------------------------------ ------------------ ---------- ----------

AIKI PT1 P01 1 1241680 2734

AIKI PT1 P02 2 1256920 2886

AIKI PT1 P03 3 1279260 2926

AIKI PT1 P04 4 250680 585

AIKI PT1 P05 5 128240 298

AIKI PT1 P06 6 128220 320

AIKI PT1 P07 7 387520 912

AIKI PT1 PMAX 8 4546800 10232

SQL> alter table pt1 split partition pmax at (38000) into(partition p08,partition pmax) parallel 8;

Table altered.

SQL> select TABLE_OWNER,TABLE_NAME,PARTITION_NAME,PARTITION_POSITION,NUM_ROWS,BLOCKS from dba_tab_partitions where table_name='PT1';

TABLE_OWNER TABLE_NAME PARTITION_NAME PARTITION_POSITION NUM_ROWS BLOCKS

------------------------------ ------------------------------ ------------------------------ ------------------ ---------- ----------

AIKI PT1 P01 1 1241680 2734

AIKI PT1 P02 2 1256920 2886

AIKI PT1 P03 3 1279260 2926

AIKI PT1 P04 4 250680 585

AIKI PT1 P05 5 128240 298

AIKI PT1 P06 6 128220 320

AIKI PT1 P07 7 387520 912

AIKI PT1 P08 8

AIKI PT1 PMAX 9

9 rows selected.

SQL> select INDEX_NAME,PARTITION_NAME,STATUS from dba_ind_partitions where index_owner='AIKI' and index_name='IDX_PT1';

INDEX_NAME PARTITION_NAME STATUS

------------------------------ ------------------------------ --------

IDX_PT1 P01 USABLE

IDX_PT1 P02 USABLE

IDX_PT1 P03 USABLE

IDX_PT1 P04 USABLE

IDX_PT1 P05 USABLE

IDX_PT1 P06 UNUSABLE

IDX_PT1 P07 USABLE

IDX_PT1 P08 UNUSABLE

IDX_PT1 PMAX UNUSABLE

SQL> alter table pt1 split partition pmax at (39000) into(partition p09,partition pmax) update indexes parallel 8;

Table altered.

SQL> select INDEX_NAME,PARTITION_NAME,STATUS from dba_ind_partitions where index_owner='AIKI' and index_name='IDX_PT1';

INDEX_NAME PARTITION_NAME STATUS

------------------------------ ------------------------------ --------

IDX_PT1 P01 USABLE

IDX_PT1 P02 USABLE

IDX_PT1 P03 USABLE

IDX_PT1 P04 USABLE

IDX_PT1 P05 USABLE

IDX_PT1 P06 UNUSABLE

IDX_PT1 P07 USABLE

IDX_PT1 P08 UNUSABLE

IDX_PT1 P09 USABLE

IDX_PT1 PMAX USABLE

SQL> exec dbms_stats.gather_table_stats('AIKI','PT1',CASCADE=>TRUE,METHOD_OPT=>'FOR ALL COLUMNS SIZE 1',ESTIMATE_PERCENT=>5);

BEGIN dbms_stats.gather_table_stats('AIKI','PT1',CASCADE=>TRUE,METHOD_OPT=>'FOR ALL COLUMNS SIZE 1',ESTIMATE_PERCENT=>5); END;

*

ERROR at line 1:

ORA-20000: index "AIKI"."IDX_PT1" or partition of such index is in unusable state

ORA-06512: at "SYS.DBMS_STATS", line 20337

ORA-06512: at "SYS.DBMS_STATS", line 20360

ORA-06512: at line 1

SQL> ALTER INDEX IDX_PT1 REBUILD PARTITION P06 PARALLEL 4;

ALTER INDEX IDX_PT1 REBUILD PARTITION P08 PARALLEL 4;

Index altered.

SQL>

Index altered.

SQL> select INDEX_NAME,PARTITION_NAME,STATUS from dba_ind_partitions where index_owner='AIKI' and index_name='IDX_PT1';

INDEX_NAME PARTITION_NAME STATUS

------------------------------ ------------------------------ --------

IDX_PT1 P01 USABLE

IDX_PT1 P02 USABLE

IDX_PT1 P03 USABLE

IDX_PT1 P04 USABLE

IDX_PT1 P05 USABLE

IDX_PT1 P06 USABLE

IDX_PT1 P07 USABLE

IDX_PT1 P08 USABLE

IDX_PT1 P09 USABLE

IDX_PT1 PMAX USABLE

10 rows selected.

SQL> exec dbms_stats.gather_table_stats('AIKI','PT1',CASCADE=>TRUE,METHOD_OPT=>'FOR ALL COLUMNS SIZE 1',ESTIMATE_PERCENT=>5);

PL/SQL procedure successfully completed.

SQL> select TABLE_OWNER,TABLE_NAME,PARTITION_NAME,PARTITION_POSITION,NUM_ROWS,BLOCKS from dba_tab_partitions where table_name='PT1';

TABLE_OWNER TABLE_NAME PARTITION_NAME PARTITION_POSITION NUM_ROWS BLOCKS

------------------------------ ------------------------------ ------------------------------ ------------------ ---------- ----------

AIKI PT1 P01 1 1241860 2734

AIKI PT1 P02 2 1246480 2886

AIKI PT1 P03 3 1274280 2926

AIKI PT1 P04 4 254740 585

AIKI PT1 P05 5 127360 298

AIKI PT1 P06 6 127640 320

AIKI PT1 P07 7 384060 912

AIKI PT1 P08 8 128720 328

AIKI PT1 P09 9 127740 320

AIKI PT1 PMAX 10 4281420 9664

说明:此操作在操作期间应关注表空间的变化,特别是归档日志的产生(量很大,如果split对象较大);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值