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

1. 报错1:

  执行./dts,报错提示:

  1. [yyuser@qy-ggyf-zyl-19 tool]$ ./dts
  2. An error has occurred. See the log file
  3. /home/yyuser/.eclipse/765490010/configuration/1662603058182.log.
  4. [yyuser@qy-ggyf-zyl-19 tool]$ cat /home/yyuser/.eclipse/765490010/configuration/1662603058182.log
  5. !SESSION 2022-09-08 10:10:58.076 -----------------------------------------------
  6. eclipse.buildId=M20110210-1200
  7. java.version=1.8.0_20
  8. java.vendor=Oracle Corporation
  9. BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=zh_CN
  10. Framework arguments: -product com.dameng.dts.product
  11. Command-line arguments: -os linux -ws gtk -arch x86_64 -data /u01/dmdbms/bin/tool/workspace/dts -product com.dameng.dts.product
  12.  
  13. !ENTRY org.eclipse.osgi 4 0 2022-09-08 10:10:58.552
  14. !MESSAGE Application error
  15. !STACK 1
  16. java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
  17. /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
  18. Can't load library: /u01/dmdbms/bin/bin/libswt-pi-gtk.so
  19. /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
  20. no swt-pi-gtk in java.library.path

  日志显示错误要点如下:

  1. java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
  2. /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

  解决办法:

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

