【发布时间】:2017-11-22 14:28:26
【问题描述】:
考虑以下引用分区表的场景。表T_PARTNER_CUSTOMER 从表T_PARTNER_CONFIG 借用分区part1 和part2。
CREATE TABLE T_PARTNER_CONFIG (
ID NUMBER(38) NOT NULL,
SECURITY_CONTEXT_ID NUMBER(38) NOT NULL
)
PARTITION BY LIST(SECURITY_CONTEXT_ID)
(PARTITION part1 VALUES (0, 1, 2),
PARTITION part2 VALUES (4, 5, 6));
CREATE TABLE T_PARTNER_CUSTOMER (
ID NUMBER(38) NOT NULL,
PARTNER_CONFIG_ID NUMBER(38) NOT NULL
CUSTOMER_NUMBER VARCHAR2(10) NOT NULL,
CONSTRAINT FK_PC_PARTNER_CONFIG
FOREIGN KEY(PARTNER_CONFIG_ID) REFERENCES T_PARTNER_CONFIG (id)
)
PARTITION BY REFERENCE(FK_PC_PARTNER_CONFIG);
现在,如果我们要为表T_PARTNER_CUSTOMER 创建进一步的子分区,以便将分区part1 和part2 进一步细分为表T_PARTNER_CUSTOMER。我尝试了下面的方法,但它不起作用。我使用的是 Oracle 11g 企业版。
CREATE TABLE T_PARTNER_CUSTOMER (
ID NUMBER(38) NOT NULL,
PARTNER_CONFIG_ID NUMBER(38) NOT NULL
CUSTOMER_NUMBER VARCHAR2(10) NOT NULL,
CONSTRAINT FK_PC_PARTNER_CONFIG
FOREIGN KEY(PARTNER_CONFIG_ID) REFERENCES T_PARTNER_CONFIG (id)
)
PARTITION BY REFERENCE(FK_PC_PARTNER_CONFIG)
SUBPARTITION BY HASH (CUSTOMER_NUMBER) SUBPARTITIONS 8;
【问题讨论】:
标签: oracle oracle11g database-partitioning