金仓数据库KDTS 常见题目处置惩罚说明
一、通用题目1.迁移程序启动报错:java.lang.OutOfMemoryError: Java heap space
办理方法:修改启动脚本(bin/startup.bat或bin/startup.sh)中JAVA_MEMORY大小
https://i-blog.csdnimg.cn/blog_migrate/0e351983b94364f19175036d52ac599a.png
2.Windows 下启动迁移工具闪退
办理方法:
1)查抄 JDK 目录下是否精确放置 JDK
2)使用管理员身份运行迁移工具
3.数据迁移报错:文件签名不被认可
办理方法:修改设置文件(conf/application.properties)中的是否使用遗留二进制拷贝签名为 false (如果原来值为 false,则调整为true)
https://i-blog.csdnimg.cn/blog_migrate/2d050da4be91348f9b48873d8c68e1ae.png
4.迁移时创建模式报错:syntax error at or near “AUTHORIZATION”
办理方法:查抄数据库设置文件(data/kingbase.conf)中是否将 authorization 添加到 exclude_reserved_words 中,如果添加了,移除即可。
二、Oracle 迁移 KES
1.数据迁移报错(源库与目标库编码都为GBK):迁移数据错误,无效的GBK编码字节顺序:0xb4
办理方法:删除目标数据源毗连参数 clientEncoding: utf8
https://i-blog.csdnimg.cn/blog_migrate/c4f136a5dc8dd21a4df5aa13fc3555c0.png
2.数据迁移目标端报raw类型不支持,需要在kes目标端安装raw数据类型插件(kes默认是不支持raw类型)。
https://i-blog.csdnimg.cn/blog_migrate/69cf5af498e605cdaca82d273809e996.png
3.自界说类型的数据不支持copy方式写入,支持insert写入
三、MySQL 迁移 KES
1.数据迁移报错:no unpinned buffers available(没有可用的非固定缓冲区)
办理方法:查看KES数据库共享缓存区大小(show shared_buffers),调整为系统内存的25%
2.迁移报错: Communications link failure
办理方法:
1)增加 socketTimeout 毗连参数(单位为毫秒),设置值富足大
https://i-blog.csdnimg.cn/blog_migrate/77ee97b96b164e3c51449409998b5089.png
2)查询 MySQL 设置中的 max_allowed_packet 值,条件答应的环境下加大此值
3)减小源库游标读取记载数
3.数据迁移报错:Statement cancelled due to timeout or client request
办理方法:设置迁移参数毗连超时时间值为0
4.无法获取表结构
办理方法:查抄源数据库毗连中数据库名称中是否有多余的空格
5.迁移报错:Table read failed: Unknown column datetime_precision in field list
办理方法:选择 MySQL 版本号为 5.5
https://i-blog.csdnimg.cn/blog_migrate/ac8ed866027409a27e4de34e0e4551a0.png
6.表结构迁移报错:语法错误 在 “COLLATE” 或附近的
办理方法:目标端的设置项【useCollate】参数设置为false
[*]表数据迁移报错:无效的 “UTF8” 编码字节顺序: 0x00
办理方法:目标端的设置项【removeNullCharacter】参数设置为true
四、KES 迁移 KES
1.V7 迁移 KES 报错:非法 BigDecimal 值
办理方法:更新 V7 JDBC驱动文件为数据库对应的JDBC驱动(数据库安装目录下),迁移工具驱动地点目录为 drivers/kingbase/v7
五、DM 迁移 KES
1.DM 迁移 KES,无法获取到表结构
办理方法:查抄DM数据库毗连账号是否为 sysdba,如果使用应用账号,可能会由于账号权限不足导致无法获取表结构信息。
六、Db2 迁移 KES
1.数据迁移报错:DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016, SQLERRMC=7;RP_DM.BAINDZZZ001, DRIVER=4.31.10
办理方法:目前表处于“装入暂挂”状态,Db2 针对多次操纵一张表的时间,会将表处于挂载状态,需要重组表。在服务器上实行 reorg 命令,DB2 reorg table <TABLE_NAME>,提示 successful 后表示重组乐成
https://i-blog.csdnimg.cn/blog_migrate/c5d9060b2b32287cc11b67dbda4898e0.png
2.数据迁移报错:捕获到 java.io.CharConversionException。有关详细信息,请参阅相毗连的 Throwable。 ERRORCODE=-4220, SQLSTATE=null
办理方法:在启动脚本中添加参数: -Ddb2.jcc.charsetDecoderEncoder=3
https://i-blog.csdnimg.cn/blog_migrate/579a9c49d1f02bfe52f55597b362905c.png
3.interval xxx时间类型数据搬迁后值变为0
办理方法:如果目标端的kes版本是V8R6C7以上版本,在举行数据库毗连管理的地方,要选择V8R6C7版本
七、OceanBase 迁移 KES
1.time类型范围超出 00:00:00 ~ 24:00:00的数据搬迁失败
https://i-blog.csdnimg.cn/blog_migrate/a51eb97ea601c89a3ddd7711a14df051.png
办理方法/限定:
KES Oracle兼容模式本身就放不下这种数据,会迁移失败
KES MySQL兼容模式使用insert方式插入
八、sqlserver迁移KES
[*]datetime时间类型的9999-12-31 23:59:59:998的表数据,搬迁到目标端后,值变为10000-01-01 00:00:00,这个是数据库自身的举动,与kdts无关。
https://i-blog.csdnimg.cn/blog_migrate/26b6993dd088d9aa398a20d08e286d5b.png
2.sqlserver sql_variant类型不支持copy方式写入,支持insert写入
九、KES迁移MySQL
[*]kes数据库中的gis数据类型的表数据搬迁到mysql数据库后,使用select * 举行查询的时间gis类型的表数据库读出来是乱码,需要使用select st_astext() 来查询,如许查询出来的结果显示才是精确的。
https://i-blog.csdnimg.cn/blog_migrate/ef3c7fff335300a26a4341ca69c6693a.png
十、sqlite迁移kes
[*]搬迁的设置文件中需要将readonly设置设置为false,否则会导致搬迁任务失败。
https://i-blog.csdnimg.cn/blog_migrate/a0c4a02406a94261cf0a96db0816173f.png
https://i-blog.csdnimg.cn/blog_migrate/b7cb696496e9918fad184d8a5c764e89.png
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]