当前位置:   article > 正文

金仓KDTS 迁移工具使用指南

kdts

5. SHELL版使用说明

本章节包括的主题如下:

1. 配置

1.1. 源库类型

迁移程序支持迁移多种源数据库,为了避免不同源数据库配置相互的干扰,按不同的源数据库类型进行生成独立的配置文件,因此需要知道当前激活的配置。进入kdts-plus/conf目录,打开application.yml文件,把“active”的值设置当前激活的源数据库类型(spring -> profiles -> active):

active: oracle #准备迁移的数据库,如dm(达梦)、gbase、kingbase、mysql、oracle等,具体的配置在kdts-XXX.yml文件中

当前设置的是oracle,激活的“数据库连接”配置就是kdts-oracle.yml,如果配置的是mysql,则对应kdts-mysql.yml,以此类推。

1.2. 运行模式

迁移工具除了进行数据迁移还可进行源库和目标库的数据对比,可根据需要切换运行模式。进入kdts-plus/conf目录,打开application.yml文件,去掉“running-mode”前的#号(注释)后设置需要的运行模式:

datasource:
  type:
    source: Hikari # Hikari、Druid、Simple #源库为gbase8g时,只能选择Simple
    target: Hikari # Hikari、Druid、Simple
log:
  home: logs # 日志主目录
  level: #日志级别
    console-appender: INFO # 控制台输出(OFF、TRACE、DEBUG、INFO、WARN、ERROR)
    file-appender: INFO # 文件输出(OFF、TRACE、DEBUG、INFO、WARN、ERROR)
  #running-mode: DataCompare #数据比较

注意

注释掉“running-mode”即为缺省的数据迁移模式,以后若有新运行模式,按注释说明填写。

1.3. 源数据库

根据设置的“源库类型”,打开conf目录中与之对应的配置文件(如kdts-oracle.yml),按实际环境中的运行参数进行配置。

1.3.1. 源库连接设置
#源数据库类型
dbType: oracle
#源数据库版本(9i,10g,11g,12c,19c)
dbVersion: 11g
#连接字符串
url: jdbc:oracle:thin:@1.2.3.4:1521/orcl
#驱动类名
driver-class-name: oracle.jdbc.OracleDriver
#用户名
username: oracle
#密码
password: 123456
#数据库连接验证SQL
validationQuery: select 1 from dual

注意

  1. 如果源库的类型为MariaDB时使用与Mysql使用相同的接口和配置文件,不再单独处理,请按照下表中的版本对应关系进行配置:

MariaDb

MySql

kdts-plus对应的dbVersion

5.5、10.0

5.5

5.5

10.1

5.6

5.7

10.2、10.3、10.4

5.7

5.7

10.5、10.6、10.7

8.0

8.0

  1. 配置“连接字符串”时需要考虑数据库的初始化字符集等因素,例如当MySQL数据库的字符集是GBK或GB2312时,应在url中添加“useUnicode=true&characterEncoding=utf-8”。

