All Products
Search
Document Center

ApsaraDB for OceanBase (Deprecated):Memodifikasi partisi

Last Updated:Jun 28, 2025

Topik ini menjelaskan ruang lingkup konversi yang didukung dari operasi DDL ALTER TABLE untuk memodifikasi partisi selama migrasi data dari database Oracle ke tenant Oracle di OceanBase Database.

Sintaksis

modify_table_partition:
{ modify_range_partition
| modify_hash_partition
| modify_list_partition
}

modify_range_partition:
MODIFY partition_extended_name
   { partition_attributes
   | { add_range_subpartition
     | add_hash_subpartition
     | add_list_subpartition
     }
   | coalesce_table_subpartition
   | alter_mapping_table_clause
   | [ REBUILD ] UNUSABLE LOCAL INDEXES
   | read_only_clause
   | indexing_clause
   }

modify_hash_partition:
MODIFY partition_extended_name
  { partition_attributes
  | coalesce_table_subpartition
  | alter_mapping_table_clause
  | [ REBUILD ] UNUSABLE LOCAL INDEXES
  | read_only_clause
  | indexing_clause
  }

modify_list_partition:
MODIFY partition_extended_name
  { partition_attributes
  | { ADD | DROP } VALUES ( list_values )
  | { add_range_subpartition
    | add_list_subpartition
    | add_hash_subpartition 
    }
  | coalesce_table_subpartition
  | [ REBUILD ] UNUSABLE LOCAL INDEXES
  | read_only_clause
  | indexing_clause
  }

partition_attributes:
[ { physical_attributes_clause
  | logging_clause
  | allocate_extent_clause
  | deallocate_unused_clause
  | shrink_clause
  }...
]
[ OVERFLOW
  { physical_attributes_clause
  | logging_clause
  | allocate_extent_clause
  | deallocate_unused_clause
  }...
]
[ table_compression ]
[ inmemory_clause ]
[ { { LOB LOB_item | VARRAY varray } (modify_LOB_parameters) }...]

coalesce_table_subpartition:
COALESCE SUBPARTITION subpartition
  [update_index_clauses]
  [parallel_clause]
  [allow_disallow_clustering]

read_only_clause:
{ READ ONLY } | { READ WRITE }

indexing_clause:
INDEXING { ON | OFF }

Operasi yang didukung

  • Menambahkan subpartisi LIST, RANGE, dan HASH ke partisi dengan menentukan nama partisi didukung. Contoh kode:

    ALTER TABLE T MODIFY PARTITION P0 ADD SUBPARTITION SP0;
    ALTER TABLE T MODIFY PARTITION P0 ADD SUBPARTITION VALUES(100);
    ALTER TABLE T MODIFY PARTITION P0 ADD SUBPARTITION VALUES LESS THAN(100);
  • Memperbarui indeks dalam tabel menggunakan klausa UPDATE GLOBAL INDEXES didukung.

Operasi yang tidak didukung

  • Menambahkan subpartisi LIST, RANGE, dan HASH ke partisi dengan menentukan nilai kunci partisi tidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini. Contoh kode:

    ALTER TABLE T MODIFY PARTITION FOR(1000) ADD SUBPARTITION SP1
  • Menambahkan nilai ke atau menghapus nilai dari nilai kunci partisi LIST tidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.

  • Memilih subpartisi HASH terakhir, mendistribusikan data di atasnya ke satu atau lebih subpartisi yang tersisa berdasarkan fungsi hash, lalu menghapus subpartisi terakhir menggunakan klausa coalesce_table_partition tidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.

Klausa dan opsi yang diabaikan

Catatan

Klausa dan opsi berikut akan diabaikan dan tidak akan diselesaikan atau dikonversi saat ditentukan dalam pernyataan DDL yang disinkronkan.

  • Klausa read_only_clause untuk memilih mode baca/tulis.

  • Klausa indexing_clause untuk memodifikasi atribut indeks partisi tabel.

  • Klausa partition_attributes untuk memodifikasi parameter partisi tidak didukung dan akan diabaikan.