在达梦数据库服务端的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. 在 IconFont 上获取图标资源的操作方法与感悟

    如何在 IconFont 上获取图标资源 阿里巴巴矢量图标库网站(https://www.iconfont.cn/)上提供了非常丰富的图标资源,包括 SVG.AI.PNG.字体图标等格式.使用该网站提 ...

  2. k8s-Pod调度

    Deployment全自动调度 NodeSelector定向调度 NodeAffinity亲和性 PodAffinity-Pod亲和性与互斥性 污点和容忍度 DaemonSet Job CronJob ...

  3. (最简单详细)IronPython下载、安装及简单使用

    说实话,对于我这种小白,在网上找个IronPython找的很费劲,学会操作之后,直接整个随笔,供新手参考.前提是现在你应该有VS了 (1)找到IronPython的网站 很多人肯定就按照习惯搜索,Ir ...

  4. MQ系列5:RocketMQ消息的发送模式

    MQ系列1:消息中间件执行原理 MQ系列2:消息中间件的技术选型 MQ系列3:RocketMQ 架构分析 MQ系列4:NameServer 原理解析 在之前的篇章中,我们学习了RocketMQ的原理, ...

  5. oracle数据泵导入导出数据

    expdp 导出 1.管理员用户登入sqlplus sqlplus system/manger@pdb1 2.创建逻辑导出目录 create directory dpdata as '/home/or ...

  6. K8S Pod及其控制器

    Pod K8S里能够运行的最小逻辑单元,1个Pod可以运行多个容器 Pod 控制器 Pod控制器是Pod启动的一种模版,用来保证在K8S中启动的Pod始终按照人们的预期运行(副本数,生命周期.健康状态 ...

  7. ubuntu下vscode安装go插件失败解决办法

    go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.io,direct go env -w GOSUMDB=gosum.io+ce6e ...

  8. 接入Twitter和Facebook分享踩坑记录

    准备工作 1.首先需要在HTML的head添加下述meta标签内容,在分享时,Twitter和Facebook会爬取该网站页面的meta内容,然后生成分享卡片. 2.按照下述配置完成后,需要把内容发布 ...

  9. 022年9月12日 学习ASP.NET Core Blazor编程系列三——实体

    学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系 ...

  10. Latex中也能展示动态图?

    技术背景 在学术领域,很多文档是用Latex做的,甚至有很多人用Latex Beamer来做PPT演示文稿.虽然在易用性和美观等角度来说,Latex Beamer很大程度上不如PowerPoint,但 ...