1.3.2. 包含或排除的模式
#要迁移的模式,多个模式用英文逗号隔开,如:A,B,C(不要回车换行),也可填入"*"(需要双引号,将迁移源库中此用户所能访问的所有模式)
#schemas: Sehcma1,Sehcma2,Sehcma3
#schemas: "*"
schemas: Sehcma1
#不迁移的模式,多个模式用英文逗号隔开,如:A,B,C(不要回车换行)
schema-excludes: SYS,SYSTEM,MGMT_VIEW,DBSNMP,SYSMAN,OUTLN,FLOWS_FILES,MDSYS,ORDSYS,EXFSYS,WMSYS,APPQOSSYS,APEX_030200,OWBSYS_AUDIT,ORDDATA,CTXSYS,ANONYMOUS,XDB,ORDPLUGINS,OWBSYS,SI_INFORMTN_SCHEMA,OLAPSYS,SCOTT,ORACLE_OCM,XS$NULL,BI,PM,MDDATA,IX,SH,DIP,OE,APEX_PUBLIC_USER,HR,SPATIAL_CSW_ADMIN_USR,SPATIAL_WFS_ADMIN_USR
1.3.3. 大表拆分设置
#大表拆分阈值行数(当表的行数超过此值时,将对表进行拆分,每块的记录数为此值和表总记录数除以“拆分最大块数”中的最大值)
large-table-split-threshold-rows: 5000000
#大表拆分阈值大小(单位为M)(当表的数据大小(普通字段+大对象字段)超过此值时,将对表进行拆分)
large-table-split-threshold-size: 5000
#大表拆分最大块数(每张表的最大拆分块数,应不超过总的读线程数)
large-table-split-max-chunk-num: 24
#大表拆分条件定义文件(优先于按行数和大小拆分)
large-table-split-condition-file: largetable-split-condition.json
1.3.4. 表过滤设置
#表数据过滤条件定义文件
table-data-filter-condition-file: table-data-filter-condition.json
1.3.5. 包含或排除的对象
#注意:在下面使用英文逗号隔开的配置项中,如果对象名称中包含!@#$%^&*(_+}{]|\\'g;:?/,<等特殊字符时可使用双引号,但双引号需加斜杠转义,如\"Schema1\".\"Table!@#$%^&*(_+}{]|\\,<ABC\"
#只迁移的表,多个表用英文逗号隔开,如:A,B,Schema1.C,D(不要回车换行,可指定模式名),也可创建conf/tableIncludes.txt文件后在文件中配置(文件优先)
table-includes:
#不迁移的表,多个表用英文逗号隔开,如:A,B,Schema1.C,D(不要回车换行,可指定模式名),也可创建conf/tableExcludes.txt文件后在文件中配置(文件优先)
table-excludes:
#只迁移的字段,多个字段用英文逗号隔开,如:A,B,Table1.C,Schema1.Table1.D(不要回车换行,可指定表名、模式名),也可创建conf/columnIncludes.txt文件后在文件中配置(文件优先)
column-includes:
#不迁移的字段,多个字段用英文逗号隔开,如:A,B,Table1.C,Schema1.Table1.D(不要回车换行,可指定表名、模式名),也可创建conf/columnExcludes.txt文件后在文件中配置(文件优先)
column-excludes:
#只迁移的视图,多个视图用英文逗号隔开,如:A,B,Schema1.C,D(不要回车换行,可指定模式名),也可创建conf/viewIncludes.txt文件后在文件中配置(文件优先)
view-includes:
#不迁移的视图,多个视图用英文逗号隔开,如:A,B,Schema1.C,D(不要回车换行,可指定模式名),也可创建conf/viewExcludes.txt文件后在文件中配置(文件优先)
view-excludes:
#只迁移的函数,多个函数用英文逗号隔开,如:A,B,Schema1.C,D(不要回车换行,可指定模式名),也可创建conf/functionIncludes.txt文件后在文件中配置(文件优先)
function-includes:
#不迁移的函数,多个函数用英文逗号隔开,如:A,B,Schema1.C,D(不要回车换行,可指定模式名),也可创建conf/functionExcludes.txt文件后在文件中配置(文件优先)
function-excludes:
#只迁移的存储过程,多个存储过程用英文逗号隔开,如:A,B,Schema1.C,D(不要回车换行,可指定模式名),也可创建conf/procedureIncludes.txt文件后在文件中配置(文件优先)
procedure-includes:
#不迁移的存储过程,多个存储过程用英文逗号隔开,如:A,B,Schema1.C,D(不要回车换行,可指定模式名),也可创建conf/procedureExcludes.txt文件后在文件中配置(文件优先)
procedure-excludes:
#只迁移的包,多个包用英文逗号隔开,如:A,B,Schema1.C,D(不要回车换行,可指定模式名),也可创建conf/packageIncludes.txt文件后在文件中配置(文件优先)
package-includes:
#不迁移的包,多个包用英文逗号隔开,如:A,B,Schema1.C,D(不要回车换行,可指定模式名),也可创建conf/packageExcludes.txt文件后在文件中配置(文件优先)
package-excludes:
#只迁移的序列,多个序列用英文逗号隔开,如:A,B,Schema1.C,D(不要回车换行,可指定模式名),也可创建conf/sequenceIncludes.txt文件后在文件中配置(文件优先)
sequence-includes:
#不迁移的序列,多个序列用英文逗号隔开,如:A,B,Schema1.C,D(不要回车换行,可指定模式名),也可创建conf/sequenceExcludes.txt文件后在文件中配置(文件优先)
sequence-excludes:
#只迁移的同义词,多个同义词用英文逗号隔开,如:A,B,Schema1.C,D(不要回车换行,可指定模式名),也可创建conf/synonymIncludes.txt文件后在文件中配置(文件优先)
synonym-includes:
#不迁移的同义词,多个同义词用英文逗号隔开,如:A,B,Schema1.C,D(不要回车换行,可指定模式名),也可创建conf/synonymExcludes.txt文件后在文件中配置(文件优先)
synonym-excludes:
1.3.6. 要迁移的对象类别
#是否迁移序列
migrate-sequence: true
#序列仅更新值(不创建)
sequence-only-updating-value: false
#序列是否使用CurrVal做当前值(Oracle调用CurrVal前需要调用NextVal,会耗费一个序列值)
sequence-use-current-value: false
#是否迁移表结构
migrate-table-structure: true
#是否迁移数据
migrate-table-data: true
#是否迁移主键
migrate-table-primary-key: true
#是否迁移索引
migrate-table-index: true
#是否迁移唯一性约束
migrate-table-unique: true
#是否迁移外键
migrate-table-foreign-key: true
#是否迁移检查约束
migrate-table-check: true
#是否迁移视图
migrate-view: false
#是否迁移函数
migrate-function: false
#是否迁移存储过程
migrate-procedure: false
#是否迁移包
migrate-package: false
#是否迁移同义词
migrate-synonym: false
#是否包含公共同义词
include-public-synonym: false
#是否迁移触发器
migrate-trigger: false
#是否迁移注释
migrate-comment: true
1.3.7. kdms转换设置
#是否使用kdms做转换(视图、函数、存储过程、包、触发器)
use-kdms: false
#kdms访问地址
kdms-url: http://192.168.0.25:12580/kdms/
#kdms源数据库类型
kdms-source-db-type: Oracle
#kdms目标数据库类型
kdms-target-db-type: Kingbase_ES_V8_R6
1.3.8. 杂项
#网络读取超时时长(秒,0表示永不超时,若出现类似“Socket read timed out”异常时,可增大此值)
net-read-timeout: 0
#源数据库游标读取记录数(一次性从源库读取的行数,在一定范围内增加该值可提升读取效率,但会增加内存开销)
fetch-size: 1000
#源数据库含大对象数据表的游标读取记录数(同上,只是此参数针对有大对象字段的表)
table-with-large-object-fetch-size: 100
#源数据库含大大对象数据表的游标读取记录数(同上,只是此参数针对大对象字段长度超过1G的表)
table-with-big-large-object-fetch-size: 50
#是否使用数据库系统统计信息(如表的记录数、大小等)
use-dbms-stats: false
#是否使用手工脚本
use-manual-script: false
#读数据超时时长(单位毫秒,0表示永不超时)
read-data-timeout: 0
#最大重试次数
max-retries: 0
#重试间隔(毫秒)
retry-interval: 500
#读数据(中断后)能否恢复
read-data-can-resume: false
#字符是否需要解码(从源库作转码),用于处理类似Oracle us7ascii编码
character-need-decoding: false

