【发布时间】:2020-01-16 17:31:43
【问题描述】:
如何在 oracle 表中推进压缩分区和子分区。 该表已经有数据,我需要压缩旧数据以及即将到来的新数据。 分区名称是系统生成的名称。 数据库是Oracle11g
表结构:
CREATE TABLE SCH.STU_DATA
(
ROLL_NO NUMBER,
P_DATE DATE
S_VALUE VARCHAR2(10 CHAR)
)
NOCOMPRESS
TABLESPACE DATA_PARTS
RESULT_CACHE (MODE DEFAULT)
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
PARTITION BY RANGE (P_DATE)
INTERVAL( NUMTOYMINTERVAL( 1, 'MONTH'))
SUBPARTITION BY LIST (ROLL_NO)
SUBPARTITION TEMPLATE
(SUBPARTITION ROLL_1 VALUES (1),
SUBPARTITION ROLL_2 VALUES (2),
SUBPARTITION ROLL_3 VALUES (3),
SUBPARTITION ROLL_4 VALUES (4),
SUBPARTITION ROLL_5 VALUES (5)
)
(
PARTITION VALUES LESS THAN (TO_DATE(' 2019-08-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
NOLOGGING
NOCOMPRESS
TABLESPACE DATA_PARTS
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
SUBPARTITIONS 5 STORE IN (DATA_PARTS,DATA_PARTS,DATA_PARTS,DATA_PARTS,DATA_PARTS),
PARTITION VALUES LESS THAN (TO_DATE(' 2019-10-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
NOLOGGING
NOCOMPRESS
TABLESPACE DATA_PARTS
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
SUBPARTITIONS 5 STORE IN (DATA_PARTS,DATA_PARTS,DATA_PARTS,DATA_PARTS,DATA_PARTS),
PARTITION VALUES LESS THAN (TO_DATE(' 2019-11-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
NOLOGGING
NOCOMPRESS
TABLESPACE DATA_PARTS
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
)
NOCACHE
NOPARALLEL
MONITORING;
当我在 sql 下运行时,出现以下错误:
ALTER TABLE SCH.STU_DATA MOVE PARTITION SYS_P812325 TABLESPACE DATA_PARTS compress for all operations ;
错误信息:
ORA-14020: this physical attribute may not be specified for a table partition
【问题讨论】:
-
您使用的是哪个版本的 oracle 11g?已将所有操作更改为使用 OLTP 进行压缩。
标签: sql oracle oracle11g partitioning