All Products
Search
Document Center

ApsaraDB for OceanBase (Deprecated):Partisi

Last Updated:Jul 02, 2025

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_props tidak didukung. Jika opsi ini digunakan, maka akan diabaikan.

  • Menentukan karakteristik fisik dan penyimpanan untuk tabel terpartisi dengan menggunakan opsi deskripsi_partisi_tabel tidak 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_props tidak didukung. Jika opsi ini digunakan, maka akan diabaikan.

  • Menentukan karakteristik fisik dan penyimpanan untuk tabel terpartisi dengan menggunakan opsi deskripsi_partisi_tabel tidak 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_partitions didukung. Untuk informasi lebih lanjut, lihat Partisi yang ditentukan pengguna.

  • Pendefinisian jumlah partisi HASH menggunakan klausa partitioning_storage_clause didukung. Hanya opsi PARTITION BY HASH (kolom [, kolom ] ...) PARTITIONS jumlah_partisi_hash yang 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_tabel dan kompresi_indeks. Jika opsi ini digunakan, maka akan diabaikan.

  • Menentukan tablespace menggunakan opsi OVERFLOW STORE IN (tablespace [, tablespace ]...). Jika opsi ini digunakan, maka akan diabaikan.