All Products
Search
Document Center

ApsaraDB for OceanBase (Deprecated):Memodifikasi, menghapus, dan menambahkan partisi

Last Updated:Jun 28, 2025

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

Sintaksis

alter_table_partitioning:
{ modify_table_default_attrs
| alter_automatic_partitioning
| alter_interval_partitioning
| set_subpartition_template
| modify_table_partition
| modify_table_subpartition
| move_table_partition
| move_table_subpartition
| add_external_partition_attrs
| add_table_partition
| coalesce_table_partition
| drop_external_partition_attrs
| drop_table_partition
| drop_table_subpartition
| rename_partition_subpart
| truncate_partition_subpart
| split_table_partition
| split_table_subpartition
| merge_table_partitions
| merge_table_subpartitions
| exchange_partition_subpart
}

modify_table_default_attrs:
MODIFY DEFAULT ATTRIBUTES
   [ FOR partition_extended_name ]
   [ DEFAULT DIRECTORY directory ]
   [ deferred_segment_creation ]
   [ read_only_clause ]
   [ indexing_clause ]
   [ segment_attributes_clause ]
   [ table_compression ]
   [ inmemory_clause ]
   [ PCTTHRESHOLD integer ]
   [ prefix_compression ]
   [ alter_overflow_clause ]
   [ { LOB (LOB_item) | VARRAY varray } (LOB_parameters) ]...

alter_automatic_partitioning:
{ SET PARTITIONING { AUTOMATIC | MANUAL }
| SET STORE IN ( tablespace [, tablespace ]... )
}

alter_interval_partitioning:
{ SET INTERVAL ( [expr] )
| SET STORE IN ( tablespace [, tablespace]... )
}

set_subpartition_template:
SET SUBPARTITION TEMPLATE
   { ( range_subpartition_desc [, range_subpartition_desc]... )
   | ( list_subpartition_desc [, list_subpartition_desc]... )
   | ( individual_hash_subparts [, individual_hash_subparts]... )
   | ()
   | hash_subpartition_quantity
   }
modify_table_partition:
{ modify_range_partition
| modify_hash_partition
| modify_list_partition
}

modify_table_subpartition:
MODIFY subpartition_extended_name
{ allocate_extent_clause
| deallocate_unused_cluse
| shrink_clause
| { { LOB LOB_item | VARRAY varray } (modify_LOB_parameters) }...
| [ REBUILD ] UNUSABLE LOCAL INDEXES
| { ADD | DROP } VALUES ( list_values )
| read_only_clause
| indexing_clause
}

move_table_partition:
MOVE partition_extended_name
   [ MAPPING TABLE ]
   [ table_partition_description ]
   [ filter_condition]
   [ update_index_clauses ]
   [ parallel_clause ]
   [ allow_disallow_clustering ]
   [ ONLINE ]

move_table_subpartition:
MOVE subpartition_extended_name [ indexing_clause ]
     [ partitioning_storage_clause ]
     [ update_index_clauses ]
     [ filter_condition ]
     [ parallel_clause ]
     [ allow_disallow_clustering ]
     [ ONLINE ]

add_external_partition_attrs:
ADD EXTERNAL PARTITION ATTRIBUTES external_table_clause 
 [ REJECT LIMIT ]pre

add_table_partition:
ADD {
PARTITION [ partition ] add_range_partition_clause
  [, PARTITION [ partition ] add_range_partition_clause ]...
| PARTITION [ partition ] add_list_partition_clause
  [, PARTITION [ partition ] add_list_partition_clause ]...
| PARTITION [ partition ] add_system_partition_clause
  [, PARTITION [ partition ] add_system_partition_clause ]...
  [ BEFORE { partition_name | partition_number } ]
| PARTITION [ partition ] add_hash_partition_clause
} [ dependent_tables_clause ]

coalesce_table_partition:
COALESCE PARTITION
  [ update_index_clauses ]
  [ parallel_clause ]
  [ allow_disallow_clustering ]

drop_external_partition_attrs:
DROP EXTERNAL PARTITION ATTRIBUTES

drop_table_partition:
DROP partition_extended_names
  [ update_index_clauses [ parallel_clause ] ]

drop_table_subpartition:
DROP subpartition_extended_names
  [ update_index_clauses [ parallel_clause ] ]

rename_partition_subpart:
RENAME { partition_extended_name
       | subpartition_extended_name
       } TO new_name

truncate_partition_subpart:
TRUNCATE { partition_extended_names | subpartition_extended_names }
   [ { DROP [ ALL ] | REUSE } STORAGE ]
   [ update_index_clauses [ parallel_clause ] ] [ CASCADE ]

split_table_partition:
SPLIT partition_extended_name
  { AT (literal [, literal]... )
    [ INTO ( range_partition_desc, range_partition_desc ) ]
  | VALUES ( list_values )
    [ INTO ( list_partition_desc, list_partition_desc ) ]
  | INTO ( { range_partition_desc [, range_partition_desc ]...
           | list_partition_desc [, list_partition_desc ]... }
         , partition_spec )
  } [ split_nested_table_part ]
    [ filter_condition ]
    [ dependent_tables_clause ]
    [ update_index_clauses ]
    [ parallel_clause ]
    [ allow_disallow_clustering ]
    [ ONLINE ]

