-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
stmt_migrate_task.toml
78 lines (73 loc) · 3.17 KB
/
stmt_migrate_task.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
task-name = "dmt_33to45"
datasource-name-s = "oracle10g"
datasource-name-t = "tidb186"
comment = "测试数据源"
[case-field-rule]
# 控制配置文件内所有 *-s 参数配置值以及 column-route-rules 中的 key 值
# 1,参数值是 0 代表以当前配置文件为准,与源端对比
# 2,参数值是 1 代表统一转换值为小写,与源端对比
# 3,参数值是 2 代表统一转换值为大写,与源端对比
case-field-rule-s = "0"
# 控制配置文件 *-t 以及 column-route-rules 中的 value 值
# 1,参数值是 0 代表统一转换数据库名、表名、字段名值以当前配置文件为准
# 2,参数值是 1 代表统一转换数据库名、表名、字段名值为小写
# 3,参数值是 2 代表统一转换数据库名、表名、字段名值为大写
case-field-rule-t = "0"
[schema-route-rule]
schema-name-s = "MARVIN"
schema-name-t = "STEVEN"
# include-table-s 迁移所有表需指定 "*",特定表写具体表名
#include-table-s = ["MARVIN00","MARVIN01","MARVIN05","MARVIN_COLUMN_T"]
include-table-s = ["T1"]
#include-table-s = ["PM_TC_PROCESS_CODE","MARVIN00","MARVIN01"]
exclude-table-s = []
[[schema-route-rule.table-route-rules]]
table-name-s = "MARVIN00"
table-name-t = "STEVEN00"
column-route-rules = {"NAME" = "T_NAME00"}
[[schema-route-rule.table-route-rules]]
table-name-s = "MARVIN01"
table-name-t = "STEVEN01"
column-route-rules = {"NAME" = "t_name00"}
[[data-migrate-rules]]
table-name-s = "MARVIN00"
# 基于数据切分策略,获取指定数据迁移表的查询范围
enable-chunk-strategy = false
# 指定数据迁移表的查询范围
# 注意自定义数据迁移表之后,对应表将只迁移该部分数据
where-range = "id = 1"
# 指定分片 chunk sql 查询 hint
sql-hint-s = "/*+ PARALLEL(8) */"
# 表串行运行,表内并发
[statement-migrate-param]
# 初始化表任务并发数
table-thread = 100
# 数据写入批量大小
batch-size = 500
# 数据校验写 meta 数据库并发数
write-thread = 4
# 任务 chunk 数,固定动作,一旦确认,不能更改,除非设置 enable-checkpoint = false,重新导出导入
# 1、代表每张表每并发处理多少行数
# 2、建议参数值是 insert-batch-size 整数倍,会根据 insert-batch-size 大小切分
chunk-size = 100000
# 表内 SQL 执行并发数,表示同时多少并发 SQL 读取上游表数据,可动态变更
sql-thread-s = 16
# 指定分片 chunk sql 查询 hint
sql-hint-s = "/*+ PARALLEL(8) */"
# 表内每 sql-thread-s 线程写下游并发数,可动态变更
sql-thread-t = 64
# 指定分片 chunk sql 写入 Hint
sql-hint-t = ""
# calltimeout,单位:秒
call-timeout = 36000
# 关于全量断点恢复
# - 若想断点恢复,设置 enable-checkpoint = true,首次一旦运行则 chunk-size 数不能调整,
# - 若不想断点恢复或者重新调整 chunk-size 数,设置 enable-checkpoint = false,重新运行全量任务
# - 无法断点续传期间,则需要设置 enable-checkpoint = false 重新导入导出
enable-checkpoint = true
# 是否一致性读 ORA
enable-consistent-read = false
# 是否 safe-mode , false -> insert into, true -> repalce into
enable-safe-mode = false
# 是否开启 prepare stmt
enable-prepare-stmt = true