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

PolarDB:テーブル スキーマ

最終更新日:Mar 29, 2026

Data Lifecycle Management (DLM) 機能では、2 つのシステムテーブル `mysql.dlm_policies` および `mysql.dlm_progress` を使用します。これらのテーブルは、システム起動時に自動的に作成されるため、手動での設定は不要です。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • PolarDB クラスターに対する特権アカウントを保有していること

  • クラスターで DLM 機能が有効化されていること

現在の制限事項

以下のフィールドは現時点では利用できませんが、今後のリリースで対応予定です。

フィールドテーブル説明
Archive_type: CONDITIONmysql.dlm_policies指定された条件を満たすデータのアーカイブ
Storage_mode: READ WRITEmysql.dlm_policiesアーカイブ済みデータへの読み書きアクセスモード
Data_compressed両方アーカイブ済みデータの圧縮有無を指定
Compressed_algorithm両方アーカイブ済みデータの圧縮アルゴリズム
Priority_numbermysql.dlm_policiesDLM ポリシーの実行優先度
Tier_conditionmysql.dlm_policiesArchive_typeCONDITION
Storage_media: DISKmysql.dlm_progressディスクストレージへのデータアーカイブ

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 ポリシーテーブル'
1 row in set (0.00 sec)

パラメーター

パラメーターデフォルト値有効な値説明
Id自動増分プライマリキー。
Table_schema対象テーブルを含むデータベース。
Table_nameテーブル名。
Policy_nameDLM ポリシーの名称。
Policy_typeTABLETABLEPARTITIONNONEDLM ポリシーのタイプ。TABLE:テーブル単位でデータをアーカイブ。PARTITION:パーティション単位でデータをアーカイブ。NONE:データを直接削除。
Archive_typePARTITION COUNTPARTITION COUNTCONDITION(現時点では未対応)DLM ポリシーの実行モード。PARTITION COUNT:パーティション数に基づいてデータをアーカイブ。
Storage_modeREAD ONLYREAD ONLYREAD WRITE(現時点では未対応)アーカイブ済みデータのストレージアクセスモード。
Storage_engineDLM テーブルのストレージエンジン。現在は CSV 形式のみ対応。
Storage_mediaDLM テーブルの記憶媒体。現在は Object Storage Service (OSS) へのアーカイブのみ対応。
Storage_schema_nameアーカイブ済みテーブルを含むデータベース。Policy_typeTABLE の場合に適用。
Storage_table_nameアーカイブ済みテーブルの名称。Policy_typeTABLE の場合に適用。
Data_compressedOFFアーカイブ済みデータの圧縮有無を指定。現時点では未対応。
Compressed_algorithmアーカイブ済みデータの圧縮アルゴリズム。現時点では未対応。
EnabledENABLEDENABLEDDISABLEDDLM ポリシーの有効/無効を指定。
Priority_numberDLM ポリシーの実行優先度。現時点では未対応。
Tier_partition_number0Archive_typePARTITION COUNT の場合のアーカイブ対象パーティション数。
Tier_conditionArchive_typeCONDITION の場合のアーカイブ条件。現時点では未対応。
Extra_infoJSON 形式で格納される追加情報。
CommentDLM ポリシーのコメント。

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 実行状況テーブル'
1 row in set (0.00 sec)

パラメーター

パラメーターデフォルト値有効な値説明
Id自動増分プライマリキー。
Table_schema対象テーブルを含むデータベース。
Table_nameテーブル名。
Policy_nameDLM ポリシーの名称。
Policy_typeTABLETABLEPARTITIONNONEDLM ポリシーのタイプ。TABLE:テーブル単位でデータをアーカイブ。PARTITION:パーティション単位でデータをアーカイブ。NONE:データを直接削除。
Archive_optionDLM ポリシーの実行条件。
Storage_engineアーカイブ済みデータのストレージエンジン。現在は CSV 形式のみ対応。
Storage_mediaOSSOSSDISK(現時点では未対応)アーカイブ済みデータの記憶媒体。
Data_compressedOFFアーカイブ済みデータの圧縮有無を指定。現時点では未対応。
Compressed_algorithmアーカイブ済みデータの圧縮アルゴリズム。現時点では未対応。
Archive_partitionsデータアーカイブに使用されるパーティション名。
Archive_stageINITIALIZEWAITINGDATA_COPYINGSTORAGE_MOVINGDATA_VERIFYINGDATA_DELETINGARCHIVE_COMPLETEARCHIVE_ERRORDLM ポリシーの実行ステージ。詳細については、「アーカイブステージ」をご参照ください。
Archive_percentageDLM ポリシーの実行進捗率(パーセンテージ)。
Archived_file_infoアーカイブ済みデータのファイル情報(JSON 形式)。
Start_timeDLM ポリシー実行の開始時刻。
End_timeDLM ポリシー実行の終了時刻。
Extra_infoJSON 形式で格納される追加情報。ARCHIVE_ERROR ステージの場合、エラー詳細がここに格納されます。

アーカイブステージ

Archive_stage フィールドは、DLM ポリシーの各実行ステージを追跡します。

ステージ説明
INITIALIZEタスクの初期化中。
WAITINGタスクの実行待ち。
DATA_COPYINGデータを新しい記憶媒体へコピー中。
STORAGE_MOVINGアーカイブ済みデータのストレージエンジンを切り替え中。
DATA_VERIFYINGアーカイブ済みデータと元のデータが一致しているか検証中。
DATA_DELETINGストレージ容量解放のため、元のデータを削除中。
ARCHIVE_COMPLETEDLM ポリシーの実行が正常に完了しました。
ARCHIVE_ERRORDLM ポリシーの実行中にエラーが発生しました。
ARCHIVE_COMPLETE 以外のステージにある DLM ポリシーは、重複実行が自動的にスキップされます。

アーカイブエラーの対処方法

Archive_stageARCHIVE_ERROR の場合、エラー詳細を確認するには、Extra_info フィールドを mysql.dlm_progress テーブルから参照してください。

原因を特定した後、ポリシーのステータスをリセットして再実行するには、以下のいずれかの操作を行ってください。

  • 失敗したポリシーの実行記録を削除します。

  • 以下の文を実行し、ステータスを ARCHIVE_COMPLETE に設定します。

    UPDATE mysql.dlm_progress SET Archive_stage = "ARCHIVE_COMPLETE" WHERE Id = <current_progress_id>;

    <current_progress_id> は、失敗した実行記録の Id 値に置き換えてください。

その後、DLM ポリシーを再度実行してください。