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

PolarDB:テーブル構造

最終更新日:Aug 28, 2026

DLM 機能は、mysql.dlm_policiesmysql.dlm_progress の 2 つのシステムテーブルを使用します。特権アカウントを使用して、現在のクラスターで利用可能なすべての DLM ポリシーとその実行記録を表示できます。これらのテーブルはシステム起動時に自動的に作成されるため、手動で作成する必要はありません。

mysql.dlm_policies テーブル

mysql.dlm_policies テーブルには、現在のクラスターのすべての DLM ポリシーが格納されます。

[テーブルスキーマ]

CREATE TABLE `dlm_policies` (
  `Id` bigint(20) NOT NULL AUTO_INCREMENT,
  `Table_schema` varchar(64) NOT NULL,
  `Table_name` varchar(64) NOT NULL,
  `Policy_name` varchar(64) NOT NULL,
  `Policy_type` varchar(64) DEFAULT NULL,
  `Archive_type` varchar(20) DEFAULT NULL,
  `Storage_mode` varchar(20) DEFAULT NULL,
  `Storage_engine` varchar(64) DEFAULT NULL,
  `Storage_media` varchar(20) DEFAULT NULL,
  `Storage_schema_name` varchar(64) DEFAULT NULL,
  `Storage_table_name` varchar(64) DEFAULT NULL,
  `Data_compressed` varchar(10) DEFAULT 'OFF',
  `Compressed_algorithm` varchar(64) DEFAULT NULL,
  `Enabled` varchar(10) DEFAULT 'ON',
  `Priority_number` int(11) NOT NULL,
  `Tier_partition_number` int(11) DEFAULT '0',
  `Tier_condition` varchar(512) DEFAULT NULL,
  `Extra_info` json NOT NULL,
  `Comment` varchar(2048) DEFAULT NULL,
  PRIMARY KEY (`Id`),
  UNIQUE KEY `unique_policy` (`Table_schema`,`Table_name`,`Policy_name`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='PolarDB DLM policies table'
1 row in set (0.00 sec)

[Parameter Description]

パラメーター

説明

Id

自動インクリメントの主キーです。

Table_schema

DLM ポリシーの適用対象テーブルが格納されているデータベースです。

Table_name

DLM ポリシーが適用されるテーブルの名前です。

Policy_name

DLM ポリシーの名前です。

Policy_type

DLM ポリシーのタイプです。有効な値は次のとおりです:

  • TABLE (デフォルト): データをテーブルとしてアーカイブします。

  • PARTITION: データをパーティションとしてアーカイブします。

  • NONE: データを直接削除します。

Archive_type

DLM ポリシーの実行方法です。有効な値は次のとおりです:

  • PARTITION COUNT (デフォルト): 指定したパーティション数に基づいてデータをアーカイブします。

  • CONDITION: 指定した条件に基づいてデータをアーカイブします。この値はサポートされていません。

Storage_mode

ストレージモードです。有効な値は次のとおりです:

  • READ ONLY (デフォルト): アーカイブされたデータは読み取り専用です。

  • READ WRITE: アーカイブされたデータは読み取り/書き込み可能です。この値はサポートされていません。

Storage_engine

アーカイブテーブルのストレージエンジンです。現在、データは CSV 形式でのみアーカイブできます。

Storage_media

アーカイブテーブルのストレージメディアです。有効な値は次のとおりです:

Storage_schema_name

データをテーブルとしてアーカイブする場合の、アーカイブテーブルを含むデータベースです。

Storage_table_name

データをテーブルとしてアーカイブする場合の、アーカイブテーブル名です。

Data_compressed

アーカイブされたデータを圧縮するかどうかを示します。このパラメーターはサポートされていません。

Compressed_algorithm

データ圧縮アルゴリズムです。このパラメーターはサポートされていません。

Enabled

DLM ポリシーが有効かどうかを指定します。有効な値は次のとおりです:

  • ON (デフォルト): DLM ポリシーは有効です。

  • OFF: DLM ポリシーは無効です。

Priority_number

DLM ポリシーの実行優先度です。このパラメーターはサポートされていません。

Tier_partition_number

Archive_type が [パーティション数] の場合の、アーカイブ対象のパーティション数。

Tier_condition

Archive_type が [CONDITION] の場合のアーカイブ条件です。このパラメーターはサポートされていません。

Extra_info

JSON 形式の追加情報です。

Comment

DLM ポリシーに関するコメントです。

mysql.dlm_progress テーブル

mysql.dlm_progress テーブルには、現在のクラスターにおける DLM ポリシーの実行記録が格納されます。

[テーブルスキーマ]

CREATE TABLE `dlm_progress` (
  `Id` bigint(20) NOT NULL AUTO_INCREMENT,
  `Table_schema` varchar(64) NOT NULL,
  `Table_name` varchar(64) NOT NULL,
  `Policy_name` varchar(64) NOT NULL,
  `Policy_type` varchar(64) DEFAULT NULL,
  `Archive_option` varchar(64) DEFAULT NULL,
  `Storage_engine` varchar(64) DEFAULT NULL,
  `Storage_media` varchar(20) DEFAULT NULL,
  `Data_compressed` varchar(10) DEFAULT 'OFF',
  `Compressed_algorithm` varchar(64) DEFAULT NULL,
  `Archive_partitions` varchar(2048) DEFAULT NULL,
  `Archive_stage` varchar(64) DEFAULT NULL,
  `Archive_percentage` int(11) DEFAULT NULL,
  `Archived_file_info` json NOT NULL,
  `Start_time` datetime NOT NULL,
  `End_time` datetime DEFAULT NULL,
  `Extra_info` json NOT NULL,
  PRIMARY KEY (`Id`),
  UNIQUE KEY `unique_progress` (`Table_schema`,`Table_name`,`Policy_name`,`Start_time`)
) /*!50100 TABLESPACE `mysql` */ ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='PolarDB DLM progress table'
1 row in set (0.00 sec)

[Parameter Description]

パラメーター

説明

Id

自動インクリメントの主キーです。

Table_schema

DLM ポリシーの適用対象テーブルが格納されているデータベースです。

Table_name

DLM ポリシーが適用されるテーブルの名前です。

Policy_name

DLM ポリシーの名前です。

Policy_type

DLM ポリシーのタイプです。有効な値は次のとおりです:

  • TABLE (デフォルト): データをテーブルとしてアーカイブします。

  • PARTITION: データをパーティションとしてアーカイブします。

  • NONE: データを直接削除します。

Archive_option

DLM ポリシーの実行条件です。

Storage_engine

アーカイブテーブルのストレージエンジンです。現在、データは CSV 形式でのみアーカイブできます。

Storage_media

DLM ポリシーのストレージメディアです。有効な値は次のとおりです:

  • [OSS] (デフォルト): ストレージメディアは OSS です。

  • DISK: ストレージメディアはローカルの PFS ストレージです。この値はサポートされていません。

Data_compressed

アーカイブされたデータを圧縮するかどうかを示します。このパラメーターはサポートされていません。

Compressed_algorithm

データ圧縮アルゴリズムです。このパラメーターはサポートされていません。

Archive_partitions

アーカイブされたパーティションの名前です。

Archive_stage

DLM ポリシーの実行フェーズです。フェーズは次のとおりです:

  • INITIALIZE: タスクを初期化しています。

  • WAITING: タスクはキューに入り、実行を待機しています。

  • DATA_COPYING: システムが新しいストレージメディアにデータをコピーしています。

  • STORAGE_MOVING: システムがアーカイブ対象データのストレージエンジンを変更しています。

  • DATA_VERIFYING: システムがアーカイブされたデータとソースデータの整合性を検証しています。

  • DATA_DELETING: システムがストレージ容量を確保するためにソースデータを削除しています。

  • ARCHIVE_COMPLETE: ポリシーの実行が完了しました。

  • ARCHIVE_ERROR: ポリシーの実行中にエラーが発生しました。

説明
  • DLM ポリシーが実行中は ([ARCHIVE_COMPLETE] 以外のフェーズ)、システムは同じポリシーに対する後続の実行リクエストを自動的にスキップします。

  • ポリシーの実行が失敗し、[ARCHIVE_ERROR] フェーズに入った場合、システムはエラー詳細を mysql.dlm_progress テーブルの Extra_info 列に保存します。ポリシーを再実行する前に、まず失敗の原因を特定して解決する必要があります。次に、失敗したレコードを削除するか、あるいはステートメント UPDATE mysql.dlm_progress SET Archive_stage = "ARCHIVE_COMPLETE" where Id = current_progress_id; を実行してステータスを [ARCHIVE_COMPLETE] に更新することで、失敗したレコードをクリアする必要があります。レコードがリセットされると、DLM ポリシーを再実行できます。

Archive_percentage

DLM ポリシーの実行進捗をパーセンテージで示します。

Archived_file_info

JSON 形式のアーカイブ済みファイル情報です。

Start_time

DLM ポリシー実行の開始時刻です。

End_time

DLM ポリシー実行の終了時刻です。

Extra_info

エラーメッセージなどの追加情報を JSON 形式で格納します。