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 INDEXESdidukung.
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 SP1Menambahkan 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_partitiontidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.
Klausa dan opsi yang diabaikan
Klausa dan opsi berikut akan diabaikan dan tidak akan diselesaikan atau dikonversi saat ditentukan dalam pernyataan DDL yang disinkronkan.
Klausa
read_only_clauseuntuk memilih mode baca/tulis.Klausa
indexing_clauseuntuk memodifikasi atribut indeks partisi tabel.Klausa
partition_attributesuntuk memodifikasi parameter partisi tidak didukung dan akan diabaikan.