注意

如果源库的数据在保存时做过编码转换,例如源库为Oracle的为us7asii编码时,保存中文字符时需要转成“ISO_8859_1”编码,则迁移时需作解码处理,应将“字符是否需要解码”设置未ture(character-need-decoding: true)。

1.3.9. 数据对比设置(仅“数据对比”运行模式时有效)
#数据对比缓冲区大小(源端)
data-compare-buffer-size: 50000
#数据对比摘要算法
data-compare-algorithm: MD5 #CRC32、MD5、SHA1、SHA256、SHA384、SHA512
1.3.10. 源数据库最大连接数
#源数据库最大连接数
maximum-poolsize: 200

1.4. 目标数据库

根据设置的“源库类型”,打开conf目录中与之对应的配置文件(如kdts-oracle.yml),按实际环境中的运行参数进行配置。

1.4.1. 目标库连接设置
#目标数据库类型
dbType: KINGBASE
#目标数据库版本(V7,V8R3,V8R6,V8R6C7,V9)
dbVersion: V8R6
#Unix Domain
#url: jdbc:kingbase8:///db?currentSchema=db&socketFactory=org.newsclub.net.unix.AFUNIXSocketFactory$FactoryArg&socketFactoryArg=/tmp/.s.KINGBASE.54321&sslMode=disable
#simple jdbc
url: jdbc:kingbase8://1.2.3.4:54321/test1 #V8R3和V8R6使用
#url: jdbc:kingbase://1.2.3.4:54321/TEST #V7使用
#driver-class-name: com.kingbase.Driver #V7使用
#driver-class-name: com.kingbase8.r3.Driver #V8R3使用
driver-class-name: com.kingbase8.Driver #V8R6使用
username: kingbase
password: 123456
#目标模式,多个模式用英文逗号隔开,如:A,B,C(不要回车换行),也可填入"*"(需要双引号,则目标模式与源模式同名)
#schemas: Sehcma1,Sehcma2,Sehcma3
#schemas: Sehcma1
schemas: "*"
#数据库连接验证SQL
validation-query: select 1

