Topik ini menjelaskan ruang lingkup konversi operasi DDL CREATE TABLE untuk mendefinisikan partisi selama migrasi data dari database Oracle ke tenant Oracle di OceanBase Database.
Partisi RANGE
Sintaksis range_partitions adalah sebagai berikut:
PARTITION BY RANGE (kolom[, kolom ]...)
[ INTERVAL ( eksp ) [ STORE IN ( tablespace [, tablespace]...) ]]
( PARTITION [ partisi ]
range_values_clause deskripsi_partisi_tabel
[, PARTITION [ partisi ]
range_values_clause deskripsi_partisi_tabel
[ external_part_subpart_data_props ]
]...
)
range_values_clause:
VALUES LESS THAN
({ literal | MAXVALUE }
[, { literal | MAXVALUE } ]...
)
deskripsi_partisi_tabel:
PARTITION [partisi] [deskripsi_partisi_tabel] )
external_part_subpart_data_props:
[ DEFAULT DIRECTORY direktori ]
LOCATION
([ direktori: ] 'location_specifier'
[, [ direktori: ] 'location_specifier' ]...
)
]DDL yang Didukung
Pendefinisian partisi RANGE menggunakan opsi PARTITION BY RANGE (kolom[, kolom ]...) (PARTITION [ partisi ] range_values_clause) didukung. Berikut adalah contohnya:
CREATE TABLE T (C1 DATE DEFAULT SYSDATE, C2 NUMBER) PARTITION BY RANGE(C1)
(
PARTITION P0 VALUES LESS THAN (TO_DATE('01-APR-1998','DD-MON-YYYY')),
PARTITION P1 VALUES LESS THAN (MAXVALUE)
);DDL yang Tidak Didukung
Menentukan interval partisi dengan menggunakan opsi
INTERVAL (eksp)tidak didukung. Jika opsi ini digunakan, maka akan diabaikan.Menentukan tablespace dengan menggunakan opsi
STORE IN (tablespace [, tablespace ]...)tidak didukung. Jika opsi ini digunakan, maka akan diabaikan.Menentukan satu atau lebih sumber data eksternal dengan menggunakan opsi
external_part_subpart_data_propstidak didukung. Jika opsi ini digunakan, maka akan diabaikan.Menentukan karakteristik fisik dan penyimpanan untuk tabel terpartisi dengan menggunakan opsi
deskripsi_partisi_tabeltidak didukung. Jika opsi ini digunakan, maka akan diabaikan.
Partisi LIST
Sintaksis partisi LIST adalah sebagai berikut:
PARTITION BY LIST ( kolom [, kolom]... )
[ OTOMATIS [ STORE IN ( tablespace [, tablespace ]... ) ] ]
(PARTITION [ partisi ]
list_values_clause deskripsi_partisi_tabel
[, PARTITION [ partisi ]
list_values_clause deskripsi_partisi_tabel
[ external_part_subpart_data_props ]
]...
)
list_values_clause:
VALUES ( nilai_daftar | DEFAULT )
deskripsi_partisi_tabel:
PARTITION [partisi] [deskripsi_partisi_tabel] )
external_part_subpart_data_props:
[ DEFAULT DIRECTORY direktori ]
LOCATION
([ direktori: ] 'location_specifier'
[, [ direktori: ] 'location_specifier' ]...
)
]
DDL yang Didukung
Pendefinisian partisi LIST menggunakan opsi PARTITION BY LIST ( kolom [, kolom]... ) (PARTITION [ partisi ] list_values_clause) didukung. Berikut adalah contohnya:
CREATE TABLE T (C1 VARCHAR2(100)) PARTITION BY LIST(C1)
( PARTITION P0 VALUES("1","2"),
PARTITION P1 VALUES("3","4")
);DDL yang Tidak Didukung
Menentukan pembuatan partisi LIST otomatis dengan menggunakan opsi OTOMATIS tidak didukung. Jika opsi ini digunakan, maka akan diabaikan.
Menentukan tablespace dengan menggunakan opsi
STORE IN (tablespace [, tablespace ]...)tidak didukung. Jika opsi ini digunakan, maka akan diabaikan.Menentukan satu atau lebih sumber data eksternal dengan menggunakan opsi
external_part_subpart_data_propstidak didukung. Jika opsi ini digunakan, maka akan diabaikan.Menentukan karakteristik fisik dan penyimpanan untuk tabel terpartisi dengan menggunakan opsi
deskripsi_partisi_tabeltidak didukung. Jika opsi ini digunakan, maka akan diabaikan.
Partisi HASH
Sintaksis partisi HASH adalah sebagai berikut:
PARTITION BY HASH (kolom [, kolom ] ...)
{ individual_hash_partitions
| hash_partitions_by_quantity
}
individual_hash_partitions:
( PARTITION [partisi] [read_only_clause] [indexing_clause] [partitioning_storage_clause]
[, PARTITION [partisi] [read_only_clause] [indexing_clause] [partitioning_storage_clause]]... )
partitioning_storage_clause:
[ { { TABLESPACE tablespace | TABLESPACE SET tablespace_set }
| OVERFLOW [ TABLESPACE tablespace] | TABLESPACE SET tablespace_set
| kompresi_tabel
| kompresi_indeks
| inmemory_clause
| ilm_clause
| LOB_partitioning_storage
| VARRAY varray_item STORE AS [SECUREFILE | BASICFILE] LOB LOB_segname
}...
]
hash_partitions_by_quantity:
PARTITIONS jumlah_partisi_hash
[ STORE IN (tablespace [, tablespace ]...) ]
[ kompresi_tabel | kompresi_indeks ]
[ OVERFLOW STORE IN (tablespace [, tablespace ]...) ]DDL yang Didukung
Pendefinisian partisi HASH menggunakan opsi
individual_hash_partitionsdidukung. Untuk informasi lebih lanjut, lihat Partisi yang ditentukan pengguna.Pendefinisian jumlah partisi HASH menggunakan klausa
partitioning_storage_clausedidukung. Hanya opsiPARTITION BY HASH (kolom [, kolom ] ...) PARTITIONS jumlah_partisi_hashyang didukung untuk menentukan jumlah partisi HASH. Berikut adalah contohnya:CREATE TABLE T (C NUMBER) PARTITION BY HASH(C) PARTITIONS 4
DDL yang Tidak Didukung
Operasi berikut yang menggunakan klausa partitioning_storage_clause tidak didukung:
Menentukan atribut indeks untuk tabel, partisi, atau subpartisi menggunakan opsi
INDEXING { ON | OFF }. Jika opsi ini digunakan, maka akan diabaikan.Menentukan karakteristik penyimpanan untuk partisi HASH dan untuk subpartisi RANGE, HASH, dan LIST menggunakan klausa
partitioning_storage_clause. Jika klausa ini digunakan, maka akan diabaikan.Menentukan tablespace menggunakan opsi
STORE IN (tablespace [, tablespace ]...). Jika opsi ini digunakan, maka akan diabaikan.Menentukan apakah segmen data dan indeks akan dikompresi menggunakan opsi
kompresi_tabeldankompresi_indeks. Jika opsi ini digunakan, maka akan diabaikan.Menentukan tablespace menggunakan opsi
OVERFLOW STORE IN (tablespace [, tablespace ]...). Jika opsi ini digunakan, maka akan diabaikan.