CREATE TABLE mod_sales_partitioning
( prod_id NUMBER NOT NULL,
cust_id NUMBER NOT NULL,
time_id DATE NOT NULL,
channel_id NUMBER NOT NULL,
promo_id NUMBER NOT NULL,
quantity_sold NUMBER(10,2) NOT NULL,
amount_sold NUMBER(10,2) NOT NULL
)
PARTITION BY RANGE (time_id)
(PARTITION sales_q1_2017 VALUES LESS THAN (TO_DATE('01-APR-2017','dd-MON-yyyy')),
PARTITION sales_q2_2017 VALUES LESS THAN (TO_DATE('01-JUL-2017','dd-MON-yyyy')),
PARTITION sales_q3_2017 VALUES LESS THAN (TO_DATE('01-OCT-2017','dd-MON-yyyy')),
PARTITION sales_q4_2017 VALUES LESS THAN (TO_DATE('01-JAN-2018','dd-MON-yyyy'))
)
Table created.
CREATE INDEX i1_cust_id_indx ON mod_sales_partitioning (cust_id) LOCAL
Index created.
CREATE INDEX i2_time_id_indx ON mod_sales_partitioning (time_id)
Index created.
CREATE INDEX i3_prod_id_indx ON mod_sales_partitioning (prod_id)
Index created.
CREATE INDEX i4_cust_id_indx ON mod_sales_partitioning (cust_id) INVISIBLE
Index created.
CREATE INDEX i5_prod_id_cust_id_indx ON mod_sales_partitioning (prod_id, cust_id) LOCAL
Index created.
CREATE INDEX i6_prod_id_cust_id_indx ON mod_sales_partitioning (prod_id, cust_id) INVISIBLE
Index created.
CREATE INDEX i7_cust_id_indx ON mod_sales_partitioning (cust_id)
GLOBAL PARTITION BY HASH (cust_id)
PARTITIONS 2
INVISIBLE
Index created.
CREATE INDEX i8_prod_id_cust_id_indx ON mod_sales_partitioning (prod_id, cust_id)
GLOBAL PARTITION BY HASH (prod_id)
PARTITIONS 2
INVISIBLE
Index created.
select index_name, index_type, partitioned, visibility
from user_indexes
where table_name = 'MOD_SALES_PARTITIONING'
order by index_name
INDEX_NAME | INDEX_TYPE | PARTITIONED | VISIBILITY | I1_CUST_ID_INDX | NORMAL | YES | VISIBLE | I2_TIME_ID_INDX | NORMAL | NO | VISIBLE | I3_PROD_ID_INDX | NORMAL | NO | VISIBLE | I4_CUST_ID_INDX | NORMAL | NO | INVISIBLE | I5_PROD_ID_CUST_ID_INDX | NORMAL | YES | VISIBLE | I6_PROD_ID_CUST_ID_INDX | NORMAL | NO | INVISIBLE | I7_CUST_ID_INDX | NORMAL | YES | INVISIBLE | I8_PROD_ID_CUST_ID_INDX | NORMAL | YES | INVISIBLE |
---|
select index_name, partitioning_type, subpartitioning_type, locality
from user_part_indexes
where table_name = 'MOD_SALES_PARTITIONING'
order by index_name
INDEX_NAME | PARTITIONING_TYPE | SUBPARTITIONING_TYPE | LOCALITY | I1_CUST_ID_INDX | RANGE | NONE | LOCAL | I5_PROD_ID_CUST_ID_INDX | RANGE | NONE | LOCAL | I7_CUST_ID_INDX | HASH | NONE | GLOBAL | I8_PROD_ID_CUST_ID_INDX | HASH | NONE | GLOBAL |
---|
ALTER TABLE mod_sales_partitioning
MODIFY
PARTITION BY RANGE (time_id) SUBPARTITION BY HASH (cust_id)
SUBPARTITIONS 8
( PARTITION sales_q1_2017 VALUES LESS THAN (TO_DATE('01-APR-2017','dd-MON-yyyy')),
PARTITION sales_q2_2017 VALUES LESS THAN (TO_DATE('01-JUL-2017','dd-MON-yyyy')),
PARTITION sales_q3_2017 VALUES LESS THAN (TO_DATE('01-OCT-2017','dd-MON-yyyy')),
PARTITION sales_q4_2017 VALUES LESS THAN (TO_DATE('01-JAN-2018','dd-MON-yyyy')))
ONLINE
ORA-01950: no privileges on tablespace 'SYSTEM'More Details: https://docs.oracle.com/error-help/db/ora-01950