- 问题1:为什么docker版本部署完成后,Agent还一直显示待部署
- 问题2:在创建任务时,待复制表列表为空,数据库内实际上有表
- 问题3:添加SqlServer2008数据源时,测试连接报20018错误,无法正常使用
- 问题4:PostgreSQL作为目标时,如果事务失败了,后续的重试操作都不会成功,会报错:ERROR: current transaction is aborted, commands ignored until end of transaction block;
- 问题4:增加DDL时如何操作
- ‘is unrecognized">问题5:当测试MySQL连接时出现提示:The server time zone value ‘
‘is unrecognized
问题1:为什么docker版本部署完成后,Agent还一直显示待部署
出现这种情况是因为,目前的docker部署方式在启动docker容器后还需要去下载Agent的应用包。应用包下载完成后才会真正启动Agent,由于应用包下载时间受网络的影响可能会比较长,所以从运行部署命令到成功启动会需要一定的时间,请耐心等待。您也可以直接运行 docker logs -f Agent的容器ID命令来通过日志查看下载进度。
我们在后续迭代会优化docker部署方式,实现启动docker即可同步启动Agent。
PS:1.0.5版本之后已修复该问题
问题2:在创建任务时,待复制表列表为空,数据库内实际上有表
加载schema和创建连接是异步过程,因此可能出现加载不及时或者加载失败的情况,可以通过“连接管理->具体连接->加载schema”来手动更新。
问题3:添加SqlServer2008数据源时,测试连接报20018错误,无法正常使用
这是因为JDK版本加密算法策略升级,禁用了TLSv1, TLSv1.1算法,导致无法使用这两种加密算法加密用户名密码,从而无法建立连接
解决方案:
云版用户使用自己环境的jdk时,可以通过修改jdk目录$JAVA_HOME\jre\lib\security\java.security
文件,将jdk.tls.disabledAlgorithms
配置项中的TLSv1、TLSv1.1去掉,并重启Agent服务即可。
//原配置
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves
//修改后配置
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves
我们会在后续版本对该问题进行修复,到时无需用户进行设置即可正常使用。
问题4:PostgreSQL作为目标时,如果事务失败了,后续的重试操作都不会成功,会报错:ERROR: current transaction is aborted, commands ignored until end of transaction block;
解决方案:
这个问题是由PG的特性导致的,只需要在配置PG的连接时,在连接串里增加如下参数即可解决:autosave=always&cleanupSavePoints=ture
问题4:增加DDL时如何操作
- 空档时间,停止服务;
2. 校验源表,目标表数据是否完全一致;一致后,才能停止cdc,否则会丢失数据;
3. 停止源cdc;
4. 进行源表ddl,重启cdc;
5. 进行目标表ddl;
6. 重新拉取连接Schema;
7. 重启同步Agent服务
问题5:当测试MySQL连接时出现提示:The server time zone value ‘
‘is unrecognized
解决方案
出现该问题时,可以在您的mysql连接的连接串里添加这个参数:serverTimezone=Asia/Shanghai,即可解决