注意

如果迁移程序和目标数据库(KingbaseES)在同一台计算机上,并且操作系统是Linux,可以使用Unix Domain进行连接,可提高数据传输效率。

1.4.2. 杂项
#批量提交记录数(行数据)
write-batch-size: 1000
#批量提交数据大小(单位M)
write-batch-byte-size: 100
#删除目标库中已存在的对象(如表、视图等)
drop-existing-object: true
#是否截断表(清空表数据)
truncate-table: false
#目标数据库对象重命名-除表名、列名外的其他对象: pk、fk、constraint、unique constraint、index 等
rename-object: true
#检查约束不验证已存在数据
check-constraint-not-validated: true
#是否记录成功脚本
log-success-script: true
#是否创建目标模式
create-target-schema: true
#迁移结果保留时长(单位为天)
result-retention-days: 7
#是否删除空字符(解决 无效的 "UTF8" 编码字节顺序(invalid byte sequence for encoding "UTF8": 0x00))
remove-null-character: false
#是否将分区表当作普通表迁移
partition-table-as-normal: false
#写数据超时时长(单位毫秒,0表示永不超时)
write-data-timeout: 0
#最大重试次数
max-retries: 0
#重试间隔(毫秒)
retry-interval: 500

注意

  1. 如果只迁移表数据,应将“drop-existing-object”设置为false,避免删除目标库中表。

  2. 如果将大表拆分为多次迁移,应将“truncate-table”设置为false。

1.4.3. 数据对比设置(仅“数据对比”运行模式时有效)
#数据对比缓冲区大小(目标端)
data-compare-buffer-size: 200000
#数据对比查询并行度
data-compare-query-parallelism: 5
1.4.4. 目标数据库最大连接数
#目标数据库最大连接数
maximum-poolsize: 200

