تا قبل از اوراکل 12cR2، پارتیشن بندی به روش list، صرفا بر اساس یک ستون قابل انجام بود به عبارت دیگر، تنها می توان یک ستون را به عنوان partition key مشخص کرد در غیر این صورت، با خطای ORA-14304 مواجه خواهیم شد:
SQL*Plus: Release 12.1.0.2.0 Production on Sat Dec 14 17:10:54 2019
SQL> CREATE TABLE person( id NUMBER, name VARCHAR2(30),EYE_COLOR VARCHAR2(10),blood_group VARCHAR2(10))
PARTITION BY LIST (EYE_COLOR,blood_group)
(PARTITION p1 VALUES (‘BL’,’B+’),
PARTITION p2 VALUES (‘BL’,’O-‘),
PARTITION p3 VALUES (‘GR’,’A+’),
PARTITION p4 VALUES (‘GR’,’B+’),
PARTITION p5 VALUES(default)
);
ORA-14304: List partitioning method expects a single partitioning column
در اوراکل 12cR2، با اضافه شدن قابلیت Multi-column list، می توان چندین ستون را به عنوان partition key تعیین کرد:
SQL*Plus: Release 12.2.0.1.0 Production on Mon Dec 16 09:08:17 2019
SQL> CREATE TABLE person( id NUMBER, name VARCHAR2(30),EYE_COLOR VARCHAR2(10),blood_group VARCHAR2(10))
PARTITION BY LIST (EYE_COLOR,blood_group)
(PARTITION p1 VALUES ((‘BL’,’B+’),(‘BL’,’O-‘),(‘BL’,’AB-‘),(‘BL’,’O+’)),
PARTITION p2 VALUES (‘GR’,’A+’),
PARTITION p3 VALUES (‘GR’,’B+’),
PARTITION p4 VALUES(default)
);
Table created.
برای مشاهده اسامی جداولی که از این قابلیت استقاده می کنند، میتوان از ستون partitioning_key_count در ویوی dba_part_tables استفاده کرد:
SELECT table_name, partitioning_key_count FROM dba_part_tables where partitioning_type=’LIST’ and partitioning_key_count>1;
Comment (1)