split_table_subpartition:
SPLIT subpartition_extended_name
  { AT ( literal [, literal]... )
    [ INTO ( range_subpartition_desc, range_subpartition_desc ) ]
  | VALUES ( list_values )
    [ INTO ( list_subpartition_desc, list_subpartition_desc ) ]
  | INTO ( { range_subpartition_desc [, range_subpartition_desc ]...
           | list_subpartition_desc [, list_subpartition_desc ]... }
         , subpartition_spec )
  } [ filter_condition ]
    [ dependent_tables_clause ]
    [ update_index_clauses ]
    [ parallel_clause ]
    [ allow_disallow_clustering ]
    [ ONLINE ]

merge_table_partitions:
MERGE PARTITIONS partition_or_key_value
   { , partition_or_key_value [, partition_or_key_value ]...
   | TO partition_or_key_value }
   [ INTO partition_spec ]
   [ filter_condition ]
   [ dependent_tables_clause ]
   [ update_index_clauses ]
   [ parallel_clause ]
   [ allow_disallow_clustering ]

merge_table_subpartitions:
MERGE SUBPARTITIONS subpartition_or_key_value
   { , subpartition_or_key_value [, subpartition_or_key_value ]...
   | TO subpartition_or_key_value }
   [ INTO { range_subpartition_desc 
          | list_subpartition_desc
          }
   ]
   [ filter_condition ]
   [ dependent_tables_clause ]
   [ update_index_clauses ]
   [ parallel_clause ]
   [ allow_disallow_clustering ]

exchange_partition_subpart:
EXCHANGE { partition_extended_name
         | subpartition_extended_name
         }
   WITH TABLE [ schema. ] table
   [ { INCLUDING | EXCLUDING } INDEXES ]
   [(WITH | WITHOUT) VALIDATION];
   [ exceptions_clause ]
   [ update_index_clauses [ parallel_clause ] ]
   [ CASCADE ]

Operasi yang didukung

  • Menghapus partisi menggunakan klausa drop_table_partition didukung. Untuk informasi lebih lanjut, lihat Menghapus Partisi.

  • Menghapus subpartisi menggunakan klausa drop_table_subpartition didukung. Untuk informasi lebih lanjut, lihat Menghapus Subpartisi.

  • Menambahkan partisi dan subpartisi menggunakan klausa add_table_partition didukung. Untuk informasi lebih lanjut, lihat Menambahkan Partisi dan Subpartisi.

  • Memodifikasi partisi menggunakan klausa modify_table_partition didukung. Untuk informasi lebih lanjut, lihat Memodifikasi Partisi.

  • Memotong partisi menggunakan klausa truncate_partition_subpart didukung. Untuk informasi lebih lanjut, lihat Memotong Partisi.

Operasi yang tidak didukung

  • Memodifikasi subpartisi menggunakan klausa modify_table_subpartition tidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.

  • Menentukan nilai default baru untuk atribut tabel menggunakan klausa modify_table_default_attrs tidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.

  • Memodifikasi tabel yang dipartisi secara otomatis menggunakan klausa alter_automatic_partitioning tidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.

  • Memodifikasi tabel yang dipartisi INTERVAL menggunakan klausa alter_interval_partitioning tidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.

  • Membuat atau mengganti subpartisi RANGE, LIST, atau HASH default saat ini di setiap partisi tabel menggunakan klausa set_subpartition_template tidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.

  • Memindahkan partisi ke segmen lain menggunakan klausa move_table_partition tidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.

  • Memindahkan subpartisi ke segmen lain menggunakan klausa move_table_subpartition tidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.

  • Menambahkan parameter eksternal ke tabel terpartisi menggunakan klausa add_external_partition_attrs tidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.

  • Memilih partisi HASH terakhir, mendistribusikan data di dalamnya ke satu atau beberapa partisi yang tersisa berdasarkan fungsi hash, lalu menghapus partisi terakhir menggunakan klausa coalesce_table_partition tidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.

  • Menghapus parameter eksternal di tabel terpartisi menggunakan klausa drop_external_partition_attrs tidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.

  • Mengganti nama partisi tabel atau subpartisi menggunakan klausa rename_partition_subpart tidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.

  • Membagi partisi menjadi beberapa partisi baru dengan daftar nilai yang tidak tumpang tindih menggunakan klausa split_table_partition tidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.

  • Membagi subpartisi menjadi beberapa subpartisi baru dengan daftar nilai yang tidak tumpang tindih menggunakan klausa split_table_subpartition tidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.

  • Menggabungkan partisi menggunakan klausa merge_table_partitions tidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.

  • Menggabungkan subpartisi menggunakan klausa merge_table_subpartitions tidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.

  • Mempertukarkan segmen data dan indeks menggunakan klausa exchange_partition_subpart tidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.