在达梦数据库服务端的tool目录下执行./dts来启动迁移工具,迁移工具启动前出现报错,以下提供几种遇到问题的解决办法:

1. 报错1:

  执行./dts,报错提示:

[yyuser@qy-ggyf-zyl-19 tool]$ ./dts
An error has occurred. See the log file
/home/yyuser/.eclipse/765490010/configuration/1662603058182.log.
[yyuser@qy-ggyf-zyl-19 tool]$ cat /home/yyuser/.eclipse/765490010/configuration/1662603058182.log
!SESSION 2022-09-08 10:10:58.076 -----------------------------------------------
eclipse.buildId=M20110210-1200
java.version=1.8.0_20
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=zh_CN
Framework arguments: -product com.dameng.dts.product
Command-line arguments: -os linux -ws gtk -arch x86_64 -data /u01/dmdbms/bin/tool/workspace/dts -product com.dameng.dts.product !ENTRY org.eclipse.osgi 4 0 2022-09-08 10:10:58.552
!MESSAGE Application error
!STACK 1
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
/u01/dmdbms/bin/bin/libswt-pi-gtk-3659.so: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
Can't load library: /u01/dmdbms/bin/bin/libswt-pi-gtk.so
/u01/dmdbms/bin/tool/configuration/org.eclipse.osgi/bundles/92/1/.cp/libswt-pi-gtk-3659.so: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory
no swt-pi-gtk in java.library.path

  日志显示错误要点如下:

java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
/u01/dmdbms/bin/bin/libswt-pi-gtk-3659.so: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

  解决办法:

[root@qy-ggyf-zyl-19 ~]# yum install gtk2 libXtst xorg-x11-fonts-Type1

2. 报错2

  执行./dts,报错提示:

[yyuser@qy-ggyf-zyl-19 tool]$ ./dts

(Dts:9470): GLib-GObject-WARNING **: 10:13:57.470: invalid (NULL) pointer instance

(Dts:9470): GLib-GObject-CRITICAL **: 10:13:57.470: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(Dts:9470): Gtk-CRITICAL **: 10:13:57.471: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed

(Dts:9470): Gtk-WARNING **: 10:13:57.528: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window (Dts:9470): Gtk-WARNING **: 10:13:57.528: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window (Dts:9470): Gdk-CRITICAL **: 10:13:57.528: IA__gdk_screen_get_display: assertion 'GDK_IS_SCREEN (screen)' failed (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_display_get_pointer: assertion 'GDK_IS_DISPLAY (display)' failed (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_screen_get_monitor_at_point: assertion 'GDK_IS_SCREEN (screen)' failed (Dts:9470): Gtk-WARNING **: 10:13:57.529: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_screen_get_n_monitors: assertion 'GDK_IS_SCREEN (screen)' failed (Dts:9470): Gtk-WARNING **: 10:13:57.529: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_screen_get_monitor_geometry: assertion 'GDK_IS_SCREEN (screen)' failed (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_screen_get_default_colormap: assertion 'GDK_IS_SCREEN (screen)' failed (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_colormap_get_visual: assertion 'GDK_IS_COLORMAP (colormap)' failed (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_screen_get_default_colormap: assertion 'GDK_IS_SCREEN (screen)' failed (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_screen_get_root_window: assertion 'GDK_IS_SCREEN (screen)' failed (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_screen_get_root_window: assertion 'GDK_IS_SCREEN (screen)' failed (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_window_new: assertion 'GDK_IS_WINDOW (parent)' failed
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007fe9a95ac597, pid=9470, tid=140642869528320
#
# JRE version: OpenJDK Runtime Environment (8.0_20-b26) (build 1.8.0_20-b26)
# Java VM: OpenJDK 64-Bit Server VM (25.20-b23 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libgdk-x11-2.0.so.0+0x7b597] gdk_window_enable_synchronized_configure+0x7
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /tmp/hs_err_pid9470.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
./dts: line 17: 9470 Aborted "$JAVA_HOME/bin/java" -Dswt.library.path="$DM_HOME/bin" -DBMJ=true -XX:+PerfDisableSharedMem -DDM_HOME="$DM_HOME" -Djava.library.path="$DM_HOME/bin" -Ddameng.log.file="$TOOL_HOME/log4j.xml" -DeclipseHome="$TOOL_HOME" -Dosgi.nl="$INSTALL_LANGUAGE" -Ddameng.dts.config.file="$TOOL_HOME/dts.xml" -Ddameng.dts.drivers.dir="$TOOL_HOME/dropins/com.dameng/plugins/com.dameng.jdbc.drivers" -Ddameng.dts.explorer.root="$TOOL_HOME/workspace/local/dts" -Ddameng.isql.explorer.root="$TOOL_HOME/workspace/local/isql" -Dapp.name=dts -jar "$TOOL_HOME/plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar" -os linux -ws gtk -arch x86_64 -showsplash "$TOOL_HOME/dts.bmp" -data "$TOOL_HOME/workspace/dts" -product com.dameng.dts.product -name Dts

  

根据上述报错“Screen for GtkWindow not set; you must always set a screen for a GtkWindow before using the window”提示的是图形化界面窗口设置异常,即问题属于图形化界面调用异常;

在Linux/Unix类操作系统上的GUI应用程序使用X Window系统(X Window System),它旨在允许多个用户使用窗口化的应用程序通过网络访问计算机。 DISPLAY环境变量用来设置将图形显示到何处。

然后我们确认当前环境设置的环境变量DISPLAY:

[root@qy-ggyf-zyl-19 tool]# echo $DISPLAY

[root@qy-ggyf-zyl-19 tool]# xhost +
-bash: xhost: command not found

根据上面命令执行情况可以看出,root用户下DISPLAY变量为空,即不生效了,xhost + 这个命令,是允许别的用户启动的图形程序将图形显示在当前屏幕上。接下来我们需要设置DISPLAY变量和安装xhost命令

设置DISPLAY变量:export DISPLAY=:0.0

安装xhost命令:yum -y install xhost。随后执行xhost +

注意:需要两个用户配置, 普通用户配置:export DISPLAY=:0.0,root执行:xhost +

linux系统启动达梦迁移工具失败解决办法的更多相关文章

  1. linux文件过多导致移动失败解决办法

    1. cd /sdzw/data/infogateftp/srcdata/ibp/account_rulelog ls | xargs  -t  -I  {}  mv {} /sdzw/data/in ...

  2. linux下编译出现空间不足解决办法

    linux下编译出现空间不足解决办法 编译内核出现问题: AS      .tmp_kallsyms1.o .tmp_kallsyms1.S:2: fatal error: when writing ...

  3. Mysql文件太大导入失败解决办法总结

    Mysql文件太大导入失败解决办法总结 在使用phpmyadmin导入数据库的时候可能会碰到由于数据库文件太大而无法导入的问题! 英文提示如下:File exceeds the maximum all ...

  4. 在ASP.net中的UpdatePanel,弹窗失败解决办法

    原文:在ASP.net中的UpdatePanel,弹窗失败解决办法 最开始我用: Response.Write("<script>alert('和哈呵呵呵呵呵呵!')</s ...

  5. myeclipse2017破解失败解决办法

    最近,笔者安装的myeclipse2017破解出了问题,破解本来是很简单的事,就是几步而已,但是一直出问题,现在安利一波myeclipse2017版破解失败解决办法.诸如下图:()因为笔者已经破解好了 ...

  6. 新装Linux系统没有网卡驱动的解决办法和步骤

    Linux下查看网卡驱动和版本信息 - CSDN博客 https://blog.csdn.net/guyan1101/article/details/72770424/ 检查网卡是否加载 - Linu ...

  7. python 安装pytorch 及 安装失败解决办法

    python 安装pytorch 及 安装失败解决办法 [转] pytorch安装失败解决办法 [转] 一分钟在win10终端成功安装pytorch pytorch 的安装方法有2种,一种是pip安装 ...

  8. c++调用动态库失败解决办法

    c++调用动态库失败解决办法 之前写好的程序今天早上过来发现在服务器上出错了,于是就各种查问题,整整一个早上外加下午两个小时都在查这个问题,最终被我找到了问题: 在程序中我发现LoadLibrary( ...

  9. Hive中将文件加载到数据库表失败解决办法

    Hive中将文件加载到数据库表失败解决办法(hive创建表失败) 遇到的问题: FAILED: Execution Error, return code 1 from org.apache.hadoo ...

随机推荐

  1. Matery主题添加Pjax

    如何给matery主题添加Pjax? Pjax优点 1.减轻服务端压力 2.按需请求,每次只需加载页面的部分内容,而不用重复加载一些公共的资源文件和不变的页面结构,大大减小了数据请求量,以减轻对服务器 ...

  2. C#基础_类与对象的关系

    类不占内存,对象占内存

  3. HTTP协议,会话跟踪,保存作用域,servlet类跳转

    解决post的编码问题,防止中文乱码 request.setCharacterEncoding("utf-8"); HTTP协议: (1)由Request(请求)和Response ...

  4. 超详细 VS Code 配置C/C++教程

    写在前面 如果您使用的电脑内存 \(\leq 4 \texttt{GB}\),建议您使用Dev-C++,否则会到时内存占用爆满,体验感不佳. 网上的很多教程都不够详细,这里我把每一步.每一个操作都详细 ...

  5. 第六章 部署node运算节点服务

    一.部署Kubelet 1.1 集群规划 主机名 角色 IP hdss7-21 kubelet 10.4.7.21 hdss7-22 kubelet 10.4.7.22 注意:部署以10.4.7.21 ...

  6. KingbaseES V8R3集群运维案例之---用户自定义表空间管理

    ​案例说明: KingbaseES 数据库支持用户自定义表空间的创建,并建议表空间的文件存储路径配置到数据库的data目录之外.本案例复现了,当用户自定义表空间存储路径配置到data下时,出现的故障问 ...

  7. KingbaseES 行列转换函数

    关键字:    行专列,列转行, pivot, unpivot 行列转换是在数据分析中经常用到的一项功能,KingbaseES从V8R6C3B0071版本开始通过扩展插件(kdb_utils_func ...

  8. KingbaseES 自增列三种方式

    KingbaseES中3种自增长类型sequence,serial,identity的区别: 对象 显示插入 显示插入后更新最大值 清空表后是否重置 是否跟事务一起回滚 多对象共享 支持重置 出现错误 ...

  9. Java八股文纯享版——篇②:并发编程

    注: 1.笔记为个人归纳整理,尽力保证准确性,如有错误,恳请指正 2.写文不易,转载请注明出处 3.本文首发地址 https://blog.leapmie.com/archives/c02a6ed1/ ...

  10. 入门Python,看完这篇就行了!

    转载请注明出处️ 作者:测试蔡坨坨 原文链接:caituotuo.top/3bbc3146.html 你好,我是测试蔡坨坨. 众所周知,Python语法简洁.功能强大,通过简单的代码就能实现很多实用. ...