#参数说明
在项目解压目录下,启动YMP前可以根据自己需要对部分参数进行配置。通过修改参数可以适配一些用户特定的需求,并且保证YMP任务的正常执行。
conf/db.properties
参数名 | 默认值 | 调整作用 |
---|---|---|
YASDB_PORT | 8091 | 默认内置库默认端口号 |
YASDB_PASSWORD | ymppw602. | 默认内置库sys用户默认密码 |
YASDB_CHARACTER_SET | UTF8 | 默认内置库字符集,可选值:UTF8, ASCII, ISO88591, GBK |
conf/application.properties
参数名 | 默认值 | 调整作用 |
---|---|---|
server.port | 8090 | YMP启动占用的端口 |
spring.datasource.url | jdbc:yasdb://127.0.0.1:8091/yashan | 内置库的JDBC URL,自定义内置库安装YMP时,改为自定义内置库的url |
spring.datasource.username | 内置库默认用户YMP_DEFAULT | 内置库要连接的schema名称 |
spring.datasource.password | 内置库默认用户的密码 | 内置库要连接的schema的密码 |
spring.datasource.largePoolSize | 64M | 内置库默认内部大数据块的总大小 |
spring.datasource.cursorPoolSize | 64M | 内置库默认共享缓存区中游标缓存区的内存大小 |
spring.datasource.defaultTableType | HEAP | 内置库默认创建表的类型 |
spring.datasource.openCursors | 3000 | 内置库默认每个会话可打开的游标数上限 |
spring.datasource.sharePoolSize | 2G | 内置库默认共享缓存区使用的内存大小 |
spring.datasource.dateFormat | yyyy-mm-dd hh24:mi:ss | 内置库DATE类型的默认显示格式 |
spring.datasource.ddlLockTimeout | 2 | 内置库默认DDL加表锁等待超时的时间 |
commons.dataMigrateSpeed | 51200 | 预计数据迁移速度,KB/s。修改会影响评估结果预计迁移时间的大小 |
commons.objMigrateSpeed | 200 | 预计对象迁移速度,number/s。修改会影响评估结果预计迁移时间的大小 |
shiro.session.timeout | 900 | 用户登录后空闲过期时间,单位秒(s),默认15分钟 |
assessment.ddlCount | 50 | 评估任务单个会话获取DDL的数量,如果Oracle性能较差,则需要降低该值 |
assessment.maxThreadCount | 20 | 评估任务最多同时拥有的会话数,如果Oracle性能较差,则需要降低该值 |
isLscTable | false | 内置库表类型是否为LSC,默认为false |
migration.connectionMaxWaitTime | 300000 | 数据迁移线程任务等待连接时间,默认5分钟,单位:ms |
migration.parallel.query | 20 | 元数据迁移过程中源端、目标端查询视图连接数。在元数据迁移过程中会有分批量的查询的动作, 需要开启多个查询连接并行查询。该参数配置元数据迁移的源端、目标端查询的并行线程数 ,决定了对数据库的查询最大连接数,不设置默认20 |
migration.parallel.execute | 20 | 元数据迁移过程中目标端执行创建连接数。在元数据迁移过程中会并行把对象在目标端的执行, 以提升迁移效率。该参数配置元数据迁移的目标端DDL执行的并行线程数, 决定了连接数据库的执行最大连接数,不设置默认20。 migration.parallel.query和migration.parallel.execute的连接总和,是最终迁移过程中所有的目标端数据库连接数。 |
migration.parallel.createIndexUseParallel | true | 创建索引是否使用并行参数,true/TRUE:使用,false/FALSE:不使用 |
migration.parallel.index | 5 | 索引创建的并行度,需要考虑migration.parallel.execute。 例:migration.parallel.execute:10,migration.parallel.index: 5,表示,同时10个连接在目标端并行建索引,每个索引的并行度是5(CREATE INDEX XXX PARALLEL 5)。 默认值5,不填默认目标端数据库所在机器CPU核数。 填入范围[1,CPU核数2],配置小于1会取1,超过目标端数据库所在机器CPU核数2倍值,会取CPU核数*2倍值。 |
checkTask.datasource.max-connection | 500 | 校验任务限制每个数据源支持的最大连接数 |
checkTask.datasource.connection-timeout | 300000 | 校验任务获取连接超时时间,单位:ms |
checkTask.datasource.minimum-idle | 1 | 校验任务获取的连接池中维持的最小连接数 |
checkTask.task.parallel.max-num | 20 | 校验任务的最大并行任务数 |
checkTask.subTask.parallel.max-num | 200 | 校验任务的子任务的最大并行任务数,即一个任务多少个表在同时校验 |
checkTask.checkFloatPrecision | 6 | 校验任务的全量校验对FLOAT数据类型的校验精度 |
checkTask.charRightTrim | true | 校验任务的数据类型映射有一边是char数据类型就移除数据右侧空格进行对比 |
checkTask.varcharRightTrim | false | 校验任务的数据类型映射源端是varchar数据类型就移除源端和目标端的数据右侧空格进行对比 |
checkTask.zeroDateConvertToNull | true | YEAR、Time、Date、DATETIME、TIMESTAMP都是0值,YMP迁移会将0值迁移成null值,数据校验将MySQL的Time、Date、DATETIME、TIMESTAMP的0值转换成null值再进行校验 |
checkTask.emptyStringConvertToNull | true | MySQL和DM的“”转换成NULL值进行校验 |
task.parallel.max-num | 500 | YMP的最大并行任务数 |
ymp_memory | 4G | YMP使用的最大堆内存,支持按绝对内存指定(如:4G)和按物理机实际内存的百分比指定(如:50%),当迁移达梦数据库时,此值可以适当调大(建议≥16G) |
ymp_direct_memory | 2 | YMP使用的堆外内存,单位: GB |
setNoLogging | false | 数据迁移前是否将表设为nologging,默认为false |
default_table_type | HEAP | 默认内置库表类型 |
export.tool | jdbc | 导出方式,支持【dts,jdbc】两种方式,默认:jdbc |
export.csv.exportRowsEveryFile | 2000000 | 导出时每个csv文件的行数 |
export.csv.isRemoveCsvFileInSuccess | true | 迁移成功时候是否删除csv文件 |
export.csv.path.replacement.from | \ /'."*$ | csv文件存储路径包含对schema和table的拼接,schema名或table名中包含以上字符时,将会被替换,以避免被操作系统识别错误导致迁移失败;不过这可能会使某些表(比如AA$与AA.)在替换后使用的csv文件存储路径相同,导致迁移失败(No such file or directory),可以通过重新迁移失败表来解决 |
export.csv.path.replacement.to | _ | 发生csv文件存储路径字符替换时(详见export.csv.path.replacement.from),指定替换的目标字符或字符串 |
export.table.splitCount | 5 | 导出时大表拆分的个数 |
export.table.splitConditionCount | 10000000 | 导出时触发大表拆分的行数 |
export.table.splitConditionSize | 5 | 导出时触发大表拆分的表大小(G) |
export.lobTable.splitCount | 5 | 导出时带lob字段大表拆分的个数 |
export.lobTable.splitConditionCount | 1000000 | 导出时触发带lob字段大表拆分的行数 |
export.lobTable.splitConditionSize | 5 | 导出时触发带lob字段大表拆分的表大小(G) |
export.jdbc.thresholdForSplittingFileLines | 5000000 | 使用jdbc导出时每个csv文件的最大行数 |
export.jdbc.thresholdForSplittingFileSize | 3072 | 使用jdbc导出时每个csv文件的最大大小(M) |
export.jdbc.writer.reader.ratio | 2 | 使用jdbc导出时导出端的写线程和读线程的比例 |
export.jdbc.lob.headSize | 8192 | 一行数据中所有lob字段小于指定长度时会优化为行内导入,对于字符类型如clob,统计字符长度,对于二进制类型如blob,统计字节长度 |
import.degree_of_parallelism | 16 | yasldr导入时的并行度 |
import.batch_size | 2048 | yasldr导入时每批次的CSV数据行数 |
import.mode | BATCH | yasldr导入方式,包括BASIC方式和BATCH方式 |
import.CHARACTER_SET | UTF8 | yasldr导入时的编码设置,默认:UTF8;注意:yasldr 版本大于23.2.3才支持此参数 |
schemaBlackList.oracle | ANONYMOUS,APEX_030200, APEX_PUBLIC_USER, APPQOSSYS,BI,CTXSYS, DBSNMP,DIP,EXFSYS, FLOWS_FILES,HR,IX, MDDATA,MDSYS, MGMT_VIEW,OE,OLAPSYS, ORACLE_OCM, ORDDATA,ORDPLUGINS, ORDSYS,OUTLN, OWBSYS,OWBSYS_AUDIT, PM,SCOTT,SH, SI_INFORMTN_SCHEMA, SPATIAL_CSW_ADMIN_USR, SPATIAL_WFS_ADMIN_USR, SYS,SYSMAN,SYSTEM, WMSYS,XDB,XS$NULL | 拦截的Oracle数据源db/schema黑名单 |
schemaBlackList.mysql | information_schema,mysql, performance_schema,sys | 拦截的MySQL数据源db/schema黑名单 |
schemaBlackList.dm | SYS,SYSDBA,SYSSSO,SYSAUDITOR,CTISYS | 拦截的dm数据源db/schema黑名单 |
ymp.stat.interval | 2000 | MP内存采集频率,单位:MS |
ymp.heap.slow.threshold | 80 | YMP内存阈值,单位:百分比 |
ymp.heap.exceed.sleep | 3000 | YMP内存不足时睡眠等待时间,单位:MS |
export.jdbc.charRightTrim | true | 在jdbc模式的数据迁移阶段,源端数据类型是char、nchar、character时,移除数据右侧空格 |
export.jdbc.varcharRightTrim | false | 在jdbc模式的数据迁移阶段,源端数据类型是varchar、nvarchar时,移除数据右侧空格 |
migration.character_set | UTF8 | 迁移使用的编码,要求源库和目标库是一致,默认值:UTF8,可选项: [UTF8, GBK] |
migration.national_character_set | UTF8 | Oracle在dts模式下的导出时的national编码,默认值:UTF8,可选项: [UTF8, GBK] |
migration.max-file-rows | 2000000 | dts模式下导出的每个文件行数 |
migration.max-file-size | -1 | dts模式下导出的每个文件的大小,这个参数优先级高于max-file-rows,-1表示不显示设置该配置 |
migration.batch-size | -1 | dts模式下导出时候的一次从服务端获取的数据量,-1表示不显示设置该配置 |
migration.log-level | OFF | dts模式下导出时候的yasdts工具日志级别,可选项:[off, error, warn, info, debug, trace] |
conf/logback.xml
参数名 | 默认值 | 调整作用 |
---|---|---|
name="com.sics" level="INFO" | INFO | 控制YMP平台的日志级别,可选项【INFO,DEBUG,WARN,ERROR】 |