1、导入导出时提示编码方式不一致问题

       在通过dimp工具还原dmp备份文件的时候,提示导入导出编码方式不一致问题,导出dmp的文件也是同一个库备份,按理来说不可能出现数据库字符集不匹配的问题。

达梦修改compatibleMode 达梦修改字符集编码_database

         查看Linux操作系统的字符集发现,系统的字符集为UFT-8,而数据库的字符集GB18030,所以dmp文件的字符集也就是GB18030。修改linux系统的字符集为GB18030和数据库一致,就可以成功导入。 

达梦修改compatibleMode 达梦修改字符集编码_图形界面_02

达梦修改compatibleMode 达梦修改字符集编码_图形界面_03

联机备份时,提示收集到的归档日志不连续

       达梦DM8的数据库版本中,数据库改为归档模式后,联机(热备)做全备的时候,提示收集到的归档日志不连续。

2.1、提示信息

达梦修改compatibleMode 达梦修改字符集编码_database_04

2.2、归档修复:

       归档修复要使用dmrman工具,在修复前要关闭数据库服务,不然会提示“服务器正在运行或者存在其他进程正在操作同一个库”的错误:

[dmdba@localhost ~]$ /dm/bin/DmServiceDMSERVER stop
[dmdba@localhost ~]$ cd /dm/bin
[dmdba@localhost ~]$ ./dmrman
RMAN> repair archivelog database '/dm8/data/DAMENG/dm.ini';
repair archivelog database '/dm8/data/DAMENG/dm.ini';
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[32946], file_lsn[32946]
repair archive log successfully.
repair time used: 212.844(ms)
time used: 213.924(ms)

2.3、备份验证:

SQL> backup database full backupset '/dm/backup/full-bak'; 
操作已执行
已用时间: 876.536(毫秒). 执行号:900.

3、安装或调用系统工具时,出现以下相关报错

3.1、报错现象:

在Linux操作系统中,使用图形界面形式安装数据库或者调用控制台、数据迁移、管理工具等工具的时候,出现以下报错信息:

[dmdba@localhost mnt]$ ./DMInstall.bin
解压安装程序..........
No protocol specified
Exception in thread "main" org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
......省略......
[dmdba@localhost mnt]$

3.2、问题原因

当前操作系统的登录用户应该为非dmdba用户,如果在当前会话中启用图形界面需要将图形界面权限放开。

3.3、解决方法

使用root用户查看DISPLAY变量设置情况,如果echo $DISPLAY值为空,使用命令xhost +,确保结果出现:access control disabled, clients can connect from any host,参考root用户的DISPLAY值设置dmdba用户的变量,将export DISPLAY=:0(以实际为主)写入到.bash_profile文件中,并source .bash_profile使环境变量生效,确保dmdba中echo $DISPLAY与root中一致,且使用xhost +结果显示:access control disabled, clients can connect from any host。

3.4、延伸说明

      xhost是用来控制X server访问权限,通常当你从A机器登陆到B机器上运行B机器上的应用程序时, 做为应用程序来说,A机器是client,但是作为图形来说,是在A机器上显示的,需要使用A机器的X server,所以A机器是server。因此在登陆到B机器前,需要在A机器上运行xhost +,来使其它用户能够访问A机器的Xserver。