注册

使用dts_cmd_run工具从MySQL迁移到DM8报错

冯仁坤 2023/06/14 717 3

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8
【操作系统】:centos
【CPU】:
【问题描述】*:

达梦版本号

DM Database Server 64 V8 DB Version: 0x7000c 03134283904-20220630-163817-20005

先使用windows的DM数据迁移工具新建迁移,然后导出XML配置文件,将密码改为明文。

将XML配置文件上传到达梦服务器,使用tool下的dts_cmd_run.sh工具迁移,迁移命令如下

./dts_cmd_run.sh config FILE=/opt/dm8/conf/config.xml DESCRYPT_PASSWORD=0

但是执行后,提示MySQL链接异常,但MySQL客户端是链接正常的,其次报日志文件解析错误。

08:12:06.774 [DMDTS-RUN-THREAD] ERROR com.dameng.dts.cmd.tool.Tool - error
java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 89 milliseconds ago.  The last packet sent successfully to the server was 83 milliseconds ago.
        at com.dameng.dts.core.session.DTSSession.newConnection(DTSSession.java:136) ~[com.dameng.dts_8.0.0.jar:?]
        at com.dameng.common.persistence.session.Session.connect(Session.java:428) ~[com.dameng.common.persistence_8.0.0.jar:?]
        at com.dameng.dts.core.session.DTSSession.connect(DTSSession.java:92) ~[com.dameng.dts_8.0.0.jar:?]
        at com.dameng.dts.core.config.BaseConfiguration.fillSession(BaseConfiguration.java:359) ~[com.dameng.dts_8.0.0.jar:?]
        at com.dameng.dts.core.config.BaseTransformerConfiguration.fillPage(BaseTransformerConfiguration.java:136) ~[com.dameng.dts_8.0.0.jar:?]
        at com.dameng.dts.core.config.BaseTransformerConfiguration.fill(BaseTransformerConfiguration.java:79) ~[com.dameng.dts_8.0.0.jar:?]
        at com.dameng.dts.cmd.tool.ConfigTool.run(ConfigTool.java:131) [com.dameng.dts_8.0.0.jar:?]
        at com.dameng.dts.cmd.Command$RunThread.run(Command.java:397) [com.dameng.dts_8.0.0.jar:?]
        at com.dameng.dts.cmd.Command$1.run(Command.java:298) [com.dameng.dts_8.0.0.jar:?]
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 89 milliseconds ago.  The last packet sent successfully to the server was 83 milliseconds ago.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_312]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_312]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_312]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_312]
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[?:?]
        at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990) ~[?:?]
        at com.mysql.jdbc.ExportControlled.transformSocketToSSLSocket(ExportControlled.java:201) ~[?:?]
        at com.mysql.jdbc.MysqlIO.negotiateSSLConnection(MysqlIO.java:4912) ~[?:?]
        at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1663) ~[?:?]
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1224) ~[?:?]
        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2190) ~[?:?]
        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2221) ~[?:?]
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2016) ~[?:?]
        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:776) ~[?:?]
        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) ~[?:?]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_312]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_312]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_312]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_312]
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[?:?]
        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386) ~[?:?]
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330) ~[?:?]
        at com.dameng.dts.driver.DriverAdapter.connect(DriverAdapter.java:40) ~[com.dameng.dts_8.0.0.jar:?]
        at com.dameng.dts.core.session.DTSSession.newConnection(DTSSession.java:132) ~[com.dameng.dts_8.0.0.jar:?]
        ... 8 more
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
        at sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:171) ~[?:1.8.0_312]
        at sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:103) ~[?:1.8.0_312]
        at sun.security.ssl.TransportContext.kickstart(TransportContext.java:220) ~[?:1.8.0_312]
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:428) ~[?:1.8.0_312]
        at com.mysql.jdbc.ExportControlled.transformSocketToSSLSocket(ExportControlled.java:186) ~[?:?]
        at com.mysql.jdbc.MysqlIO.negotiateSSLConnection(MysqlIO.java:4912) ~[?:?]
        at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1663) ~[?:?]
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1224) ~[?:?]
        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2190) ~[?:?]
        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2221) ~[?:?]
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2016) ~[?:?]
        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:776) ~[?:?]
        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) ~[?:?]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_312]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_312]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_312]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_312]
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[?:?]
        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386) ~[?:?]
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330) ~[?:?]
        at com.dameng.dts.driver.DriverAdapter.connect(DriverAdapter.java:40) ~[com.dameng.dts_8.0.0.jar:?]
        at com.dameng.dts.core.session.DTSSession.newConnection(DTSSession.java:132) ~[com.dameng.dts_8.0.0.jar:?]
        ... 8 more
java.lang.NullPointerException
        at com.dameng.dts.plugin.support.gui.dialog.TransformReportGenerator.getTransformReport(TransformReportGenerator.java:728)
        at com.dameng.dts.cmd.tool.Tool.doExportReport(Tool.java:405)
        at com.dameng.dts.cmd.tool.Tool.exportReport(Tool.java:396)
        at com.dameng.dts.cmd.Command$1.run(Command.java:304)

DTS配置文件

<?xml version="1.0" encoding="UTF-8"?> <TransformTask transformer="13"> <Source type="db" useCustomDriver="false" useDefaultURL="true"> <Server>192.168.11.22</Server> <Port>3306</Port> <AuthType>0</AuthType> <Compress>false</Compress> <User>aaa</User> <Password>123456</Password> <Catalog>test_db</Catalog> </Source> <Destination type="db" useCustomDriver="false" useDefaultURL="true"> <Server>localhost</Server> <Port>5236</Port> <AuthType>0</AuthType> <Compress>false</Compress> <DmType>dm</DmType> <User>SYSDBA</User> <Password>SYSDBA</Password> </Destination> <Mode useDefaultDataTypeMap="true" lengthInChar="1" simple="false" objectNameToUpperCase="true" transformerDefault="false" isQuery="false"> <DBStrategies> <Strategy>TRANSFORM_SCHEMAS</Strategy> </DBStrategies> <Schema source="" destination=""> <Strategies> <Strategy>TRANSFORM_TABLES</Strategy> <Strategy>TRANSFORM_VIEWS</Strategy> </Strategies> </Schema> </Mode> <TransformItems continueWhenError="true" multiThread="true"> <TransformItem fetchSize="500" batchSize="500" bufferSize="2" fetchSize_lob="500" batchSize_lob="500" bufferSize_lob="2" expThread="2" impThread="2" id="0" type="table" sourceSchema="" destSchema="TEST_DB" source="test_table" destination="TEST_TABLE" isDefinitionAutoGenerated="true" pkConflictOpt="1" includeTableStorage="false" includeIndexStorage="false"> <Strategies> <Strategy>CREATE</Strategy> <Strategy>TRANSFORM_UNIQUE_CONSTRAINTS</Strategy> <Strategy>TRANSFORM_INDEXES</Strategy> <Strategy>KEEP_FOREIGN_KEY_PK_SCHEMA</Strategy> <Strategy>TRANSFORM_FOREIGN_KEY</Strategy> <Strategy>IDENTITY_INSERT</Strategy> <Strategy>TRANSFORM_PRIMARY_KEY</Strategy> <Strategy>INSERT_ROW</Strategy> <Strategy>TRANSFORM_CHECK_CONSTRAINTS</Strategy> <Strategy>TRANSFORM_COMMENTS</Strategy> </Strategies> </TransformItem> </TransformItems> <Summay /> </TransformTask>
回答 0
暂无回答
扫一扫
联系客服