DLM功能使用了两张系统表,即mysql.dlm_policies表和mysql.dlm_progress表,您可以使用高权限账户查看当前集群上所有可用的DLM策略和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)参数说明
| 参数 | 说明 | 
| Id | 自增主键。 | 
| Table_schema | DLM策略对应表所在数据库。 | 
| Table_name | DLM策略对应表的表名称。 | 
| Policy_name | DLM策略的名称。 | 
| Policy_type | DLM策略的类型。取值范围: 
 | 
| Archive_type | DLM策略的执行方式。取值范围: 
 | 
| Storage_mode | 存储模式。取值范围: 
 | 
| Storage_engine | DLM表的存储引擎,目前仅支持将数据归档为CSV格式。 | 
| Storage_media | DLM表的存储介质,目前仅支持OSS引擎,对应OSS存储。 | 
| Storage_schema_name | DLM归档为表时,表所在的数据库。 | 
| Storage_table_name | DLM归档为表时的表名称。 | 
| Data_compressed | 归档后的数据是否压缩。暂不支持。 | 
| Compressed_algorithm | 数据压缩算法。暂不支持。 | 
| Enabled | DLM策略是否生效。取值范围: 
 | 
| Priority_number | DLM策略的执行优先级。暂不支持。 | 
| Tier_partition_number | 以PARTITION COUNT进行数据归档时,执行的分区数量。 | 
| Tier_condition | 以CONDITION进行数据归档时的执行条件。暂不支持。 | 
| Extra_info | 其他信息。 | 
| 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)参数说明
| 参数 | 说明 | 
| Id | 自增主键。 | 
| Table_schema | DLM策略对应表所在数据库。 | 
| Table_name | DLM策略对应表的表名称。 | 
| Policy_name | DLM策略的名称。 | 
| Policy_type | DLM策略的类型。取值范围: 
 | 
| Archive_option | DLM策略的执行条件。 | 
| Storage_engine | DLM策略的存储引擎,目前仅支持将数据归档为CSV格式。 | 
| Storage_media | DLM策略的存储介质。取值范围: 
 | 
| Data_compressed | 归档后的数据是否压缩。暂不支持。 | 
| Compressed_algorithm | 数据压缩算法。暂不支持。 | 
| Archive_partitions | DLM归档分区的名称。 | 
| Archive_stage | DLM的执行阶段。具体阶段如下: 
 说明  
 | 
| Archive_percentage | 当前DLM策略执行进度百分比。 | 
| Archived_file_info | DLM策略归档后的文件信息。 | 
| Start_time | 开始执行DLM策略的时间。 | 
| End_time | DLM策略执行结束的时间。 | 
| Extra_info | 其他信息。 |