2. 报错2

  执行./dts,报错提示:

  1. [yyuser@qy-ggyf-zyl-19 tool]$ ./dts
  2.  
  3. (Dts:9470): GLib-GObject-WARNING **: 10:13:57.470: invalid (NULL) pointer instance
  4.  
  5. (Dts:9470): GLib-GObject-CRITICAL **: 10:13:57.470: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
  6.  
  7. (Dts:9470): Gtk-CRITICAL **: 10:13:57.471: IA__gtk_settings_get_for_screen: assertion 'GDK_IS_SCREEN (screen)' failed
  8.  
  9. (Dts:9470): Gtk-WARNING **: 10:13:57.528: Screen for GtkWindow not set; you must always set
  10. a screen for a GtkWindow before using the window
  11.  
  12. (Dts:9470): Gtk-WARNING **: 10:13:57.528: Screen for GtkWindow not set; you must always set
  13. a screen for a GtkWindow before using the window
  14.  
  15. (Dts:9470): Gdk-CRITICAL **: 10:13:57.528: IA__gdk_screen_get_display: assertion 'GDK_IS_SCREEN (screen)' failed
  16.  
  17. (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_display_get_pointer: assertion 'GDK_IS_DISPLAY (display)' failed
  18.  
  19. (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_screen_get_monitor_at_point: assertion 'GDK_IS_SCREEN (screen)' failed
  20.  
  21. (Dts:9470): Gtk-WARNING **: 10:13:57.529: Screen for GtkWindow not set; you must always set
  22. a screen for a GtkWindow before using the window
  23.  
  24. (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_screen_get_n_monitors: assertion 'GDK_IS_SCREEN (screen)' failed
  25.  
  26. (Dts:9470): Gtk-WARNING **: 10:13:57.529: Screen for GtkWindow not set; you must always set
  27. a screen for a GtkWindow before using the window
  28.  
  29. (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_screen_get_monitor_geometry: assertion 'GDK_IS_SCREEN (screen)' failed
  30.  
  31. (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_screen_get_default_colormap: assertion 'GDK_IS_SCREEN (screen)' failed
  32.  
  33. (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_colormap_get_visual: assertion 'GDK_IS_COLORMAP (colormap)' failed
  34.  
  35. (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_screen_get_default_colormap: assertion 'GDK_IS_SCREEN (screen)' failed
  36.  
  37. (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_screen_get_root_window: assertion 'GDK_IS_SCREEN (screen)' failed
  38.  
  39. (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_screen_get_root_window: assertion 'GDK_IS_SCREEN (screen)' failed
  40.  
  41. (Dts:9470): Gdk-CRITICAL **: 10:13:57.529: IA__gdk_window_new: assertion 'GDK_IS_WINDOW (parent)' failed
  42. #
  43. # A fatal error has been detected by the Java Runtime Environment:
  44. #
  45. # SIGSEGV (0xb) at pc=0x00007fe9a95ac597, pid=9470, tid=140642869528320
  46. #
  47. # JRE version: OpenJDK Runtime Environment (8.0_20-b26) (build 1.8.0_20-b26)
  48. # Java VM: OpenJDK 64-Bit Server VM (25.20-b23 mixed mode linux-amd64 compressed oops)
  49. # Problematic frame:
  50. # C [libgdk-x11-2.0.so.0+0x7b597] gdk_window_enable_synchronized_configure+0x7
  51. #
  52. # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
  53. #
  54. # An error report file with more information is saved as:
  55. # /tmp/hs_err_pid9470.log
  56. #
  57. # If you would like to submit a bug report, please visit:
  58. # http://bugreport.sun.com/bugreport/crash.jsp
  59. # The crash happened outside the Java Virtual Machine in native code.
  60. # See problematic frame for where to report the bug.
  61. #
  62. ./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:

  1. [root@qy-ggyf-zyl-19 tool]# echo $DISPLAY
  2.  
  3. [root@qy-ggyf-zyl-19 tool]# xhost +
  4. -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. Clickhouse基准测试实践

    1.概述 本篇博客将对MySQL.InfluxDB.Clickhouse在写入时间.聚合查询时间.磁盘使用等方面的性能指标来进行比较. 2.内容 比较的数据集,是使用的Clickhouse官网提供的6 ...

  2. Java循环解析

    Java循环解析 while循环(先判断) int i=0; while (i<100){    i++;    System.out.println(i); } DoWhile循环(先执行,后 ...

  3. 配置Windows server dhcp与AD域对接并使用Win1创的用户登录Win2

    创建两台windows_server_2012 创建步骤链接(https://www.cnblogs.com/zhengyan6/p/16338084.html) 注意:所有虚拟机都要在同意网段 配置 ...

  4. linux中awk命令详解(最全面秒懂)

    一:linux中awk命令 1.awk命令简介 AWK 是一种处理文本文件的语言,是一个强大的文本分析工具. 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinber ...

  5. KingbaseES V8R6单实例外部备份故障案例

    案例说明: 在KingbaseES V8R6单实例环境,配置外部备份服务器使用sys_backup.sh物理备份时,出现以下"WAL segment xxx was not archived ...

  6. 【读书笔记】C#高级编程 第二十五章 事务处理

    (一)简介 事务的主要特征是,任务要么全部完成,要么都不完成. (二)概述 事务由事务管理器来管理和协调.每个影响事务结果的资源都由一个资源管理器来管理.事务管理器与资源管理器通信,以定义事务的结果. ...

  7. CSS之垂直水平居中的背后

    最开始,我想说,这个体系有点大,我写的并不好.就当作是一个思路吧,虽然这个思路有点乱.几乎每一个实现方案的背后都是该属性及其组合的原理,每一个都要剖析其规范细节的话,这篇文章绝不会是这样的篇幅,所以每 ...

  8. Mybatis 一级缓存和二级缓存原理区别 (图文详解)

    Java面试经常问到Mybatis一级缓存和二级缓存,今天就给大家重点详解Mybatis一级缓存和二级缓存原理与区别@mikechen Mybatis缓存 缓存就是内存中的数据,常常来自对数据库查询结 ...

  9. 在Winform开发中,我们使用的几种下拉列表展示字典数据的方式

    在Winform开发中中,我们为了方便客户选择,往往使用系统的字典数据选择,毕竟选择总比输入来的快捷.统一,一般我们都会简单封装一下,以便方便对控件的字典值进行展示处理,本篇随笔介绍DevExpres ...

  10. 第六章:Django 综合篇 - 15:Django与缓存

    我们都知道Django建立的是动态网站,正常情况下,每次请求过来都经历了这样一个过程: 接收请求 -> url路由 -> 视图处理 -> 数据库读写 -> 视图处理 -> ...