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_partitiondidukung. Untuk informasi lebih lanjut, lihat Menghapus Partisi.Menghapus subpartisi menggunakan klausa
drop_table_subpartitiondidukung. Untuk informasi lebih lanjut, lihat Menghapus Subpartisi.Menambahkan partisi dan subpartisi menggunakan klausa
add_table_partitiondidukung. Untuk informasi lebih lanjut, lihat Menambahkan Partisi dan Subpartisi.Memodifikasi partisi menggunakan klausa
modify_table_partitiondidukung. Untuk informasi lebih lanjut, lihat Memodifikasi Partisi.Memotong partisi menggunakan klausa
truncate_partition_subpartdidukung. Untuk informasi lebih lanjut, lihat Memotong Partisi.
Operasi yang tidak didukung
Memodifikasi subpartisi menggunakan klausa
modify_table_subpartitiontidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.Menentukan nilai default baru untuk atribut tabel menggunakan klausa
modify_table_default_attrstidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.Memodifikasi tabel yang dipartisi secara otomatis menggunakan klausa
alter_automatic_partitioningtidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.Memodifikasi tabel yang dipartisi INTERVAL menggunakan klausa
alter_interval_partitioningtidak 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_templatetidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.Memindahkan partisi ke segmen lain menggunakan klausa
move_table_partitiontidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.Memindahkan subpartisi ke segmen lain menggunakan klausa
move_table_subpartitiontidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.Menambahkan parameter eksternal ke tabel terpartisi menggunakan klausa
add_external_partition_attrstidak 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_partitiontidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.Menghapus parameter eksternal di tabel terpartisi menggunakan klausa
drop_external_partition_attrstidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.Mengganti nama partisi tabel atau subpartisi menggunakan klausa
rename_partition_subparttidak 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_partitiontidak 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_subpartitiontidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.Menggabungkan partisi menggunakan klausa
merge_table_partitionstidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.Menggabungkan subpartisi menggunakan klausa
merge_table_subpartitionstidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.Mempertukarkan segmen data dan indeks menggunakan klausa
exchange_partition_subparttidak didukung. Sebuah kesalahan akan dikembalikan saat Anda melakukan operasi ini.