すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB for OceanBase:テーブル属性の変更、削除、および追加

最終更新日:Jan 19, 2025

このトピックでは、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 句。