我创建列表范围分区表:对于列表范围分区表,PCT(分区更改跟踪)是否可能?
CREATE TABLE WHREST_PRT(
RCNUM NUMBER NOT NULL,
WHNUM NUMBER NOT NULL,
WARE VARCHAR2(10 CHAR) NOT NULL,
DATEM DATE NOT NULL,
QUANTITY NUMBER NOT NULL,
DATEOPER DATE NOT NULL
)
PARTITION BY LIST(RCNUM)
SUBPARTITION BY RANGE(DATEM)(
PARTITION P127 VALUES (127) COMPRESS FOR OLTP (
SUBPARTITION P127_PRE_2003 VALUES LESS THAN (TO_DATE('01.01.2003','DD.MM.YYYY')) COMPRESS FOR OLTP,
SUBPARTITION P127_Q1_2003 VALUES LESS THAN (TO_DATE('01.04.2003','DD.MM.YYYY')) COMPRESS FOR OLTP
),
...
PARTITION P997 VALUES (997) COMPRESS FOR OLTP (
SUBPARTITION P997_PRE_2003 VALUES LESS THAN (TO_DATE('01.01.2003','DD.MM.YYYY')) COMPRESS FOR OLTP,
SUBPARTITION P997_Q1_2003 VALUES LESS THAN (TO_DATE('01.04.2003','DD.MM.YYYY')) COMPRESS FOR OLTP
)
)
然后我手动添加多个季度子分区(最多01-JAN-2015)以每13个部门分区。现在子分区的总数为602.
然后填充数据。
现在我试图创建物化视图:
CREATE MATERIALIZED VIEW MV_WHREST_SUM_QNT (
RCNUM, WARE, DATEM, SUM_QNT, CNT_CNT, CNT
) PARALLEL
BUILD IMMEDIATE
REFRESH FAST ON DEMAND
ENABLE QUERY REWRITE
AS
SELECT RCNUM,
WARE,
DATEM,
SUM(QUANTITY),
COUNT(QUANTITY),
COUNT(*)
FROM WHREST_PRT
WHERE WHNUM > 1
GROUP BY RCNUM, WARE, DATEM
但DBMS_MVIEW.EXPLAIN_MVIEW的结果说,PCT是不可能以下消息:
2070 PCT not supported with this type of partitioning
我不知道为什么PCT是在我的情况下不可能。与“列表范围组合分区”一起搜索该消息导致没有任何帮助。
Oracle版本是11.2.0.3。
从Oracle支持中(您指定的ID):“......只有特定类型的分区表才有资格获得PCT。”Oracle数据集成指南“文档(尽管版本11.2)当前未包含有关此限制的信息。以下类型的分区表适用于10.1到11.2中的PCT: ** - **没有子分区的范围分区 ** - **具有列表子分区的范围分区 ** - **带有哈希子分区的范围分区 ** - 没有子分区的列表分区**“ – AntonLosev