在达梦数据库服务端的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. Apple Music 免费试用 2 个月

    下载地址:https://redeem.apple.com/am-genshin-impact-2mo-zh-cn?origin=&locale=zh-CN 使用指南 打开链接,点击" ...

  2. 「雅礼集训 2017 Day2」线段游戏(线段树懒标记“启发式下传”,李超树)

    题面 题解 加入一条线段,可以把它转化为在[L,R]区间内加一条线 y=ax+b (如果原线段与y轴平行,就相当于在{x1}处加一条线 y=max(y1,y2)) 我们可以把它加到线段树上,线段树上每 ...

  3. windows下Inno Setup打包

    基于inno setup的windos打包,主要脚本语言inno script.下载地址:https://jrsoftware.org/isdl.php相关打包教程:https://blog.csdn ...

  4. redis缓存恢复-2022新项目

    一.业务场景 Web项目开发中,为了加快数据处理的的效率,大量的使用了各种缓存,缓存技术主要使用的是redis.导致出现的小小的 问题是对redis缓存形成了一个比较强的依赖,并且有的数据暂时是没有同 ...

  5. js函数( 普通函数、箭头函数 ) 内部this的指向

    - 普通函数   | 具名普通函数.匿名普通函数,在不作为对象的属性值的情况下,其内部的 this 总是指向代码运行环境下的全局对象 ( 例如,浏览器中的 window ). 示例: (functio ...

  6. Android平台RTMP/RTSP播放器开发系列--解码和绘制

    本文主要抛砖引玉,粗略介绍下Android平台RTMP/RTSP播放器中解码和绘制相关的部分(Github). 解码 提到解码,大家都知道软硬解,甚至一些公司觉得硬解码已经足够通用,慢慢抛弃软解了,如 ...

  7. 【读书笔记】C#高级编程 第十四章 内存管理和指针

    (一)后台内存管理 1.值数据类型 Windows使用一个虚拟寻址系统,该系统把程序可用的内存地址映射到硬件内存中的实际地址,该任务由Windows在后台管理(32位每个进程可使用4GB虚拟内存,64 ...

  8. 华南理工大学 Python第4章课后小测-2

    1.(单选)下面程序的输出结果是: for c in "ComputerScience": if c=="S": continue print(c,end=&q ...

  9. 004-GoingDeeperConvolutions2014(googLeNet)

    Going Deeper with Convolutions #paper 1. paper-info 1.1 Metadata Author:: [[Christian Szegedy]], [[W ...

  10. Python Client API文档

    官网文档地址:http://docs.minio.org.cn/docs/master/python-client-api-reference 初使化MinIO Client对象 from minio ...