#参数说明

在项目解压目录下,启动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启动占用的端口。
shiro.session.timeout 900 用户登录后空闲过期时间,单位秒(s),默认15分钟。
ymp_memory 4G YMP使用的最大堆内存,支持按绝对内存指定(如:4G)和按物理机实际内存的百分比指定(如:50%),当迁移达梦数据库时,此值可以适当调大(建议≥16G)。
ymp_direct_memory 2 YMP使用的堆外内存,单位:GB。
time_zone_id GMT+8:00 YMP使用的时区ID。
ymp.stat.interval 2000 YMP内存采集频率,单位:MS。
ymp.heap.exceed.sleep 3000 YMP内存不足时睡眠等待时间,单位:MS。
ymp.heap.slow.threshold 80 YMP内存阈值,单位:百分比。
ymp.cpu.threshold 80 YMP CPU使用率阈值,单位:百分比。
ymp.disk.io.threshold 90 YMP磁盘IO阈值,单位:百分比。
spring.datasource.url jdbc:yasdb://127.0.0.1:8091/yashan 内置库的JDBC URL,自定义内置库安装YMP时,改为自定义内置库的url。
spring.datasource.username YMP_DEFAULT 内置库要连接的用户名称。
spring.datasource.password BPZ0VmrxlFoUgfm1UOS2pg 内置库要连接的用户的密码。
spring.datasource.largePoolSize 64M 内置库默认内部大数据块的总大小。
spring.datasource.cursorPoolSize 64M 内置库默认共享缓存区中游标缓存区的内存大小。
spring.datasource.defaultTableType HEAP 默认内置库表类型,默认HEAP,可选HEAP/TAC/LSC。
spring.datasource.openCursors 3000 内置库默认每个会话可打开的游标数上限。
spring.datasource.sharePoolSize 2G 内置库默认共享缓存区使用的内存大小。
spring.datasource.dateFormat yyyy-mm-dd hh24:mi:ss 内置库DATE类型的默认显示格式。
spring.datasource.ddlLockTimeout 2 内置库默认DDL加表锁等待超时的时间。
report.schedule.time 0 0 3 * * ? 定时清理超过保存时间的报告CRON。
task.parallel.max-num 500 YMP的最大并行任务数。
commons.dataMigrateSpeed 51200 预计数据迁移速度,KB/s。修改会影响评估结果预计迁移时间的大小。
commons.objMigrateSpeed 200 预计对象迁移速度,number/s。修改会影响评估结果预计迁移时间的大小。
assessment.ddlCount 50 评估任务单个会话获取DDL的数量,如果Oracle性能较差,则需要降低该值。
assessment.maxThreadCount 20 评估任务最多同时拥有的会话数,如果Oracle性能较差,则需要降低该值。
isLscTable false 内置库表类型是否为LSC,默认为false。
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黑名单。
schemaBlackList.pg information_schema,pg_catalog,pg_toast,public 拦截的pg数据源db/schema黑名单。
exp.sql.delete true 评估完成后是否删除SQL文件。
isSpiltPartitionTable true 是否对超长分区表进行拆分。
partitionsNumber 100 拆分分区表时,alter语句中的分区个数。
migration.rename true 迁移SCHEMA改名功能是否开启,默认为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倍值。
setNoLogging false 数据迁移前是否将表设为nologging,默认为false。
export.tool jdbc 导出方式,支持 [dts, jdbc] 两种方式。
migration.csvfile.Path ${ymp.home}/tmp/ 导出的表数据CSV文件保存路径,默认在安装路径的./tmp/下,修改的新路径,需保证系统所在用户拥有读写权限,参考:chmod 777 xxx/tmp/。
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.lob.headSize 8192 一行数据中所有lob字段小于指定长度时会优化为行内导入,对于字符类型如clob,统计字符长度,对于二进制类型如blob,统计字节长度。
export.jdbc.charRightTrim true 在数据迁移阶段,源端数据类型是char、nchar、character时,移除数据右侧空格。
export.jdbc.varcharRightTrim false 在数据迁移阶段,源端数据类型是varchar、nvarchar时,移除数据右侧空格。
import.load.options BATCH_SIZE=2048,MODE=BATCH,SENDERS=7,CHARACTER_SET=UTF8 yasldr命令行参数,可根据需要添加版本支持的yasldr参数,支持范围可见YashanBD文档中的yasldr参数说明。参数以空格分割,例如:CSV_CHUNK_SIZE=128 CSV_LINE_SIZE=126。
import.load.statement DEGREE_OF_PARALLELISM=16 yasldr的Load Data DML参数,可根据需要添加版本支持的yasldr参数,支持范围可见YashanBD文档中的yasldr参数说明。参数以英文分号分割,例如:ERRORS=12,DEGREE_OF_PARALLELISM=16。
migration.character_set UTF8 迁移使用的编码,要求源库和目标库是一致,默认值:UTF8,可选项[GBK, UTF8, GB18030],如果安装后想再改该配置,需要同时修改db/conf/ymp_migrate.bashrc中的编码UTF8:AMERICAN_AMERICA.AL32UTF8,GBK/GB18030:AMERICAN_AMERICA.ZHS16GBK;
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]。
yashandb.migration.date_format yyyy-MM-dd HH:mm:ss YASHANDB_DATE格式。
migration.offlineWay file 离线迁移的模式,可选项:file,memory。
migration.advancedConfig.estimatePercent 0 统计信息采样率,取值范围0或在[0.0001,1]。
migration.advancedConfig.blockSample false 是否采用块级采样。
migration.advancedConfig.methodOpt FOR ALL COLUMNS SIZE AUTO 列统计信息选项,可选项:FOR ALL COLUMNS SIZE AUTO, FOR ALL [INDEXED] COLUMNS [size_clause], FOR COLUMNS [column_clause] [size_clause]。
migration.advancedConfig.degree 1 统计信息收集的并行度。
migration.advancedConfig.granularity GLOBAL 分区表收集策略,可选项:ALL(收集表和分区) 、GLOBAL:(只收集表)、 GLOBAL AND PARTITION:(收集表和分区)、 PARTITION:(只收集分区) 、SUBPARTITION:(保留选项。只收集子分区) 、AUTO:(由分区的类型自动决定)。
migration.advancedConfig.cascade false 收集表的统计信息时,是否一并收集索引的统计信息。
checkTask.datasource.max-connection 500 校验任务限制每个数据源支持的最大连接数。
checkTask.datasource.connection-timeout 10000 校验任务获取连接超时时间,单位:ms。
checkTask.datasource.minimum-idle 0 校验任务获取的连接池中维持的最小连接数。
checkTask.task.parallel.max-num 20 校验任务的最大并行任务数。
checkTask.subTask.parallel.max-num 200 校验任务的子任务的最大并行任务数,即一个任务多少个表在同时校验。
checkTask.sqlBatchSize 500 SQL语句批处理数目。

conf/logback.xml

参数名 默认值 参数说明
name="com.yashandb.tool.ymp" level="INFO" INFO 控制YMP平台的日志级别,可选项【INFO,DEBUG,WARN,ERROR】
pdf-btn 下载文档
copy-btn 复制链接