#参数说明
在项目解压目录下,启动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】 |