1.5. 线程池线程数

数据迁移属于IO密集型操作,涉及网络络IO和磁盘IO的交互,一旦发生IO,线程就会处于等待状态,当IO结束,数据准备好后,线程才会继续执行。为提升数据迁移的效率可以多设置⼀些线程池中线程的数量,避免任务等待,线程可以去做更多的迁移任务,提高并发处理效率。但不是线程数设置的越高,效率就越高,线程上下文切换是有代价的。 对于对于IO密集型线程数的设置公式为:线程数 = CPU核心数/(1-阻塞系数) ,其中阻塞系数一般为0.8~0.9之间,取0.9则:

双核CPU: 2/(1-0.9)  = 20
64核2路CPU:  64*2/(1-0.9) = 1280

进入 kdts-plus/conf目录下,打开:kb-thread-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
  <pool name="default"><!-- 至少要有一个线程池default -->
    <corePoolSize>1</corePoolSize><!-- 核心线程数 -->
    <maxPoolSize>1</maxPoolSize><!-- 最大线程数(设置为和核心线程数一致) -->
    <keepAliveTime>15</keepAliveTime><!-- 线程空闲存活时间(单位:秒) -->
    <workQueueSize>8</workQueueSize><!-- 工作队列大小 -->
  </pool>

  <!-- 以下参数是基于Intel Xeon Gold 6330(28核心56线程),256G内存,JVM内存16G(详见/bin/startup.sh中的-Xms和-Xmx) -->
  <!-- 请根据实际运行环境按比例调整 -->
  <!-- 表数据读线程池 -->
  <pool name="read">
    <corePoolSize>8</corePoolSize><!-- 可根据服务器配置作调整,如果源库读慢,可适当提升读、写线程的比例 -->
    <maxPoolSize>8</maxPoolSize><!-- 和corePoolSize一致 -->
    <keepAliveTime>300</keepAliveTime><!-- 保持不变 -->
    <workQueueSize>150000</workQueueSize><!-- 保持不变 -->
  </pool>
  <!-- 表数据写线程池 -->
  <pool name="write">
    <corePoolSize>48</corePoolSize><!-- 可根据服务器配置作调整,如果源库读慢,可适当提升读、写线程的比例 -->
    <maxPoolSize>48</maxPoolSize><!-- 和corePoolSize一致 -->
    <keepAliveTime>300</keepAliveTime><!-- 保持不变 -->
    <workQueueSize>75</workQueueSize><!-- maxPoolSize的1.5倍 -->
  </pool>
  <!-- 元数据读线程池 -->
  <pool name="metaRead">
    <corePoolSize>8</corePoolSize><!-- 可根据服务器配置作调整 -->
    <maxPoolSize>8</maxPoolSize><!-- 和corePoolSize一致 -->
    <keepAliveTime>300</keepAliveTime><!-- 保持不变 -->
    <workQueueSize>300000</workQueueSize><!-- 保持不变 -->
  </pool>
  <!-- 元数据写线程池 -->
  <pool name="metaWrite">
    <corePoolSize>8</corePoolSize><!-- 可根据服务器配置作调整,需考虑与目标库创建索引等的并行度匹配(正向+逆向一共16个并发) -->
    <maxPoolSize>8</maxPoolSize><!-- 和corePoolSize一致 -->
    <keepAliveTime>300</keepAliveTime><!-- 保持不变 -->
    <workQueueSize>20</workQueueSize><!-- maxPoolSize的1.5倍 -->
  </pool>

  <!-- 数据读取线程池(逆序) -->
  <pool name="readZ2A">
    <corePoolSize>8</corePoolSize><!-- 可根据服务器配置作调整,如果源库读慢,可适当提升读、写线程的比例 -->
    <maxPoolSize>8</maxPoolSize><!-- 和corePoolSize一致 -->
    <keepAliveTime>300</keepAliveTime><!-- 保持不变 -->
    <workQueueSize>150000</workQueueSize><!-- 保持不变 -->
  </pool>
  <!-- 表数据写线程池(逆序) -->
  <pool name="writeZ2A">
    <corePoolSize>48</corePoolSize><!-- 可根据服务器配置作调整,如果源库读慢,可适当提升读、写线程的比例 -->
    <maxPoolSize>48</maxPoolSize><!-- 和corePoolSize一致 -->
    <keepAliveTime>300</keepAliveTime><!-- 保持不变 -->
    <workQueueSize>75</workQueueSize><!-- maxPoolSize的1.5倍 -->
  </pool>
  <!-- 元数据读线程池(逆序) -->
  <pool name="metaReadZ2A">
    <corePoolSize>8</corePoolSize><!-- 可根据服务器配置作调整 -->
    <maxPoolSize>8</maxPoolSize><!-- 和corePoolSize一致 -->
    <keepAliveTime>300</keepAliveTime><!-- 保持不变 -->
    <workQueueSize>300000</workQueueSize><!-- 保持不变 -->
  </pool>
  <!-- 元数据写线程池(逆序) -->
  <pool name="metaWriteZ2A">
    <corePoolSize>8</corePoolSize><!-- 可根据服务器配置作调整,需考虑与目标库创建索引等的并行度匹配(正向+逆向一共16个并发) -->
    <maxPoolSize>8</maxPoolSize><!-- 和corePoolSize一致 -->
    <keepAliveTime>300</keepAliveTime><!-- 保持不变 -->
    <workQueueSize>20</workQueueSize><!-- maxPoolSize的1.5倍 -->
  </pool>

  <!-- 大对象数据(Clob和Blob)写线程池 -->
  <pool name="writeLargeObject">
    <corePoolSize>16</corePoolSize><!-- 可根据源库表中大对象数据来设置,如果单条数据较大,可适当降低线程数,以避免内存不足 -->
    <maxPoolSize>16</maxPoolSize><!-- 和corePoolSize一致 -->
    <keepAliveTime>300</keepAliveTime><!-- 保持不变 -->
    <workQueueSize>16</workQueueSize><!-- 和maxPoolSize一致 -->
  </pool>

  <!-- 线程池状态收集汇总配置
    switch: on-开; off-关
    interval: 单位(秒)
  -->
  <threadpoolstate switch="off" interval="600000"></threadpoolstate>

  <!-- 线程状态收集汇总配置
    switch: on-开; off-关
    interval: 单位(秒)600000
  -->
  <threadstate switch="off" interval="600000"></threadstate>

  <!-- 线程堆栈收集配置
    switch: on-开; off-关
    interval: 单位(秒)
  -->
  <threadstack switch="off" interval="600000"></threadstack>
