このトピックでは、Oracle データベースから OceanBase Database の Oracle テナントへのデータ移行中に、テーブル属性の変更、削除、および追加を行う ALTER TABLE DDL 操作のサポートされている変換範囲について説明します。
構文
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
}サポートされている操作
RENAME TO new_table_name 句を使用したテーブル名の変更はサポートされています。サンプルコード:
ALTER TABLE SC.T RENAME TO T2;サポートされていない操作
ADD attribute_clustering_clause句を使用したクラスタリング属性の追加はサポートされていません。この操作を実行するとエラーが返されます。MODIFY CLUSTERING [ clustering_when ] [ zonemap_clause ]句を使用した、データ再配置中のテーブルへのデータ挿入の許可または禁止、あるいは属性クラスタリングはサポートされていません。この操作を実行するとエラーが返されます。DROP CLUSTERING句を使用したクラスタリング属性の削除はサポートされていません。この操作を実行するとエラーが返されます。physical_attributes_clause句を使用したテーブルの物理属性の変更はサポートされていません。この操作を実行するとエラーが返されます。logging_clause句を使用したロギング属性の変更はサポートされていません。この操作を実行するとエラーが返されます。table_compression句を使用した、ヒープテーブル以外のテーブルのデータセグメントの圧縮または非圧縮の指示はサポートされていません。ヒープテーブル以外のテーブルでこの操作を実行するとエラーが返されます。inmemory_table_clause句を使用した、インメモリ列ストアテーブル属性の有効化、無効化、または変更はサポートされていません。この操作を実行するとエラーが返されます。ilm_clause句を使用した、テーブルの自動データ最適化戦略の追加、削除、有効化、または無効化はサポートされていません。この操作を実行するとエラーが返されます。supplemental_table_logging句を使用した、REDO ロググループまたはREDO ロググループ内の1つ以上の補足ログ列の追加または削除はサポートされていません。この操作を実行するとエラーが返されます。allocate_extent_clause句を使用した、テーブル、パーティション、サブパーティション、オーバーフローデータセグメント、LOB データセグメント、または LOB インデックスの新しいエクステントの明示的な割り当てはサポートされていません。この操作を実行するとエラーが返されます。deallocate_unused_clause句を使用した、テーブル、パーティション、サブパーティション、オーバーフローデータセグメント、LOB データセグメント、または LOB インデックスの末尾にある未使用領域の明示的な解放はサポートされていません。この操作を実行するとエラーが返されます。{ CACHE | NOCACHE }句を使用した、キャッシュへのブロックの格納方法の指定はサポートされていません。この操作を実行するとエラーが返されます。RESULT_CACHE ( MODE {DEFAULT | FORCE} )句を使用した、クエリ結果キャッシュの指定はサポートされていません。この操作を実行するとエラーが返されます。upgrade_table_clause句を使用した、参照される各タイプの最新バージョンに準拠するためのターゲットテーブルのメタデータの変換はサポートされていません。この操作を実行するとエラーが返されます。records_per_block_clause句を使用した、ブロックに格納されるレコード数の制限はサポートされていません。この操作を実行するとエラーが返されます。
無視される句とオプション
同期された DDL 文で指定された場合、次の句とオプションは無視され、解決または変換されません。
読み取り/書き込みモードを設定するための
READ ONLY | READ WRITE句。新しい暗号鍵を生成したり、暗号鍵を別のアルゴリズムの鍵に変換したりするための
REKEY encryption_spec句。テーブルのデフォルトの照合順序を変更するための
DEFAULT COLLATION collation_name句。テーブルの行アーカイブを有効または無効にするための
[NO] ROW ARCHIVAL句。