- 简介
- 环境依赖
- 快速上手
- 配置文件
- 命令介绍
- mtk
- init-project
- config
- license
- mig
- show
- sync
- sync-schema
- sync-sequence
- sync-object-type
- sync-domain
- sync-wrapper
- sync-server
- sync-user-mapping
- sync-queue
- sync-table
- sync-nickname
- sync-rule
- sync-table-data
- sync-table-data-estimate
- sync-index
- sync-constraint
- sync-db-link
- sync-view
- sync-mview
- sync-function
- sync-procedure
- sync-package
- sync-trigger
- sync-synonym
- sync-table-data-com
- sync-alter-sequence
- sync-coll-statistics
- check-table-data
- gen
- gen completion
- encrypt
- convert-plsql
- report
- self
- mvd
- usql
- 图形化
- 常见问题
- Release
MTK Parameter
Parameter
noSupportPartTabToNormalTab
类型: bool
描述: 把目标端不支持的分区表转换普通表,把目标端不支持的子分区表属性自动移除. 支持的检查分区表方法
- 分区类型是否支持
- 子分区类型是否支持
- interval分区类型. 针对MogDB/openGauss
- 分区键包含虚拟列. 针对MogDB/openGauss
ignoreDB2PartInclusive
类型: bool
描述: 是否忽略DB2分区键值ENDING的包含属性
如下面DB2建表语句分区语法中ENDING
包含属性INCLUSIVE
定义则此分区包含20180101
数据
但是在openGauss数据库中范围分区不支持包含属性只能less than
这种情况下会遇到报错 the part DATAMIN is included high value for db2 inclusive option
可以配置此参数忽略上面错误
CREATE TABLE MTK1.TABLE_TEST_HAOTD
(
DATADATE VARCHAR(8) NOT NULL,
DATA1 VARCHAR(10),
DATA2 VARCHAR(10)
) PARTITION BY RANGE(DATADATE) (
PART "DATAMIN" STARTING(MINVALUE) ENDING('20180101') INCLUSIVE ,
PART "P20180101" STARTING('20180101') ENDING('20180102') INCLUSIVE
)
默认值: false
igNotSupportIntervalPart
类型: bool
描述: 支持忽略部分不支持的interval分
区属性。
默认值: false
ignoreTabPartition
类型: bool
描述: 支持迁移到目标端数据库忽略分区语法.
如Oracle分区表迁移到MySQL变成非分区表
Oracle
CREATE TABLE "MTK"."TAB_PART_LIST" (
"DEPTNO" NUMBER(10,0) NOT NULL,
"DEPTNAME" VARCHAR2(20 BYTE),
"QUARTERLY_SALES" NUMBER(10,2),
"STATE" VARCHAR2(2 BYTE)
) PARTITION BY LIST ("STATE")
(
PARTITION "Q1_NORTHWEST" VALUES ('OR', 'WA') TABLESPACE "USERS",
PARTITION "Q1_SOUTHWEST" VALUES ('AZ', 'CA', 'NM') TABLESPACE "USERS",
PARTITION "Q1_NORTHEAST" VALUES ('NY', 'VT', 'NJ') TABLESPACE "USERS",
PARTITION "Q1_SOUTHEAST" VALUES ('FL', 'GA') TABLESPACE "USERS",
PARTITION "Q1_NORTHCENT" VALUES ('MN', 'WI') TABLESPACE "USERS",
PARTITION "Q1_SOUTHCENT" VALUES ('OK', 'TX') TABLESPACE "USERS"
)
MySQL
CREATE TABLE mtk.tab_part_list (
deptno BIGINT NOT NULL,
deptname VARCHAR(20),
quarterly_sales DECIMAL(10,2),
state VARCHAR(2)
)
默认值: false
ignoreTabPartitionTabList
类型: []string
描述: ignoreTabPartition
白名单
参数区分大小写
- "Schema1.TABLE_1" 迁移对象中Schema1下的TABLE_1的表
- "Schema1.TABLE*" 迁移对象中Schema1下的TABLE*的表
默认值: null
示例:
ignore Table Partition Table List Example
{
"ignoreTabPartitionTabList": [
"SCHEMA1.TABLE_1",
"SCHEMA1.TABLE_DUTY_LOG*",
"SCHEMA1.^TABLE_DUTY_LOG.*$"
]
}
新增于: v2.8.0
autoAddMaxvaluePart
类型: bool
描述: 参数autoAddMaxvaluePart
允许不存在maxvalue
分区的分区表自动添加maxvalue
分区.
如 DB2分区表迁移到openGauss
DB2允许定义minvalue
分区,openGauss不支持.
DB2在定义minvalue
分区未定义maxvalue
分区时null值可以插入到minvalue
分区,openGauss会报错.
但是openGauss分区允许null插入到maxvalue
分区. 可通过此参数开启自动添加maxvalue
分区
DB2未定义maxvalue
分区
CREATE TABLE MTK1.PART_TAB_TEST02 (
ID INTEGER NOT NULL,
SALES_PERSON VARCHAR(50),
REGION VARCHAR(50),
SALES_DATE DATE
)
PARTITION BY RANGE(SALES_DATE)
(
PART PJAN STARTING('2017-01-01') ENDING('2017-03-31') INCLUSIVE IN USERSPACE1,
PART PFEB STARTING('2017-04-01') ENDING('2017-07-31') INCLUSIVE IN USERSPACE1,
PART PMAR STARTING('2017-08-01') ENDING('2017-12-31') INCLUSIVE IN USERSPACE1,
PART PAPR STARTING('2018-01-01') ENDING('2018-12-31') INCLUSIVE IN USERSPACE1
) ORGANIZE BY ROW
openGauss
CREATE TABLE DB2_MTK.PART_TAB_TEST02 (
ID INTEGER NOT NULL,
SALES_PERSON VARCHAR(50),
REGION VARCHAR(50),
SALES_DATE DATE
) PARTITION BY RANGE (SALES_DATE)
(
PARTITION PJAN VALUES LESS THAN('2017-03-31'),
PARTITION PFEB VALUES LESS THAN('2017-07-31'),
PARTITION PMAR VALUES LESS THAN('2017-12-31'),
PARTITION PAPR VALUES LESS THAN('2018-12-31'),
PARTITION PART_MAXVALUE VALUES LESS THAN(MAXVALUE)
)
新增于: v0.0.36