Oracle 如何为引用分区表创建子分区
考虑以下引用分区表的场景。表Oracle 如何为引用分区表创建子分区,oracle,oracle11g,database-partitioning,Oracle,Oracle11g,Database Partitioning,考虑以下引用分区表的场景。表T\u PARTNER\u CUSTOMER借用了表T\u PARTNER\u CONFIG中的分区part1和part2 CREATE TABLE T_PARTNER_CONFIG ( ID NUMBER(38) NOT NULL, SECURITY_CONTEXT_ID NUMBER(38) NOT NULL ) PARTITION BY LIST(SEC
T\u PARTNER\u CUSTOMER
借用了表T\u PARTNER\u 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\u PARTNER\u CUSTOMER
创建更多的子分区,那么分区part1
和part2
将进一步细分为表T\u PARTNER\u 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;
似乎不可能,请参见: 与其他分区类型不同,没有可用的“子分区”子句,例如列表:
你说得对,似乎没有复合引用分区。在这种情况下,有什么替代方案?为
T\u PARTNER\u CONFIG
列出分区,并为T\u PARTNER\u CUSTOMER
列出哈希分区。