</config>

1.6. 其他配置

{安装目录}/conf 目录下的配置项功能说明:

conf
└─manual_script --手工脚本,用于迁移编辑后的迁移失败的对象
└─mapping_rule
        └─column --自定义表字段映射规则
        └─data_type --自定义数据类型映射规则
        └─default_value --自定义字段缺省值映射规则
        └─table_data --自定义数据映射规则

每个目录下都有对应的使用说明文档readme.md和示例文件example.json,请参考对应文档使用。

2. 运行日志

迁移程序会在kdts-plus/logs目录下按迁移日期和时间创建日志目录,该目录下会有3个日志文件以及不同模式名的子目录,每个子目录下存放该模式相关的日志(error.log、info.log、warn.log),请注意查看error.log中的内容。

Schema1     #模式1的日志
Schema2     #模式2的日志
Schema2     #模式3的日志
error.log   #错误
info.log    #信息
warn.log    #警告

注意

  1. Linux平台下在logs根目录下会有一个名为“kdts-plus-日期+时间.log”的日志,里面会包含全部的日志内容,Windows平台受限于操作系统,无此日志。

  2. “数据对比”的日志目录名有“DataCompare-”前缀。

3. 迁移报告

迁移程序会在kdts-plus/result目录下按迁移日期和时间创建报告目录,该目录下会有index.html以及不同模式名的子目录,每个子目录下存放该模式的详细报告,可打开index.html进行查看。每个模式名子目录下内容如下:

