Partícionálással kapcsolatos katalógusok: -- (DBA_PART_TABLES, DBA_PART_INDEXES, DBA_TAB_PARTITIONS, DBA_IND_PARTITIONS, -- DBA_TAB_SUBPARTITIONS, DBA_IND_SUBPARTITIONS, DBA_PART_KEY_COLUMNS) -- Particionálás tartományok alapján CREATE TABLE eladasok ( szla_szam NUMBER(5), szla_nev CHAR(30), mennyiseg NUMBER(6), het INTEGER ) PARTITION BY RANGE ( het ) (PARTITION negyedev1 VALUES LESS THAN ( 13 ) TABLESPACE users, PARTITION negyedev2 VALUES LESS THAN ( 26 ) TABLESPACE example, PARTITION negyedev3 VALUES LESS THAN ( 39 ) TABLESPACE users ) ; insert into eladasok values(100, 'Sport cikkek', 231, 2); insert into eladasok values(101, 'Irodai termekek', 1200, 3); insert into eladasok values(102, 'Eszkozok', 43, 4); insert into eladasok values(103, 'Gepek', 21, 6); insert into eladasok values(104, 'Butorok', 31, 7); insert into eladasok values(105, 'Ingatlan', 3, 8); insert into eladasok values(106, 'Szolgaltatasok', 200, 9); insert into eladasok values(107, 'Elelmiszer', 300, 40); -- ezt már nem tudja beszúrni, 40 > 39 -- Particionálás hash kulcs alapján CREATE TABLE eladasok2 (szla_szam NUMBER(5), szla_nev CHAR(30), mennyiseg NUMBER(6), het INTEGER ) PARTITION BY HASH ( het ) (PARTITION part1 TABLESPACE users, PARTITION part2 TABLESPACE example, PARTITION part3 TABLESPACE users ) ; -- Particionálás lista alapján CREATE TABLE eladasok3 (szla_szam NUMBER(5), szla_nev CHAR(30), mennyiseg NUMBER(6), het INTEGER ) PARTITION BY LIST ( het ) (PARTITION part1 VALUES(1,2,3,4,5) TABLESPACE users, PARTITION part2 VALUES(6,7,8,9) TABLESPACE example, PARTITION part3 VALUES(10,11,12,13) TABLESPACE users ) -- ide sem tud beszúrni > 13-at ; -- Alparticiók létrehozása partición belül (range-en belül hash) CREATE TABLE eladasok4 (szla_szam NUMBER(5), szla_nev CHAR(30), mennyiseg NUMBER(6), het INTEGER ) PARTITION BY RANGE ( het ) SUBPARTITION BY HASH (mennyiseg) SUBPARTITIONS 3 (PARTITION negyedev1 VALUES LESS THAN ( 13 ) TABLESPACE users, PARTITION negyedev2 VALUES LESS THAN ( 26 ) TABLESPACE example, PARTITION negyedev3 VALUES LESS THAN ( 39 ) TABLESPACE users ) ; -- Range-list alparticiók létrehozása minta alapján. Ez akkor hasznos ha nagyon sok -- partíció lenne, és így nem kell őket egyesével felsorolni -- mintára vonatkozó infók: DBA_SUBPARTITION_TEMPLATES CREATE TABLE eladasok5 (szla_szam NUMBER(5), szla_nev CHAR(30), mennyiseg NUMBER(6), het INTEGER ) PARTITION BY RANGE ( mennyiseg ) SUBPARTITION BY LIST (het) SUBPARTITION TEMPLATE (SUBPARTITION lista VALUES(1,2,3,4,5), SUBPARTITION other VALUES(DEFAULT)) (PARTITION kicsi VALUES LESS THAN ( 100 ) TABLESPACE users, PARTITION kozepes VALUES LESS THAN ( 500 ) TABLESPACE example, PARTITION nagy VALUES LESS THAN ( MAXVALUE ) TABLESPACE users ) ;