Topik ini menjelaskan ruang lingkup konversi yang didukung dari operasi DDL ALTER TABLE untuk memodifikasi, menghapus, dan menambah atribut tabel selama migrasi data dari database Oracle ke tenant Oracle di OceanBase Database.
Sintaksis
alter_table_properties:
{ alter_table_properties_1 | { shrink_clause
| RENAME TO new_table_name
| READ ONLY
| READ WRITE
| REKEY encryption_spec
| DEFAULT COLLATION collation_name
| [NO] ROW ARCHIVAL
| ADD attribute_clustering_clause
| MODIFY CLUSTERING [ clustering_when ] [ zonemap_clause ]
| DROP CLUSTERING
}
}
alter_table_properties_1:
{ { physical_attributes_clause
| logging_clause
| table_compression
| inmemory_table_clause
| ilm_clause
| supplemental_table_logging
| allocate_extent_clause
| deallocate_unused_clause
| { CACHE | NOCACHE }
| RESULT_CACHE ( MODE {DEFAULT | FORCE} )
| upgrade_table_clause
| records_per_block_clause
| parallel_clause
| row_movement_clause
| flashback_archive_clause
}...
} [ alter_iot_clauses ] [ alter_XMLSchema_clause ]
physical_attributes_clause:
[ { PCTFREE integer
| PCTUSED integer
| INITRANS integer
| storage_clause
}...
]
logging_clause:
{ LOGGING | NOLOGGING | FILESYSTEM_LIKE_LOGGING }
table_compression:
COMPRESS
| ROW STORE COMPRESS [ BASIC | ADVANCED ]
| COLUMN STORE COMPRESS [ FOR { QUERY | ARCHIVE } [ LOW | HIGH ] ]
[ [NO] ROW LEVEL LOCKING ]
| NOCOMPRESS
inmemory_table_clause:
[ { INMEMORY [ inmemory_attributes ] } | { NO INMEMORY } ]
[ inmemory_column_clause ]
ilm_clause:
ILM
{ ADD POLICY ilm_policy_clause
| { DELETE | ENABLE | DISABLE } POLICY ilm_policy_name
| DELETE_ALL | ENABLE_ALL | DISABLE_ALL
}
supplemental_table_logging:
{ ADD SUPPLEMENTAL LOG
{ supplemental_log_grp_clause | supplemental_id_key_clause }
[, SUPPLEMENTAL LOG
{ supplemental_log_grp_clause | supplemental_id_key_clause }
]...
| DROP SUPPLEMENTAL LOG
{ supplemental_id_key_clause | GROUP log_group }
[, SUPPLEMENTAL LOG
{ supplemental_id_key_clause | GROUP log_group }
]...
}
allocate_extent_clause:
ALLOCATE EXTENT
[ ( { SIZE size_clause
| DATAFILE 'filename'
| INSTANCE integer
} ...
)
]
deallocate_unused_clause:
DEALLOCATE UNUSED [ KEEP size_clause ]
upgrade_table_clause:
UPGRADE [ [NOT ] INCLUDING DATA ]
[ column_properties ]
records_per_block_clause:
{ MINIMIZE | NOMINIMIZE } RECORDS_PER_BLOCK
parallel_clause:
{ NOPARALLEL | PARALLEL [ integer ] }
row_movement_clause:
{ ENABLE | DISABLE } ROW MOVEMENT
flashback_archive_clause:
FLASHBACK ARCHIVE [flashback_archive] | NO FLASHBACK ARCHIVE
alter_iot_clauses:
{ index_org_table_clause
| alter_overflow_clause
| alter_mapping_table_clauses
| COALESCE
}
alter_XMLSchema_clause:
{ ALLOW ANYSCHEMA
| ALLOW NONSCHEMA
| DISALLOW NONSCHEMA
}Operasi yang didukung
Penggantian nama tabel dengan menggunakan klausa RENAME TO new_table_name didukung. Contoh kode:
ALTER TABLE SC.T RENAME TO T2;Operasi yang tidak didukung
Penambahan atribut pengelompokan dengan menggunakan klausa
ADD attribute_clustering_clausetidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.Mengizinkan atau melarang penyisipan data pada jalur langsung atau pengelompokan atribut pada tabel selama relokasi data dengan menggunakan klausa
MODIFY CLUSTERING [ clustering_when ] [ zonemap_clause ]tidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.Penghapusan atribut pengelompokan dengan menggunakan klausa
DROP CLUSTERINGtidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.Modifikasi atribut fisik tabel dengan menggunakan klausa
physical_attributes_clausetidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.Modifikasi atribut logging dengan menggunakan klausa
logging_clausetidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.Menginstruksikan database untuk atau tidak untuk mengompres segmen data dalam tabel selain tabel heap dengan menggunakan klausa
table_compressiontidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini pada tabel selain tabel heap.Mengaktifkan, menonaktifkan, atau memodifikasi atribut tabel In-Memory Column Store dengan menggunakan klausa
inmemory_table_clausetidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.Menambah, menghapus, mengaktifkan, atau menonaktifkan strategi optimasi data otomatis untuk tabel dengan menggunakan klausa
ilm_clausetidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.Menambah atau menghapus grup log redo atau satu atau lebih kolom log tambahan dalam grup log redo dengan menggunakan klausa
supplemental_table_loggingtidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.Alokasi eksplisit ekstent baru untuk tabel, partisi, subpartisi, segmen data overflow, segmen data LOB, atau indeks LOB dengan menggunakan klausa
allocate_extent_clausetidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.Pelepasan eksplisit ruang yang tidak terpakai di akhir tabel, partisi, subpartisi, segmen data overflow, segmen data LOB, atau indeks LOB dengan menggunakan klausa
deallocate_unused_clausetidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.Menentukan cara menyimpan blok dalam cache dengan menggunakan klausa
{ CACHE | NOCACHE }tidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.Menentukan cache hasil kueri dengan menggunakan klausa
RESULT_CACHE ( MODE {DEFAULT | FORCE} )tidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.Mengonversi metadata tabel target agar sesuai dengan versi terbaru dari setiap tipe yang direferensikan dengan menggunakan klausa
upgrade_table_clausetidak didukung. Kesalahan akan dikembalikan saat Anda melakukan operasi ini.Membatasi jumlah rekaman yang disimpan dalam blok dengan menggunakan klausa
records_per_block_clausetidak 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 ketika ditentukan dalam pernyataan DDL yang disinkronkan.
Klausa
READ ONLY | READ WRITEuntuk menetapkan mode baca/tulis.Klausa
REKEY encryption_specuntuk menghasilkan kunci enkripsi baru atau mengonversi kunci enkripsi menjadi algoritma yang berbeda.Klausa
DEFAULT COLLATION collation_nameuntuk mengubah urutan default tabel.Klausa
[NO] ROW ARCHIVALuntuk mengaktifkan atau menonaktifkan arsip baris untuk tabel.