AcrpyRegisterScript                                    #ArcGIS注册脚本(迁移GIS数据时从此目录下取注册数据的脚本文件)
FailedScript                                           #失败脚本目录
IgnoredScript                                          #略过脚本目录
SuccessScript                                          #成功脚本目录
index.html                                             #模式信息首页
detail_check_constraint.html                           #检查约束详细信息页
detail_comment.html                                    #注释详细信息页
detail_foreign_key_constraint.html                     #外键详细信息页
detail_function.html                                   #函数详细信息页
detail_index.html                                      #索引详细信息页
detail_package.html                                    #包详细信息页
detail_primary_key_constraint.html                     #主键详细信息页
detail_procedure.html                                  #存储过程详细信息页
detail_sequence.html                                   #序列详细信息页
detail_synonym.html                                    #同义词详细信息页
detail_table.html                                      #表详细信息页
detail_table_data.html                                 #表数据详细信息页
detail_trigger.html                                    #触发器详细信息页
detail_unique_constraint.html                          #唯一性约束详细信息页
detail_view.html                                       #视图详细信息页
  • 迁移报告目录

  • 模式信息首页(index.html)

  • XXX详细信息(如表结构、表数据、表主键等, detail_XXX.html)

  • 失败脚本目录 (FailedScript)

  • 成功脚本目录 (SuccessScript)

在FailedScript、IgnoredScript和SuccessScript目录下会生成与之对应(失败、略过、成功)的脚本:

check_constraint.sql                           #检查约束SQL脚本
comment.sql                                    #注释SQL脚本
foreign_key_constraint.sql                     #外键SQL脚本
function.sql                                   #函数SQL脚本
index.sql                                      #索引SQL脚本
package.sql                                    #包SQL脚本
primary_key_constraint.sql                     #主键SQL脚本
procedure.sql                                  #存储过程SQL脚本
sequence.sql                                   #序列SQL脚本
synonym.sql                                    #同义词SQL脚本
table.sql                                      #表SQL脚本
table_data.sql                                 #表数据SQL脚本
trigger.sql                                    #触发器SQL脚本
unique_constraint.sql                          #唯一性约束SQL脚本
view.sql                                       #视图SQL脚本
  • 迁移成功表结构 SQL 脚本

  • 迁移失败表结构 SQL 脚本

注意

“数据对比”的日志目录名有“DataCompare-”前缀。

4. KingbaseES优化配置参数

max_connections=2000
shared_buffers=RAM*0.4GB       #RAM指内存,最大设置为64GB
work_mem =10MB
maintenance_work_mem=6GB
effective_cache_size=RAM*0.5GB      #RAM指内存(free -g)RAM*0.5GB
max_locks_per_transaction=1024
#wal_level = minimal
max_wal_size=100GB
checkpoint_timeout=5min
checkpoint_completion_target=0.9
max_parallel_workers_per_gather=0
logging_collector=on
log_destination='stderr'
log_directory='sys_log'
log_filename='kingbase-%d.log'
log_truncate_on_rotation=on
log_rotation_age=1440
log_connections=on
log_disconnections=on
log_statement='ddl'
log_checkpoints=on
log_lock_waits=on
log_autovacuum_min_duration=0
log_temp_files=0
lc_messages='C'
log_min_duration_statement=1000
log_line_prefix='%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h'
ignore_char_null_check=true
max_worker_processes=100
max_parallel_workers=80
#max_parallel_workers_per_gather=64
max_parallel_maintenance_workers=64
#maintenance_work_mem=16GB
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号