×
技术社区 >  技术博客 >  OceanBase 动态分区自动创建失败?

OceanBase 动态分区自动创建失败?

问题现象

业务部门04-22开启的动态分区,到4-27好像都没有动态创建,表结构如下

CREATE TABLE `tb1` (

  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',

  `timestamp` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '日志时间戳',

  `created_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

  PRIMARY KEY (`id`, `created_time`),

  KEY `idx_timestamp` (`timestamp`) BLOCK_SIZE 16384 LOCAL,

  KEY `idx_created_time` (`created_time`) BLOCK_SIZE 16384 LOCAL,

) ORGANIZATION INDEX AUTO_INCREMENT = 1 AUTO_INCREMENT_MODE = 'ORDER' DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC COMPRESSION = 'zstd_1.3.8' REPLICA_NUM = 2 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE ENABLE_MACRO_BLOCK_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0 COMMENT = '应用日志事件表' DYNAMIC_PARTITION_POLICY = (ENABLE = TRUE, TIME_UNIT = 'DAY', PRECREATE_TIME = '3DAY', EXPIRE_TIME = '30DAY', TIME_ZONE = 'DEFAULT', BIGINT_PRECISION = 'NONE')

partition by range columns(created_time)

(partition `p20260422` values less than ('2026-04-22 00:00:00'),

 partition `p20260423` values less than ('2026-04-23 00:00:00')) WITH COLUMN GROUP(all columns, each column);

关键诊断信息

触发条件

分区命名规则与系统预创建分区规则冲突

事后诊断

通过系统表查看动态分区配置及任务是正常调度的,两个库中问题表table_id为509468、509525

operator@[oceanbase]>SELECT * FROM oceanbase.CDB_OB_DYNAMIC_PARTITION_TABLES where TABLE_NAME='tb_aaa_BBBB';
+-----------+-----------------+--------------+----------+-----------------------+--------+-----------+----------------+-------------+-----------+------------------+
| TENANT_ID | DATABASE_NAME | TABLE_NAME   | TABLE_ID | MAX_HIGH_BOUND_VAL    | ENABLE | TIME_UNIT | PRECREATE_TIME | EXPIRE_TIME | TIME_ZONE | BIGINT_PRECISION |
+-----------+-----------------+--------------+----------+-----------------------+--------+-----------+----------------+-------------+-----------+------------------+
|      1002 |  dev 				  | tb_aaa_BBBB |   509468 | '2026-04-23 00:00:00' | TRUE   | DAY       | 3DAY           | 30DAY       | DEFAULT   | NONE             |
|      1002 |  test 			  | tb_aaa_BBBB|   509525 | '2026-04-23 00:00:00' | TRUE   | DAY       | 3DAY           | 30DAY       | DEFAULT   | NONE             |
+-----------+-----------------+--------------+----------+-----------------------+--------+-----------+----------------+-------------+-----------+------------------+
2 rows in set (0.144 sec)
operator@[oceanbase]>SELECT JOB_NAME, JOB_ACTION, START_DATE, REPEAT_INTERVAL, ENABLED, NEXT_RUN_DATE, MAX_RUN_DURATION, COMMENTS 
    -> FROM oceanbase.DBA_SCHEDULER_JOBS
    -> WHERE JOB_NAME = 'SCHEDULED_MANAGE_DYNAMIC_PARTITION_DAILY'\G
*************************** 1. row ***************************
        JOB_NAME: SCHEDULED_MANAGE_DYNAMIC_PARTITION_DAILY
      JOB_ACTION: DBMS_PARTITION.MANAGE_DYNAMIC_PARTITION(null, 'DAY,WEEK,MONTH,YEAR')
      START_DATE: 2026-01-08 00:00:00.000000
 REPEAT_INTERVAL: FREQ=DAILY;INTERVAL=1
         ENABLED: 1
   NEXT_RUN_DATE: 2026-04-28 00:00:00.000000
MAX_RUN_DURATION: 3600
        COMMENTS: used to perform manage dynamic partition periodically
1 row in set (0.103 sec)

视图 DBA_OB_TENANT_EVENT_HISTORY 中记录当前租户下动态分区管理任务的历史执行情况,包含执行成功和失败的 table id 信息,在 failed_tables 列中可以看到对应的表创建分区失败了

ooperator@[oceanbase]>SELECT
    ->   SVR_IP, TRACE_ID, TIMESTAMP, VALUE1 AS success_tables, VALUE2 AS failed_tables,
    ->   COST_TIME, RET_CODE, ERROR_MSG, TRACE_ID
    -> FROM oceanbase.DBA_OB_TENANT_EVENT_HISTORY
    -> WHERE EVENT = 'MANAGE_DYNAMIC_PARTITION'
    ->   AND VALUE2 IS NOT NULL
    ->   AND VALUE2  '[]'
    -> ORDER BY TIMESTAMP DESC
    -> LIMIT 100;
+----------------+-----------------------------------+----------------------------+----------------+------------------+-----------+----------+-----------+-----------------------------------+
| SVR_IP         | TRACE_ID                          | TIMESTAMP                  | success_tables | failed_tables    | COST_TIME | RET_CODE | ERROR_MSG | TRACE_ID                          |
+----------------+-----------------------------------+----------------------------+----------------+------------------+-----------+----------+-----------+-----------------------------------+
| 10.100.XXX.XX  | YB420A6470E3-000648BFC8ECA114-0-0 | 2026-04-27 00:00:00.063245 | []             | [509468, 509525] |     28939 |        0 | NULL      | YB420A6470E3-000648BFC8ECA114-0-0 |
| 10.100.XXX.XXX | YB420A6470E3-000648BFC8EB949C-0-0 | 2026-04-26 00:00:00.030944 | []             | [509468, 509525] |     16391 |        0 | NULL      | YB420A6470E3-000648BFC8EB949C-0-0 |
| 10.100.XXX.XXX | YB420A6470E3-000648BFC8EA880A-0-0 | 2026-04-25 00:00:00.037074 | []             | [509468, 509525] |     16647 |        0 | NULL      | YB420A6470E3-000648BFC8EA880A-0-0 |
| 10.100.XXX.XXX | YB420A6470E3-000648BFA5FF0566-0-0 | 2026-04-24 00:00:00.033654 | []             | [509468, 509525] |     17362 |        0 | NULL      | YB420A6470E3-000648BFA5FF0566-0-0 |
| 10.100.XXX.XXX | YB420A6470E3-000648BFA5FDF8DA-0-0 | 2026-04-23 00:00:00.070227 | []             | [509468, 509525] |     18756 |        0 | NULL      | YB420A6470E3-000648BFA5FDF8DA-0-0 |
| 10.100.XXX.XX  | YB420A6470E3-000648BFA5FCEC59-0-0 | 2026-04-22 00:00:00.054201 | []             | [509468, 509525] |     37182 |        0 | NULL      | YB420A6470E3-000648BFA5FCEC59-0-0 |
+----------------+-----------------------------------+----------------------------+----------------+------------------+-----------+----------+-----------+-----------------------------------+
6 rows in set (0.066 sec)

通过27日最新的traceid排查日志,关键日志如下

grep 'YB420A6470E3-000648BFC8ECA114-0-0' observer.log.*

WDIAG log_user_error_and_warn (ob_poc_rpc_proxy.cpp:247) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=23][errcode=-5280] Duplicate partition name 'P20260423'
WDIAG [SQL.ENG] alter_table_rpc_v2 (ob_table_executor.cpp:869) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=6][errcode=-5280] rpc proxy alter table failed(ret=-5280, ret="OB_ERR_SAME_NAME_PARTITION", dst="10.100.AAA.BBB:CCCC", alter_table_arg={session_id:3223568397, alter_part_type:-1, index_arg_list:[], foreign_key_arg_list:[], alter_table_schema:{alter_type:"OB_INVALID_DDL_OP", origin_table_name:"tb_log_event", new_database_name:"test", origin_database_name:"test", split_partition_name:"", split_high_bound_val:, split_list_row_values:, new_part_name:"", alter_table_schema:{simple_table_schema:{tenant_id:1002, database_id:18446744073709551615, tablegroup_id:18446744073709551615, table_id:509525, association_table_id:18446744073709551615, in_offline_ddl_white_list:false, table_name:"tb_log_event", session_id:0, index_type:0, table_type:3, table_mode:{table_mode_flag:0, pk_mode:0, table_state_flag:0, view_created_method_flag:0, pk_exists:0, auto_increment_mode:0, rowid_mode:0, view_column_filled_flag:0, mv_container_table_flag:0, mv_available_flag:0, table_referenced_by_mv_flag:0, mv_enable_query_rewrite_flag:0, mv_on_query_computation_flag:0, ddl_table_ignore_sync_cdc_flag:0, table_organization_mode:0}, tablespace_id:18446744073709551615, data_table_id:0, name_casemode:-1, schema_version:0, part_level:1, part_option:{part_func_type:4, part_func_expr:"created_time", part_num:7, auto_part:false, auto_part_size:0}, sub_part_option:{part_func_type:0, part_func_expr:"", part_num:1, auto_part:false, auto_part_size:0}, partition_num:7, def_subpartition_num:0, partition_array:[{BasePartition:{tenant_id:18446744073709551615, table_id:18446744073709551615, part_id:-1, name:"P20260423", low_bound_val:, high_bound_val:{"MYSQL_DATETIME":"2026-04-24 08:00:00.000000"}, list_row_values:{values:[]}, part_idx:-1, is_empty_partition_name:false, tablet_id:{id:0}, external_location:"", split_source_tablet_id:{id:0}, part_storage_cache_policy_type:4}, subpartition_array:null, subpartition_array_capacity:0, hidden_subpartition_array:null, hidden_subpartition_array_capacity:0}, {BasePartition:{tenant_id:18446744073709551615, table_id:18446744073709551615, part_id:-1, name:"P20260424", low_bound_val:, high_bound_val:{"MYSQL_DATETIME":"2026-04-25 08:00:00.000000"}, list_row_values:{values:[]}, part_idx:-1, is_empty_partition_name:false, tablet_id:{id:0}, external_location:"", split_source_tablet_id:{id:0}, part_storage_cache_policy_type:4}, subpartition_array:null, subpartition_array_capacity:0, hidden_subpartition_array:null, hidden_subpartition_array_capacity:0}, {BasePartition:{tenant_id:18446744073709551615, table_id:18446744073709551615, part_id:-1, name:"P20260425", low_bound_val:, high_bound_val:{"MYSQL_DATETIME":"2026-04-26 08:00:00.000000"}, list_row_values:{values:[]}, part_idx:-1, is_empty_partition_name:false, tablet_id:{id:0}, external_location:"", split_source_tablet_id:{id:0}, part_storage_cache_policy_type:4}, subpartition_array:null, subpartition_array_capacity:0, hidden_subpartition_array:null, hidden_subpartition_array_capacity:0}, {BasePartition:{tenant_id:18446744073709551615, table_id:18446744073709551615, part_id:-1, name:"P20260426", low_bound_val:, high_bound_val:{"MYSQL_DATETIME":"2026-04-27 08:00:00.000000"}, list_row_values:{values:[]}, part_idx:-1, is_empty_partition_name:false, tablet_id:{id:0}, external_location:"", split_source_tablet_id:{id:0}, part_storage_cache_policy_type:4}, subpartition_array:null, subpartition_array_capacity:0, hidden_subpartition_array:null, hidden_subpartition_array_capacity:0}, {BasePartition:{tenant_id:18446744073709551615, table_id:18446744073709551615, part_id:-1, name:"P20260427", low_bound_val:, high_bound_val:{"MYSQL_DATETIME":"2026-04-28 08:00:00.000000"}, list_row_values:{values:[]}, part_idx:-1, is_empty_partition_name:false, tablet_id:{id:0}, external_location:"", split_source_tablet_id:{id:0}, part_storage_cache_policy_type:4}, subpartition_array:null, subpartition_array_capacity:0, hidden_subpartition_array:null, hidden_subpartition_array_capacity:0}, {BasePartition:{tenant_id:18446744073709551615, table_id:18446744073709551615, part_id:-1, name:"P20260428", low_bound_val:, high_bound_val:{"MYSQL_DATETIME":"2026-04-29 08:00:00.000000"}, list_row_values:{values:[]}, part_idx:-1, is_empty_partition_name:false, tablet_id:{id:0}, external_location:"", split_source_tablet_id:{id:0}, part_storage_cache_policy_type:4}, subpartition_array:null, subpartition_array_capacity:0, hidden_subpartition_array:null, hidden_subpartition_array_capacity:0}, {BasePartition:{tenant_id:18446744073709551615, table_id:18446744073709551615, part_id:-1, name:"P20260429", low_bound_val:, high_bound_val:{"MYSQL_DATETIME":"2026-04-30 08:00:00.000000"}, list_row_values:{values:[]}, part_idx:-1, is_empty_partition_name:false, tablet_id:{id:0}, external_location:"", split_source_tablet_id:{id:0}, part_storage_cache_policy_type:4}, subpartition_array:null, subpartition_array_capacity:0, hidden_subpartition_array:null, hidden_subpartition_array_capacity:0}], partition_array_capacity:128, def_subpartition_array:null, hidden_partition_array:null, index_status:1, duplicate_scope:0, encryption:"", encrypt_key:"", master_key_id:18446744073709551615, sub_part_template_flags:0, get_tablet_id():{id:0}, max_dependency_version:-1, object_status:1, is_force_view:false, truncate_version:-1, duplicate_read_consistency:0, storage_cache_policy_type:4, with_dynamic_partition_policy:false}, max_used_column_id:0, sess_active_time:0, rowkey_column_num:0, index_column_num:0, rowkey_split_pos:0, block_size:16384, is_use_bloomfilter:false, progressive_merge_num:0, tablet_size:-1, pctfree:10, load_type:0, index_using_type:0, def_type:1, charset_type:0, collation_type:0, index_status:1, partition_status:0, code_version:1, comment:"", pk_comment:"", create_host:"", tablegroup_name:"", compressor_type:1, row_store_type:4, store_format:0, expire_info:"", view_schema:{view_definition:"", check_option:"none", is_updatable:"false", is_materialized:"false", character_set_client:0, collation_connection:"invalid_type"}, autoinc_column_id:0, auto_increment:1, read_only:false, simple_index_infos:[], base_table_ids:[], rowkey_info:{columns:null, capacity:0}, partition_key_info:{columns:null, capacity:0}, column_cnt:0, table_dop:1, constraints:null, column_array:null, aux_vp_tid_array:[], index_info:{columns:null, capacity:0}, define_user_id:18446744073709551615, aux_lob_meta_tid:18446744073709551615, aux_lob_piece_tid:18446744073709551615, name_generated_type:0, lob_inrow_threshold:4096, is_column_store_supported:false, max_used_column_group_id:1000, column_group_cnt:0, column_group_array:null, mlog_tid:18446744073709551615, auto_increment_cache_size:0, local_session_vars:{}, index_params:"", exec_env:"", storage_cache_policy:"", merge_engine_type:0, semistruct_encoding_type:{mode:0, reserved:0}, dynamic_partition_policy:""}}, alter_constraint_type:1000, nls_formats:["YYYY-MM-DD HH24:MI:SS", "YYYY-MM-DD HH24:MI:SS.FF", "YYYY-MM-DD HH24:MI:SS.FF TZR TZD"], ddl_task_type:0, compat_mode:0, is_alter_columns:false, is_alter_indexs:false, is_alter_options:false, is_alter_partitions:true, is_inner:false, is_update_global_indexes:false, is_convert_to_character:false, skip_sys_table_check:false, need_rebuild_trigger:false, foreign_key_checks:true, is_add_to_scheduler:false, table_id:-1, hidden_table_id:-1, inner_sql_exec_addr:"0.0.0.0:0", local_session_var:{type:16, val:{"VARCHAR":"+08:00", collation:"utf8mb4_general_ci", coercibility:"SYSCONST"}, type:15, val:{"BIGINT UNSIGNED":4194304}, type:10064, val:{"VARCHAR":"YYYY-MM-DD HH24:MI:SS", collation:"utf8mb4_general_ci", coercibility:"SYSCONST"}, type:10065, val:{"VARCHAR":"YYYY-MM-DD HH24:MI:SS.FF", collation:"utf8mb4_general_ci", coercibility:"SYSCONST"}, type:10066, val:{"VARCHAR":"YYYY-MM-DD HH24:MI:SS.FF TZR TZD", collation:"utf8mb4_general_ci", coercibility:"SYSCONST"}, type:9, val:{"BIGINT":45}, type:14, val:{"BIGINT":16777216}, type:10176, val:{"BIGINT UNSIGNED":17180000512}}, mview_refresh_info:{mview_table_id:18446744073709551615, last_refresh_scn:{val:18446744073709551615, v:3}, refresh_scn:{val:18446744073709551615, v:3}, start_time:-1, is_mview_complete_refresh:false, mview_target_data_sync_scn:{val:18446744073709551615, v:3}, select_sql:""}, alter_algorithm:2, alter_auto_partition_attr:false, rebuild_index_arg_list:[], client_session_id:4294967295, client_session_create_ts:0, lock_priority:20, is_direct_load_partition:false, is_alter_column_group_delayed:false, is_alter_mview_attributes:false, alter_mview_arg:{exec_env:"", is_alter_on_query_computation:false, enable_on_query_computation:false, is_alter_query_rewrite:false, enable_query_rewrite:false, is_alter_refresh_method:false, refresh_method:4, is_alter_refresh_dop:false, refresh_dop:0, is_alter_refresh_start:false, start_time:{"NULL":"NULL"}, is_alter_refresh_next:false, next_time_expr:"", is_alter_nested_refresh_mode:false, nested_refresh_mode:3}, is_alter_mlog_attributes:false, alter_mlog_arg:{exec_env:"", is_alter_table_dop:false, table_dop:0, is_alter_purge_start:false, start_time:{"NULL":"NULL"}, is_alter_purge_next:false, next_time_expr:"", is_alter_lob_threshold:false, lob_threshold:0}, part_storage_cache_policy:"", data_version:0})
WDIAG [SQL.ENG] execute (ob_table_executor.cpp:1197) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=234][errcode=-5280] Failed to alter table rpc v2(ret=-5280)
INFO  [SHARE] add_event (ob_event_history_table_operator.h:266) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=5] event table add task(ret=0, event_table_name="__all_server_event_history", sql=INSERT INTO __all_server_event_history (gmt_create, module, event, name1, value1, name2, value2, name3, value3, name4, value4, name5, value5, name6, value6, extra_info, svr_ip, svr_port) VALUES (usec_to_time(1777219200062843), 'ddl', 'alter table execute finish', 'tenant_id', 1002, 'ret', -5280, 'trace_id', 'YB420A6470E3-000648BFC8ECA114-0-0', 'task_id', 0, 'table_info', 'table_id:-1, hidden_table_id:-1', 'schema_version', -1, '"0.0.0.0:0"', '10.100.113.76', 2882))
INFO  [SQL.ENG] execute (ob_table_executor.cpp:1285) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=6] finish alter table execute.(ret=-5280, ddl_event_info={addr_:"10.100.113.76:2882", event_ts_:1777219200062874, sub_id_:0, trace_id_:YB420A6470E3-000648BFC8ECA114-0-0, parent_trace_id_:YB420A6470E3-000648BFC8ECA114-0-0}, first_stmt=ALTER TABLE `test`.`tb_log_event` ADD PARTITION (PARTITION `P20260423` VALUES LESS THAN ('2026-04-24 08:00:00'), PARTITION `P20260424` VALUES LESS THAN ('2026-04-25 08:00:00'), PARTITION `P20260425` VALUES LESS THAN ('2026-04-26 08:00:00'), PARTITION `P20260426` VALUES LESS THAN ('2026-04-27 08:00:00'), PARTITION `P20260427` VALUES LESS THAN ('2026-04-28 08:00:00'), PARTITION `P20260428` VALUES LESS THAN ('2026-04-29 08:00:00'), PARTITION `P20260429` VALUES LESS THAN ('2026-04-30 08:00:00')))
INFO  [SHARE] add_event (ob_event_history_table_operator.h:266) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=9] event table add task(ret=0, event_table_name="__all_server_event_history", sql=INSERT INTO __all_server_event_history (gmt_create, module, event, name1, value1, name2, value2, name3, value3, name4, value4, value5, value6, svr_ip, svr_port) VALUES (usec_to_time(1777219200062886), 'sql', 'execute_cmd', 'cmd_type', 22, 'sql_text', X'414C544552205441424C452060686F6E676875786979695F74657374602E6074625F6C6F675F6576656E74602041444420504152544954494F4E2028504152544954494F4E2060503230323630343233602056414C554553204C455353205448414E202827323032362D30342D32342030383A30303A303027292C20504152544954494F4E2060503230323630343234602056414C554553204C455353205448414E202827323032362D30342D32352030383A30303A303027292C20504152544954494F4E2060503230323630343235602056414C554553204C455353205448414E202827323032362D30342D32362030383A30303A303027292C20504152544954494F4E2060503230323630343236602056414C554553204C455353205448414E202827323032362D30342D32372030383A30303A303027292C20504152544954494F4E2060503230323630343237602056414C554553204C455353205448414E202827323032362D30342D32382030383A30303A303027292C20504152544954494F4E2060503230323630343238602056414C554553204C455353205448414E202827323032362D30342D32392030383A30303A303027292C20504152544954494F4E2060503230323630343239602056414C554553204C455353205448414E202827323032362D30342D33302030383A30303A3030272929', 'return_code', -5280, 'tenant_id', 1002, '', '', '10.100.TTT.UU', IIII))
WDIAG [SQL] open_cmd (ob_result_set.cpp:96) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=13][errcode=-5280] execute cmd failed(ret=-5280)
WDIAG [SQL] open (ob_result_set.cpp:162) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=5][errcode=-5280] execute plan failed(ret=-5280)
WDIAG [SERVER] open (ob_inner_sql_result.cpp:159) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=4][errcode=-5280] open result set failed(ret=-5280)
WDIAG [SERVER] do_query (ob_inner_sql_connection.cpp:809) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=4][errcode=-5280] result set open failed(ret=-5280, executor={ObIExecutor:, sql:"ALTER TABLE `test`.`tb_log_event` ADD PARTITION (PARTITION `P20260423` VALUES LESS THAN ('2026-04-24 08:00:00'), PARTITION `P20260424` VALUES LESS THAN ('2026-04-25 08:00:00'), PARTITION `P20260425` VALUES LESS THAN ('2026-04-26 08:00:00'), PARTITION `P20260426` VALUES LESS THAN ('2026-04-27 08:00:00'), PARTITION `P20260427` VALUES LESS THAN ('2026-04-28 08:00:00'), PARTITION `P20260428` VALUES LESS THAN ('2026-04-29 08:00:00'), PARTITION `P20260429` VALUES LESS THAN ('2026-04-30 08:00:00'))"})
WDIAG [SERVER] query (ob_inner_sql_connection.cpp:954) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=7][errcode=-5280] execute failed(ret=-5280, tenant_id=1002, executor={ObIExecutor:, sql:"ALTER TABLE `test`.`tb_AAA_BBBB` ADD PARTITION (PARTITION `P20260423` VALUES LESS THAN ('2026-04-24 08:00:00'), PARTITION `P20260424` VALUES LESS THAN ('2026-04-25 08:00:00'), PARTITION `P20260425` VALUES LESS THAN ('2026-04-26 08:00:00'), PARTITION `P20260426` VALUES LESS THAN ('2026-04-27 08:00:00'), PARTITION `P20260427` VALUES LESS THAN ('2026-04-28 08:00:00'), PARTITION `P20260428` VALUES LESS THAN ('2026-04-29 08:00:00'), PARTITION `P20260429` VALUES LESS THAN ('2026-04-30 08:00:00'))"}, retry_cnt=0, local_sys_schema_version=1768825725039200, local_tenant_schema_version=1777215054564856)
WDIAG [SERVER] after_func (ob_query_retry_ctrl.cpp:1078) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=8][errcode=-5280] [RETRY] check if need retry(v={force_local_retry:true, stmt_retry_times:0, local_retry_times:0, err_:-5280, err_:"OB_ERR_SAME_NAME_PARTITION", retry_type:0, client_ret:-5280, is_interrupted_by_outer_query:false}, need_retry=false)
WDIAG [SERVER] inner_close (ob_inner_sql_result.cpp:229) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=10][errcode=-5280] result set close failed(ret=-5280)
WDIAG [SERVER] force_close (ob_inner_sql_result.cpp:205) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=4][errcode=-5280] result set close failed(ret=-5280)
WDIAG [SERVER] query (ob_inner_sql_connection.cpp:959) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=4][errcode=-5280] failed to close result(close_ret=-5280, ret=-5280)
WDIAG [SERVER] query (ob_inner_sql_connection.cpp:989) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=5][errcode=-5280] failed to process record(executor={ObIExecutor:, sql:"ALTER TABLE `test`.`tb_log_event` ADD PARTITION (PARTITION `P20260423` VALUES LESS THAN ('2026-04-24 08:00:00'), PARTITION `P20260424` VALUES LESS THAN ('2026-04-25 08:00:00'), PARTITION `P20260425` VALUES LESS THAN ('2026-04-26 08:00:00'), PARTITION `P20260426` VALUES LESS THAN ('2026-04-27 08:00:00'), PARTITION `P20260427` VALUES LESS THAN ('2026-04-28 08:00:00'), PARTITION `P20260428` VALUES LESS THAN ('2026-04-29 08:00:00'), PARTITION `P20260429` VALUES LESS THAN ('2026-04-30 08:00:00'))"}, record_ret=-5280, ret=-5280)
WDIAG [SERVER] query (ob_inner_sql_connection.cpp:1026) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=11][errcode=-5280] failed to process final(executor={ObIExecutor:, sql:"ALTER TABLE `test`.`tb_log_event` ADD PARTITION (PARTITION `P20260423` VALUES LESS THAN ('2026-04-24 08:00:00'), PARTITION `P20260424` VALUES LESS THAN ('2026-04-25 08:00:00'), PARTITION `P20260425` VALUES LESS THAN ('2026-04-26 08:00:00'), PARTITION `P20260426` VALUES LESS THAN ('2026-04-27 08:00:00'), PARTITION `P20260427` VALUES LESS THAN ('2026-04-28 08:00:00'), PARTITION `P20260428` VALUES LESS THAN ('2026-04-29 08:00:00'), PARTITION `P20260429` VALUES LESS THAN ('2026-04-30 08:00:00'))"}, aret=-5280, ret=-5280)
WDIAG [SERVER] execute_write_inner (ob_inner_sql_connection.cpp:1626) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=6][errcode=-5280] execute sql failed(ret=-5280, tenant_id=1002, sql=ALTER TABLE `test`.`tb_AAA_BBBB` ADD PARTITION (PARTITION `P20260423` VALUES LESS THAN ('2026-04-24 08:00:00'), PARTITION `P20260424` VALUES LESS THAN ('2026-04-25 08:00:00'), PARTITION `P20260425` VALUES LESS THAN ('2026-04-26 08:00:00'), PARTITION `P20260426` VALUES LESS THAN ('2026-04-27 08:00:00'), PARTITION `P20260427` VALUES LESS THAN ('2026-04-28 08:00:00'), PARTITION `P20260428` VALUES LESS THAN ('2026-04-29 08:00:00'), PARTITION `P20260429` VALUES LESS THAN ('2026-04-30 08:00:00')))
WDIAG [SERVER] retry_while_no_tenant_resource (ob_inner_sql_connection.cpp:1087) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=12][errcode=-5280] retry_while_no_tenant_resource failed(ret=-5280, tenant_id=1002)
WDIAG [SERVER] execute_write (ob_inner_sql_connection.cpp:1579) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=10][errcode=-5280] execute_write failed(ret=-5280, tenant_id=1002, sql=ALTER TABLE `test`.`tb_log_event` ADD PARTITION (PARTITION `P20260423` VALUES LESS THAN ('2026-04-24 08:00:00'), PARTITION `P20260424` VALUES LESS THAN ('2026-04-25 08:00:00'), PARTITION `P20260425` VALUES LESS THAN ('2026-04-26 08:00:00'), PARTITION `P20260426` VALUES LESS THAN ('2026-04-27 08:00:00'), PARTITION `P20260427` VALUES LESS THAN ('2026-04-28 08:00:00'), PARTITION `P20260428` VALUES LESS THAN ('2026-04-29 08:00:00'), PARTITION `P20260429` VALUES LESS THAN ('2026-04-30 08:00:00')), is_user_sql=false)
WDIAG [COMMON.MYSQLP] write (ob_mysql_proxy.cpp:246) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=5][errcode=-5280] execute sql failed(ret=-5280, tenant_id=1002, conn=0x7fd8f357d430, start=1777219200053903, sql=ALTER TABLE `test`.`tb_log_event` ADD PARTITION (PARTITION `P20260423` VALUES LESS THAN ('2026-04-24 08:00:00'), PARTITION `P20260424` VALUES LESS THAN ('2026-04-25 08:00:00'), PARTITION `P20260425` VALUES LESS THAN ('2026-04-26 08:00:00'), PARTITION `P20260426` VALUES LESS THAN ('2026-04-27 08:00:00'), PARTITION `P20260427` VALUES LESS THAN ('2026-04-28 08:00:00'), PARTITION `P20260428` VALUES LESS THAN ('2026-04-29 08:00:00'), PARTITION `P20260429` VALUES LESS THAN ('2026-04-30 08:00:00')))
WDIAG [SHARE] write_ddl_ (ob_dynamic_partition_manager.cpp:182) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=8][errcode=-5280] fail to execute dynamic partition ddl(ret=-5280, ret="OB_ERR_SAME_NAME_PARTITION", tenant_id=1002, ddl=ALTER TABLE `test`.`tb_AAA_BBBB` ADD PARTITION (PARTITION `P20260423` VALUES LESS THAN ('2026-04-24 08:00:00'), PARTITION `P20260424` VALUES LESS THAN ('2026-04-25 08:00:00'), PARTITION `P20260425` VALUES LESS THAN ('2026-04-26 08:00:00'), PARTITION `P20260426` VALUES LESS THAN ('2026-04-27 08:00:00'), PARTITION `P20260427` VALUES LESS THAN ('2026-04-28 08:00:00'), PARTITION `P20260428` VALUES LESS THAN ('2026-04-29 08:00:00'), PARTITION `P20260429` VALUES LESS THAN ('2026-04-30 08:00:00')))
WDIAG [SHARE] add_dynamic_partition_ (ob_dynamic_partition_manager.cpp:135) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=28][errcode=-5280] fail to write ddl(ret=-5280, ret="OB_ERR_SAME_NAME_PARTITION", sql=ALTER TABLE `test`.`tb_log_event` ADD PARTITION (PARTITION `P20260423` VALUES LESS THAN ('2026-04-24 08:00:00'), PARTITION `P20260424` VALUES LESS THAN ('2026-04-25 08:00:00'), PARTITION `P20260425` VALUES LESS THAN ('2026-04-26 08:00:00'), PARTITION `P20260426` VALUES LESS THAN ('2026-04-27 08:00:00'), PARTITION `P20260427` VALUES LESS THAN ('2026-04-28 08:00:00'), PARTITION `P20260428` VALUES LESS THAN ('2026-04-29 08:00:00'), PARTITION `P20260429` VALUES LESS THAN ('2026-04-30 08:00:00')))
WDIAG [SHARE] execute (ob_dynamic_partition_manager.cpp:84) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=15][errcode=-5280] fail to add table dynamic partitions(ret=-5280, ret="OB_ERR_SAME_NAME_PARTITION", specified_precreate_time=)
WDIAG [PL] manage_dynamic_partition (ob_dbms_partition.cpp:119) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=5][errcode=0] fail to execute dynamic partition manage(tmp_ret=-5280, tmp_ret="OB_ERR_SAME_NAME_PARTITION", precreate_time_str=, time_unit_strs=["DAY", "WEEK", "MONTH", "YEAR"])
INFO  [SHARE] async_add_tenant_event (ob_event_history_table_operator.h:396) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=14] event table async add event success(ret=0, ret="OB_SUCCESS", event_table_name="__all_tenant_event_history", sql=INSERT INTO __all_tenant_event_history (gmt_create, module, event, tenant_id, ret_code, cost_time, name1, value1, name2, value2, value3, value4, value5, value6, svr_ip, svr_port, trace_id) VALUES (usec_to_time(1777219200063245), 'DBMS_PARTITION', 'MANAGE_DYNAMIC_PARTITION', 1002, 0, 28939, 'SUCCESS_TABLE_ID_LIST', '[]', 'FAILED_TABLE_ID_LIST', '[509468, 509525]', '', '', '', '', '10.100.113.76', 2882, 'YB420A6470E3-000648BFC8ECA114-0-0'), tenant_id=1002, exec_tenant_id=1001)
INFO  [PL] manage_dynamic_partition (ob_dbms_partition.cpp:136) [1450955][T1002_L0_G28][T1002][YB420A6470E3-000648BFC8ECA114-0-0] [lt=45] [DYNAMIC_PARTITION] end manage dynamic partition(ret=0, ret="OB_SUCCESS")

可以看到日志中明确提示:Duplicate partition name 'P20260423',并且执行新增分区的SQL失败

问题原因

由于分区命名冲突导致动态分区调度任务失败,所以分区未创建成功,系统动态分区的命名规则如下:

也就是2026-04-23 00:00:00 ->p20260422,但是命名是2026-04-23 00:00:00 ->p20260423 这就导致系统在创建p20260423(对应2026-04-24 00:00:00)发现已有这个分区。

问题的风险及影响

动态分区创建失败

解决方法

  1. 先禁用定时分区管理任务
CALL DBMS_SCHEDULER.DISABLE('SCHEDULED_MANAGE_DYNAMIC_PARTITION_DAILY');

  1. 调整分区
ALTER TABLE tb_aaa_BBBB
DROP PARTITION p20260422,p20260423;
ALTER TABLE tb_aaa_BBBB

ADD PARTITION (
 PARTITION `p20260421` VALUES LESS THAN ('2026-04-22 00:00:00'),
 PARTITION `p20260422` VALUES LESS THAN ('2026-04-23 00:00:00'),
 PARTITION `p20260423` VALUES LESS THAN ('2026-04-24 00:00:00'),
 PARTITION `p20260424` VALUES LESS THAN ('2026-04-25 00:00:00'),
 PARTITION `p20260425` VALUES LESS THAN ('2026-04-26 00:00:00'),
 PARTITION `p20260426` VALUES LESS THAN ('2026-04-27 00:00:00'),
 PARTITION `p20260427` VALUES LESS THAN ('2026-04-28 00:00:00'),
 PARTITION `p20260428` VALUES LESS THAN ('2026-04-29 00:00:00'),
 PARTITION `p20260429` VALUES LESS THAN ('2026-04-30 00:00:00')
);
  1. 启用定时分区管理任务
CALL DBMS_SCHEDULER.ENABLE('SCHEDULED_MANAGE_DYNAMIC_PARTITION_DAILY');

  1. 等待每日动态分区管理任务调度或手动触发一次任务,观察任务还会不会报错
CALL DBMS_PARTITION.MANAGE_DYNAMIC_PARTITION(NULL, 'day');

规避方式

将分区命名规则与系统预创建分区规则对齐

精选推荐