ITPub博客

首页 > 数据库 > Oracle > 分区表含有MAXVALUE分区,添加新分区方法。

分区表含有MAXVALUE分区,添加新分区方法。

原创 Oracle 作者:29782690 时间:2014-09-16 11:30:00 0 删除 编辑
[oracle@bbsdb ~]$ !sql
sqlplus "/ as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Sep 16 10:58:55 2014

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
sys@ORADB01>
sys@ORADB01>create table test_part_table(id int,name varchar2(20))
  2  partition by range (id)
  3  (partition t_part1 values less than (10),
  4  partition t_part2 values less than (20),
  5  partition t_part3 values less than (30),
  6  partition t_part4 values less than (40)
  7  );

Table created.

sys@ORADB01>desc user_table_parririons;
ERROR:
ORA-04043: object user_table_parririons does not exist


sys@ORADB01>desc user_tab_partitions;
 Name                                                                                                              Null?    Type
 ----------------------------------------------------------------------------------------------------------------- -------- ----------------------------------------------------------------------------
 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)

sys@ORADB01>col TABLE_NAME for a20
sys@ORADB01>col PARTITION_NAME for a20
sys@ORADB01>col HIGH_VALUE for a10
sys@ORADB01>col TABLESPACE_NAME for a10
sys@ORADB01>/   

TABLE_NAME           PARTITION_NAME       HIGH_VALUE HIGH_VALUE_LENGTH TABLESPACE
-------------------- -------------------- ---------- ----------------- ----------
TEST_PART_TABLE      T_PART1              10                         2 SYSTEM
TEST_PART_TABLE      T_PART2              20                         2 SYSTEM
TEST_PART_TABLE      T_PART3              30                         2 SYSTEM
TEST_PART_TABLE      T_PART4              40                         2 SYSTEM

sys@ORADB01>
sys@ORADB01>
sys@ORADB01>
sys@ORADB01>
sys@ORADB01>
sys@ORADB01>alter table TEST_PART_TABLE add partition t_part5 less than 50;
alter table TEST_PART_TABLE add partition t_part5 less than 50
                                                  *
ERROR at line 1:
ORA-14020: this physical attribute may not be specified for a table partition


sys@ORADB01>alter table TEST_PART_TABLE add partition t_part5 less than (50);
alter table TEST_PART_TABLE add partition t_part5 less than (50)
                                                  *
ERROR at line 1:
ORA-14020: this physical attribute may not be specified for a table partition


sys@ORADB01>alter table test_part_table add partition t_part5 values less than (50);

Table altered.

sys@ORADB01>select  TABLE_NAME,PARTITION_NAME,HIGH_VALUE,HIGH_VALUE_LENGTH,TABLESPACE_NAME from user_tab_partitions where TABLE_NAME='TEST_PART_TABLE';

TABLE_NAME           PARTITION_NAME       HIGH_VALUE HIGH_VALUE_LENGTH TABLESPACE
-------------------- -------------------- ---------- ----------------- ----------
TEST_PART_TABLE      T_PART1              10                         2 SYSTEM
TEST_PART_TABLE      T_PART2              20                         2 SYSTEM
TEST_PART_TABLE      T_PART3              30                         2 SYSTEM
TEST_PART_TABLE      T_PART4              40                         2 SYSTEM
TEST_PART_TABLE      T_PART5              50                         2 SYSTEM

sys@ORADB01>drop table TEST_PART_TABLE;
Table dropped.
sys@ORADB01>create table test_part_table (id int,name varchar2(20))
  2  partition by range (id)
  3  (partition t_part1 values less than (10),
  4  partition t_part2 values less than (20),
  5  partition t_part3 values less than (30),
  6  partition t_part4 values less than (40),
  7  partition p_max values less than (maxvalue));

Table created.

sys@ORADB01>
sys@ORADB01>
sys@ORADB01>select  TABLE_NAME,PARTITION_NAME,HIGH_VALUE,HIGH_VALUE_LENGTH,TABLESPACE_NAME from user_tab_partitions where TABLE_NAME='TEST_PART_TABLE';

TABLE_NAME           PARTITION_NAME       HIGH_VALUE HIGH_VALUE_LENGTH TABLESPACE
-------------------- -------------------- ---------- ----------------- ----------
TEST_PART_TABLE      P_MAX                MAXVALUE                   8 SYSTEM
TEST_PART_TABLE      T_PART1              10                         2 SYSTEM
TEST_PART_TABLE      T_PART2              20                         2 SYSTEM
TEST_PART_TABLE      T_PART3              30                         2 SYSTEM
TEST_PART_TABLE      T_PART4              40                         2 SYSTEM

sys@ORADB01>
sys@ORADB01>
sys@ORADB01>
sys@ORADB01>alter table TEST_PART_TABLE add partition t_part5 values less than(50);
alter table TEST_PART_TABLE add partition t_part5 values less than(50)
                                          *
ERROR at line 1:
ORA-14074: partition bound must collate higher than that of the last partition


sys@ORADB01>
sys@ORADB01>
sys@ORADB01>
sys@ORADB01>
sys@ORADB01>
sys@ORADB01>alter tbale TEST_PART_TABLE split partiton P_MAX at (50) into (partition t_part5,partition P_MAX);
alter tbale TEST_PART_TABLE split partiton P_MAX at (50) into (partition t_part5,partition P_MAX)
      *
ERROR at line 1:
ORA-00940: invalid ALTER command


sys@ORADB01>alter table TEST_PART_TABLE split partiton P_MAX at (50) into (partition t_part5,partition P_MAX);
alter table TEST_PART_TABLE split partiton P_MAX at (50) into (partition t_part5,partition P_MAX)
                                  *
ERROR at line 1:
ORA-14155: missing PARTITION or SUBPARTITION keyword


sys@ORADB01>alter table TEST_PART_TABLE split partition P_MAX at (50) into (partition t_part5,partition P_MAX);

Table altered.

sys@ORADB01>select  TABLE_NAME,PARTITION_NAME,HIGH_VALUE,HIGH_VALUE_LENGTH,TABLESPACE_NAME from user_tab_partitions where TABLE_NAME='TEST_PART_TABLE';

TABLE_NAME           PARTITION_NAME       HIGH_VALUE HIGH_VALUE_LENGTH TABLESPACE
-------------------- -------------------- ---------- ----------------- ----------
TEST_PART_TABLE      P_MAX                MAXVALUE                   8 SYSTEM
TEST_PART_TABLE      T_PART1              10                         2 SYSTEM
TEST_PART_TABLE      T_PART2              20                         2 SYSTEM
TEST_PART_TABLE      T_PART3              30                         2 SYSTEM
TEST_PART_TABLE      T_PART4              40                         2 SYSTEM
TEST_PART_TABLE      T_PART5              50                         2 SYSTEM

6 rows selected.

sys@ORADB01>

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

请登录后发表评论 登录
全部评论

注册时间:2013-05-28

  • 博文量
    21
  • 访问量
    87716