Q1:安装数据库软件时报错
用图形界面形式安装数据库遇到报错,显示报错信息如下:
[dmdba@localhost mnt]$ ./DMInstall.bin
解压安装程序..........
No protocol specified
Exception in thread "main" org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
at org.eclipse.swt.SWT.error(SWT.java:4109)
at org.eclipse.swt.widgets.Display.createDisplay(Display.java:902)
at org.eclipse.swt.widgets.Display.create(Display.java:890)
at org.eclipse.swt.graphics.Device.<init>(Device.java:154)
at org.eclipse.swt.widgets.Display.<init>(Display.java:499)
at org.eclipse.swt.widgets.Display.<init>(Display.java:490)
at org.eclipse.swt.widgets.Display.getDefault(Display.java:1693)
at org.eclipse.swt.widgets.Shell.<init>(Shell.java:260)
at org.eclipse.swt.widgets.Shell.<init>(Shell.java:358)
at org.eclipse.jface.window.Window.createShell(Window.java:487)
at org.eclipse.jface.window.Window.create(Window.java:430)
at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1089)
at org.eclipse.jface.window.Window.open(Window.java:790)
at com.dameng.install.ui.MainApplication.run(Unknown Source)
at com.dameng.install.ui.MainApplication.main(Unknown Source)
[dmdba@localhost mnt]$
原因是当前操作系统的登录用户应该为非dmdba用户,如果在当前会话中启用图形界面需要将图形界面权限放开。
问题解决:
[ERROR] No more handles [gtk_init_check() failed]
[root@localhost dm8]# xhost +
[root@localhost dm8]# echo $DISPLAY
:0.0
[root@localhost dm8]# su - dmdba
[dmdba@localhost ~]$ export DISPLAY=:0.0
Q2:权限不足:
[dmdba@localhost root]$ su - dmdba
密码:
上一次登录: 五 6月 16 05:04:22 CST 2023 pts/0 上
su: 警告:无法更改到 /home/dmdba 目录: 权限不够
-bash: /home/dmdba/.bash_profile: 权限不够
问题解决:
[dmdba@localhost root]$ su - root
密码:
上一次登录: 五 6月 16 05:03:19 CST 2023 pts/0 上
[root@localhost ~]# chmod 755 /home/dmdba
Q3:安装数据库提供tmp空间不足
问题解决:
扩展tmp 空间(要在root账户下)
mount -o remount,size=4G /tmp
Q4:修改tmp空间后并不生效
问题解决:
需要重启数据库服务才能生效
systemctl restart DmServicePROD.service
Q5:DM数据库遇到
“无效的表名或视图名”报错,在操作DM时遇到报错,错误信息提示为“无效的表或视图名”。无论是查询tab2还是TAB2都是报错。
问题原因:出现这种情况大概率是表名(或是字段名)的大小写问题,这一点需要注意,因为dmserver处理的字段名都是默认大写,无论是查询还是新建,服务器默认都转为大写储存。当时这种机制设计是为了用户在创建和访问数据库对象时,不需要考虑对象名称的大小写问题,统一用大写的方式处理。若需要用小写或如驼峰式的方式命名,则需要用双引号将需要以原本的方式保存的字符引用在内。
而如果运用管理工具进行对象创建或者修改的时候会将对象名以双引号引用,这时创建的对象名是以原本的大小写形式存储下来的,为了是使得用户输入的形式与实际储存形式一致。在这种情况下会出现如果在管理工具的环境下创建的名称若是以小写输入,会以小写的形式存储下来,而再用命令行进行查询的时候若以相同的小写形式查询,则会出现“无效的表或视图名”的错误出现。
问题解决:在管理界面新建表或是视图或是字段时,使用大写字母。查询时,表名为大写字母例如:select * from TAB2。或是如果确实需要使用小写的表名,可以加上双引号。
文章
阅读量
获赞