注册
达梦数据库学习心得
培训园地/ 文章详情 /

达梦数据库学习心得

云朵 2023/03/03 1141 0 0

三天的达梦数据库DCA培训记录
DCA 考试练习笔记
数据库安装(图形化)
规划安装用户和用户组
#用root
[root@localhost /]# groupadd dinstall
[root@localhost /]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
[root@localhost /]# passwd dmdba
L_yun807902
规划安装目录以及目录权限
#用root
[root@localhost /]# ls -ld /dm8
drwxr-xr-x 5 1001 dinstall 41 2?? 28 13:51 /dm8
[root@localhost /]# chown dmdba:dinstall /dm8
[root@localhost /]# chmod 755 /dm8
安装前设置参数
[root@localhost /]# ls -ld /dm8
drwxr-xr-x 5 dmdba dinstall 41 2?? 28 13:51 /dm8
[root@localhost /]#修改安全连接数
[root@localhost /]# vi /etc/security/limits.conf
#增加
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
#扩充tmp磁盘空间
#使用root用户执行
mount –t tmpfs –o size=2048m tmpfs /tmp
挂载iso镜像文件
[root@localhost /]#mkdir /mnt/dm
[root@localhost /]# mount /opt/dm8_20220525_x86_rh6_64.iso /mnt/dm
[root@localhost /]# su - dmdba
[dmdba@localhost /]$ cd /mnt/dm
[dmdba@localhost dm]$ ll
总用量 931825
-r-xr-xr-x 1 root root 2802237 5?? 25 2022 ‘DM8 Install.pdf’
-r-xr-xr-x 1 root root 951385360 5?? 25 2022 DMInstall.bin

设置图像化界面显示
[dmdba@localhost dm]$ su root
密码:
[root@localhost dm]# echo $DISPLAY
:1.0
[root@localhost dm]# xhost +
access control disabled, clients can connect from any host
[root@localhost dm]# su - dmdba
[dmdba@localhost ~]$ export DISPLAY=:1.0
[dmdba@localhost ~]$ xhost +
access control disabled, clients can connect from any host
[dmdba@localhost ~]$ cd /mnt/dm
#执行命令行可视化安装
[dmdba@localhost dm]$ ./DMInstall.bin –i
#切换root
[root@localhost dm8]# /dm8/script/root/root_installer.sh
第五部分 :创建数据库及数据库实例管理
一、DM数据库配置助手图形化界面方式创建数据库
运行dbca.sh创建数据库
[dmdba@localhost dm]$ cd /dm8/tool
#可视化操作
[dmdba@localhost tool]$ ./dbca.sh
Sysdbadm8
#用root用户执行下面脚本
[root@localhost dm8]# mv /dm8/bin/DmServiceDMSERVER.service /usr/lib/systemd/system/DmServiceDMSERVER.service
[root@localhost dm8]# systemctl enable DmServiceDMSERVER.service
Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service ?? /usr/lib/systemd/system/DmServiceDMSERVER.service.
[root@localhost dm8]# systemctl start DmServiceDMSERVER.service
#安装完以后用root 执行下面的脚本重启数据库
[root@localhost dm8]# systemctl restart DmServiceDMSERVER.service
DM客户端的使用(./manager 达梦的可视化效果还是很好的,可以实现全部操作的可视化了)

二、dminit 命令行创建数据库实例
[dmdba@localhost dm8]$ cd /dm8/bin
[dmdba@localhost bin]$ ./dminit path=/dm8/data db_name=DMTEST instance_NAME=DMTESTSVR sysdba_pwd=dameng123 port_num=5238 EXTENT_SIZE=16 PAGE_SIZE=8 CASE_SENSITIVE=Y LOG_PATH=/dm8/data/dmtest/data01.log log_size=500 log_path=/dm8/data/DAMENG/data02.log LOG_SIZE=500 LOG_PATH=/dm8/data/DAMENG/data03.log log_size=500

initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2023-05-25
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL

log file path: /dm8/data/dmtest/data01.log

log file path: /dm8/data/DAMENG/data02.log

log file path: /dm8/data/DAMENG/data03.log

write to dir [/dm8/data/DMTEST].
create dm database success. 2023-02-28 15:39:02
DM数据库配置助手注册数据库服务
[dmdba@localhost dm8]$ cd /dm8/tool
[dmdba@localhost tool]$ ./dbca.sh

[root@localhost dm8]# mv /dm8/bin/DmServiceDMTESTSVR.service /usr/lib/systemd/system/DmServiceDMTESTSVR.service
[root@localhost dm8]# systemctl enable DmServiceDMTESTSVR.service
Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMTESTSVR.service ?? /usr/lib/systemd/system/DmServiceDMTESTSVR.service.
[root@localhost dm8]# systemctl start DmServiceDMTESTSVR.service

—disql命令行方式连接数据库
[dmdba@localhost tool]$ cd …
[dmdba@localhost dm8]$ cd bin
[dmdba@localhost bin]$ ./disql sysdba@sysdbadm8:5238
Sysdba
Sysdbadm8

第六部分 :DM的体系结构
Dm数据库参数的类型
Read only 手动参数,不能通过sql命令或函数修改:只能通过dm.ini文本文件修改此参数(需要重启数据库才能生效)
Sys:动态(系统级)参数
Session:动态会话级参数
In file:静态参数,不能修改内存中的值,可以通过sql命令或函数修改,但需重启

SQL> select distinct para_type from v$dm_ini;

行号 PARA_TYPE


1 READ ONLY
2 SYS
3 IN FILE
4 SESSION
参数说明scope:修改范围(0:memory;1:both;2:spfile)
修改静态参数
SQL> sp_set_para_value(2,‘COMPATIBLE_MODE’,0);
修改动态参数:
SQL> sp_set_para_value(1,‘LIST_TABLE’,0);
使用alter system set 语句修改(可以用来修改静态和动态参数,但静态参数修改后需要重启数据库才能生效)
部分兼容ORACLE
alter system set ‘COMPATIBLE_MODE’=2 spfile;
修改数据缓冲区大小为500M
alter system set ‘BUFFER’=500 spfile;
修改临时表空间的初始值
alter system set ‘TEMP_SIZE’=100 spfile;

第七部分 : 表空间管理

创建表空间

#用disql命令行方式连接数据库
[dmdba@localhost tool]$ cd …
[dmdba@localhost dm8]$ cd bin
[dmdba@localhost bin]$ ./disql sysdba@sysdbadm8:5238
Sysdba
Sysdbadm8

1 #创建表空间,默认自动扩展了
2 Create tablespace tbsprod DATAFILE ‘/dm8/data/DMTEST3/tbs/tbsprod01.dbf’ size 32;
3
4 #修改表空间的名字
5 alter tablespace TBSPROD rename to TBSPRODTEST;
6
7 #更改表空间文件大小
8 Alter tablespace “TBSPROD” resize datafile ‘/dm8/data/DMTEST3/tbs/tbsprod02.dbf’ to 64;
9 alter TABLESPACE TBSPROD ADD DATAFILE '/dm8/data/DMTEST3/tbs/tbsprod02.dbf’size 32;
10
11 #添加数据文件
12 alter tablespace “TBSPROD” offline;
13 alter tablespace “TBSPROD” rename datafile ‘/dm8/data/DMTEST3/tbs/tbsprod01.dbf’ to ‘/dm8/data/DMTEST3/tbsprod01.dbf’;
14 alter tablespace “TBSPROD” online;
15 #修改表空间数据文件的位置
16 alter TABLESPACE TBSPROD DATAFILE ‘/dm8/data/DMTEST3/tbs/tbsprod02.dbf’ AUTOEXTEND off;

17 #修改为不自动扩展
18 alter TABLESPACE TBSPROD DATAFILE ‘/dm8/data/DMTEST3/tbs/tbsprod02.dbf’ AUTOEXTEND on NEXT 2 maxsize 1024;
19 #开启自动扩展,指定范围
20
21 Select * from DBA_DATA_FILES;#查看数据文件
22 select * from v$tablespace; #查看存在的表空间
23 Select * from v$huge_tablespace;#查看大表空间

SQL>Create tablespace “DATEST” datafile ‘/dm8/data/DAMENG/DATEST01.DBF’ size 64
autoextend on next 2 maxsize 10240, ‘/dm8/data/DAMENG/DATEST02.DBF’ size 64 autoextend on next 2 maxsize 10240 CACHE = NORMAL;

SQL> alter tablespace datest offline;
SQL> alter tablespace datest rename datafile ‘DATEST01.DBF’ TO ‘/dm8/data/DM/DATEST01.DBF’;
SQL> alter tablespace datest rename datafile ‘DATEST02.DBF’ TO ‘/dm8/data/DM/DATEST02.DBF’;
SQL> alter tablespace datest online;
注意事项,表空间创建要在DAMENG 下 文件要在DAMENG 下
示例:可以不用命令,直接使用manager图形界面设置

第八部分:模式对象管理创建用户:

DM 中一个用户可以拥有多个模式,一个模式只能归属于一个用户。
Oracle 用户和模式是一对一,DM 可以一对多。
创建用户,默认会创建一个同名的模式,也可以单独创建模式。默认情况下,用户查询同名模式下的对象。
9.1创建用户

SQL> create user hrtest IDENTIFIED by dameng123;
SQL> grant create table to hrtest;
SQL> grant resource,public to hrtest;
SQL> grant select on dmhr.department to hrtest;
SQL> conn hrtest/“dameng123”
9.2创建角色
SQL> select * from dba_roles;
SQL> create role r1;
SQL> grant create table to r1;
SQL> grant r1 to hrtest;
9.3 模式对象
SQL> create schema hrtest01 AUTHORIZATION HRTEST;
2 /
create table hrtest01.t_test(id int, name varchar(20));

1 在模式下,可创建表,修改表,增加外键,索引 , 视图。。。。(语句与oracle基本类似)

#创建表:
create table t_usertest(
userid int,
username varchar(20) )tablespace tbs;
#修改字段:
alter table t_usertest modify username not null;
#添加字段:
alter table t_usertest add phonenumber varchar(30) unique ;
alter table t_usertest add sex bit;
alter table t_usertest add email varchar(20);
#删除字段:
alter table t_usertest drop column email;

#外键(引用的是另一张表的主键):
create table t_emp
(emp_id int constraint pk_emp_empid primary key,
emp_name varchar(20),
dept_id int );
9.4 唯一性约束

select * from sysobjects t where t.“TYPE$” = ‘SCH’;
select a.id,schid,a.NAME schnama,b.id userid,b.name username from sysobjects a,sys.sysobjects b where a.“TYPE$” = ‘SCH’ and a.pid=b.id;

create table hrtest01.t_ptable
(
pid int,
pname varchar(20),
sex bit,
createdatetime datetime default sysdate,
createdate datetime default sysdate,
createtime time default sysdate
);

alter table hrtest01.T_PTABLE add CONSTRAINT pk_ptab_pid PRIMARY KEY (pid);
alter table hrtest01.t_ptable modify createdatetime not null;
alter table hrtest01.t_ptable add CONSTRAINT uk_ptab_pname unique(pname);

select * from sys.DBA_CONSTRAINTS t where t.OWNER=‘HRTEST01’;
select * from sys.DBA_CONS_COLUMNS t where t.OWNER=‘HRTEST01’;
select * from SYS.DBA_TAB_COLUMNS t WHERE t.OWNER=‘HRTEST01’;
select * from SYS.“$PARAMETER” t where t.name =‘PK_WITH_CLUSTER’;
create table hrtest01.t_childtab
(
childid int,
childname varchar(30),
pid int,
salary int);

alter table hrtest01.t_childtab  add CONSTRAINT fk_childtab_pid FOREIGN KEY (pid) REFERENCES hrtest01.t_ptable(pid);
alter table HRTEST01.T_CHILDTAB add CONSTRAINT ck_child_salary CHECK(salary >=2800);

insert into hrtest01.T_PTABLE(pid,T_PTABLE.PNAME) values (1,'aa');
	insert into hrtest01.T_PTABLE(pid,T_PTABLE.PNAME) values (2,'aa');

14 -------------------------------
alter table HRTEST01.T_PTABLE MODIFY sex not null;
#非空约束

insert into HRTEST01.T_CHILDTAB(childid,T_CHILDTAB.CHILDNAME,pid)
	values (1,'test1',1);

#外键约束
insert into HRTEST01.T_CHILDTAB(childid,T_CHILDTAB.CHILDNAME,pid,salary)
values (1,‘test1’,1,2000);
check约束

导入导出表的时候,需要约束禁用
alter table HRTEST01.T_CHILDTAB DISABLE CONSTRAINT fk_childtab_pid;

#创建视图
15 Create OR
16 create view hrtest.v_emp
as
select a.EMPLOYEE_ID, a.EMPLOYEE_NAME, a.EMAIL, a.PHONE_NUM
from dmhr.employee a
where a.DEPARTMENT_ID = 1001;
create or REPLACE view hrtest.v_emp
as
select a.EMPLOYEE_ID, a.EMPLOYEE_NAME, a.EMAIL, a.PHONE_NUM, a.SALARY
from dmhr.employee a
where a.DEPARTMENT_ID = 1001;
select * from hrtest.v_emp ;
创建复杂视图:
create or REPLACE view hrtest.v_emp_salary
as
92 / 119
select a.DEPARTMENT_ID, sum(A.SALARY) SUM_SALARY
from dmhr.employee a
group by a.DEPARTMENT_ID
having sum(A.SALARY) > 100000;
select * from hrtest.v_emp_salary ;
17 --排行榜视图:
create view hrtest.v_salarytop as
select emp.employee_name,
dept.department_name,
emp.salary,
rank()over(order by salary desc) rank,
dense_rank()over(order by salary desc) dense_rank,
row_number()over(order by salary desc) rownumber
from dmhr.employee emp, dmhr.department dept
where emp.department_id = dept.department_id(+);
select * from hrtest.v_salarytop;
`/dm8/data/sql/data2.sql

第九部分:归档管理
管理重做日志文件
重做日志包含联机日志和归档日志(数据库在归档模式下才会产生归档日志文件)
数据字典:
SQL> select * from v$rlogfile;
SQL> select * from v$rlog;
SQL> alter database RESIZE LOGFILE ‘/dm8/data/DAMENG/DAMENG01.log’ TO 300;
SQL> alter database RESIZE LOGFILE ‘/dm8/data/DAMENG/DAMENG02.log’ TO 300;
添加联机日志
SQL> alter database add LOGFILE ‘/dm8/data/DAMENG/DAMENG03.log’ size 300;
修改联机日志文件路径
迁移联机日志文件
SQL> alter database mount;
SQL> alter database rename LOGfile ‘DAMENG01.log’ TO ‘/dm8/data/DM/REDO/DAMENG01.log’;
alter database rename LOGfile ‘DAMENG01.log’ TO ‘/dm8/data/DM/REDO/DAMENG01.log’;
SQL> alter database rename LOGFile ‘DAMENG01.LOG’ TO ‘/dm8/data/DM/DAMENG01.LOG’;
alter database rename LOGFile ‘DAMENG01.LOG’ TO ‘/dm8/data/DM/DAMENG01.LOG’;
SQL> alter database rename LOGFILE ‘DAMENG01.log’ TO ‘/dm8/data/DM/DAMENG01.log’;
SQL> alter database rename LOGFILE ‘DAMENG02.log’ TO ‘/dm8/data/DM/DAMENG02.log’;
SQL> alter database rename LOGFILE ‘DAMENG03.log’ TO ‘/dm8/data/DM/DAMENG03.log’;
SQL> alter database open;

  1. 开启归档日志
    SQL> alter database mount;
    SQL> alter database ARCHIVELOG;
    SQL> alter database ADD ARCHIVELOG ‘type=local,dest=/dm8/arch,file_size=64, space_limit=10240’;
    SQL> alter database open;
    SQL> select arch_mode from v$database;
    SQL> select * from v$dm_arch_ini;
    SQL> alter database modify archivelog ‘type=local,dest=/dm8/arch,SPACE_LIMIT=20480’;
    关闭归档
    SQL> alter database mount;
    SQL> alter database noarchivelog;
    SQL> alter database delete archivelog ‘type=local,dest=/dm8/arch’;
    SQL> alter database open;
    SQL> select arch_mode from v$database;
    SQL> select * from v$dm_arch_ini;
    SQL>

修改 dm.ini 和 dmarch.ini 配置文件开启归档
[dmdba@KylinDCA03 DM]$ cat dmarch.ini #DaMeng Database Archive Configuration file #this is comments
ARCH_WAIT_APPLY = 0 [ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 64
ARCH_SPACE_LIMIT = 10240
ARCH_FLUSH_BUF_SIZE = 0

[dmdba@KylinDCA03 DM]$ cat dm.ini|grep ARCH_INI
ARCH_INI = 1 #dmarch.ini

归档日志文件的切换和删除
数据库自动完成归档的切换,DM 支持手工切换归档;
alter SYSTEM ARCHIVE LOG CURRENT; alter SYSTEM SWITCH LOGFILE;
alter DATABASE ARCHIVELOG CURRENT;

归档文件的删除:
select * from v$ifun t where name like ‘SF_ARCHIVELOG_%’; SF_ARCHIVELOG_DELETE_BEFORE_LSN
SF_ARCHIVELOG_DELETE_BEFORE_TIME
Select SF_ARCHIVELOG_DELETE_BEFORE_TIME(sysdate-10); --删除10天前的归档日志。
针对业务繁忙期间,出现磁盘 IO 不定时繁忙的情况,因为配置了归档的空间上限(归档达到此上限),生成新的归档日志前删除旧的归档日志文件造成了 IO 的不定时繁忙。
解决方案:配置 JOB 作业,在业务空闲期定时清理N 天之前的归档文件。

第十部分:数据库的备份
物理备份是拷贝数据文件有效的数据页,逻辑备份是导出数据库中逻辑数据
物理备份分为完全备份、增量备份
热备:只数据库启动状态下的备份
冷备:指数据库关闭状态下的备份
联机备份与还原数据库
联机备份:数据库是启动状态,联机备份要求数据库打开归档
备份市AP服务需要为启动状态
select * from v$parameter t where name in (‘BAK_PATH’, ‘BAK_USE_AP’);
ps -ef|grep dmap
[dmdba@localhost sql]$ DmAPService status;
[dmdba@localhost sql]$ which DmAPService
/dm8/bin/DmAPService
[dmdba@localhost sql]$ systemctl status DmAPService;

联机备份
设置归档路径 赋权限
Root 用户下chown dmdba:dinstall /dm8/data/arch
图形化界面归档
backup database;

select * from SYS.“V$ARCH_FILE”
如果没有归档日志
手工切换
alter system SWITCH LOGFILE
alter DATABASE ARCHIVELOG CURRENT;
alter system ARCHIVE LOG CURRENT;

备份成功以后
查看
select * from SYS.“V$BACKUPSET”

如果归档不连续
Select * from v$log; ckpt_lsn:89999
Select * from v$arch_file; begn_lsn:22333
Checkpoint(100); //刷脏页

backup database to FULLBAK01 BACKUPSET ‘/dm8/backup/full/FULLBAK01’;
select * from SYS.“V$IFUN” t where t.name like ‘%BAKSET%’;
SF_BAKSET_BACKUP_DIR_ADD(‘DISK’,‘/dm8/backup/full/FULLBAK01’)
select * from SYS.“V$BACKUPSET”
增量备份
backup database INCREMENT with backupdir ‘/dm8/backup/full’ to incrbak01
BACKUPSET ‘/dm8/backup/INCR/INCRBAK01’

backup database INCREMENT with backupdir ‘/dm8/backup/full’ to incrbak02
BACKUPSET ‘/dm8/backup/INCR/INCRBAK02’

备份表空间
backup TABLESPACE DATEST;
backup TABLESPACE DATEST INCREMENT;
SF_BAKSET_REMOVE(‘DISK’, 备份名);
backup TABLESPACE DATEST to TBSFULLBAK BACKUPSET ‘/dm8/backup/full/TBSFULLBAK’;

backup TABLE hrtest01.T_TEST to EMPBAK BACKUPSET ‘/dm8/backup/full/EMPFULLBAK’;

-----脱机备份
[dmdba@localhost bin]$ DmServiceDMSERVER stop
[dmdba@localhost bin]$ dmrman
backup database ‘/dm8/data/DM/dm.ini’ to FULLBAK03 backupset ‘/dm8/backup/full/FULLBAK03’;
[dmdba@localhost tool]$ DmServiceDMSERVER start

—还原

[dmdba@localhost DAMENG]$ cd /dm8/backup/full
[dmdba@localhost full]$ dmrman
dmrman V8
RMAN> restore database ‘/dm8/data/DAMENG/dm.ini’ tablespace DATEST from backupset ‘/dm8/backup/full/TBSFULLBAK’;
RMAN> recover database ‘/dm8/data/DAMENG/dm.ini’ tablespace DATEST;
[dmdba@localhost ~]$ DmServiceDMSERVER start

—还原库
[dmdba@localhost ~]$ DmServiceDMSERVER stop

[dmdba@localhost DAMENG]$ dmrman

[dmdba@localhost data]$ cd DAMENG/
[dmdba@localhost DAMENG]$ ll *.DBF
[dmdba@localhost DAMENG]$ rm -rf *.DBF
RMAN> restore database to ‘/dm8/data/DAMENG/’ overwrite from backupset ‘/dm8/backup/full/FULLBAK01’;
RMAN> restore database to ‘/dm8/data/DAMENG/’ overwrite from backupset ‘/dm8/backup/full/FULLBAK01’;
restore database ‘/dm8/data/DAMENG/dm.ini’ with archivedir ‘/dm8/data/arch’;
restore database ‘/dm8/data/DAMENG/dm.ini’ update db_magic;
[dmdba@localhost ~]$ DmServiceDMSERVER start
[dmdba@localhost ~]$ DmServiceDMSERVER restart
可能归档配置删除,需要mount 配置路径,然后swich log 然后查询归档日志

------逻辑备份和还原
逻辑导出dexp 逻辑导入dimp
全库导入导出
导出: ./dexp userid=sysdba/Dameng123:5238 directory=/dm8/backup/dexp file=full.dmp log=full.log full=y
导入: ./dimp userid=sysdba/Dameng123:5238 directory=/dm8/backup/dexp file=full.dmp log=full.log full=y
按用户导出、导入
导出: ./dexp userid=sysdba/Dameng123:5236 directory=/dm8/backup/dexp file=HRTEST.dmp log=HRTEST.log owner=HRTEST
导入: ./dimp SYSDBA/SYSDBA@192.168.109.22:5237 file=/home/dmdba/dmdbms/data/dexp_user/ dexp_user.dmp log=dimp_user.log owner=ttt directory=/ home/dmdba/dmdbms/data/dimp_user
按模式导出、导入
导出: dexp userid=sysdba/Dameng123:5236 directory=/dm8/backup/dexp file=DMHR.dmp log=DMHR.log schemas=DMHR
导入: dimp userid=sysdba/Dameng123:5238 directory=/dm8/backup/dexp file=DMHR.dmp log=impDMHR.log REMAP_SCHEMA=DMHR:DMTEST
执行作业
Select * from user_jobs;
Select * from sysjob.sysjobs;
Dbms_job.run(id)
Select * from sysjob.sysjobhistories2;
11.ODBC 连接dm数据库
tar -zxvf /opt/unixODBC-2.3.0.tar.gz
[root@localhost opt]# cd unixODBC-2.3.0/
tar -zxvf unixODBC-2.3.0.tar.gz
cd unixODBC-2.3.0/
./configure
make
make install
odbcinst -j
cd /usr/local/etc/
ll
vim odbcinst.ini
vim odbc.ini
cat odbcinst.ini
vim odbcinst.ini
cat odbcinst.ini
vi odbc.ini
vi odbcinst.ini
history

vi odbc.ini
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = hrtest
PWD = dameng123
TCP_PORT = 5238
vi odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
[root@localhost etc]# su - dmdba
[dmdba@localhost ~]$ isql dm8 -v

难点问题分析:图像化界面由于root用户和dmdba用户的切换出现问题
./manager??? 20: 32961 ??? ???“$JAVA_HOME/bin/java” -Xms256m -Xmx2048m -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.explorer.root=“$TOOL_HOME/workspace/local/dts” -Ddameng.isql.explorer.root=“$TOOL_HOME/workspace/local/isql” -Duse_bak2=true -Dapp.name=manager -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/manager.bmp” -data “$TOOL_HOME/workspace/manager” -product com.dameng.manager.product -name Manager

“$JAVA_HOME/bin/java” -Xms256m -Xmx2048m -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.explorer.root=“$TOOL_HOME/workspace/local/dts” -Ddameng.isql.explorer.root=“$TOOL_HOME/workspace/local/isql” -Duse_bak2=true -Dapp.name=manager -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/manager.bmp” -data “$TOOL_HOME/workspace/manager” -product com.dameng.manager.product -name Manager
解决方法
上述提示,是因为DISPLAY 变量导致。
1、root 账户下检查DISPLAY变量的值
[dmdba@localhost tool]$ su - root
执行如下命令,查看变量:printenv
在上述信息中,没有列出DISPLAY的值。或者 执行如下:echo $DISPLAY
上面没有显示DISPLAY的值。
2、如果没有显示DISPLAY的值,则执行如下命令:export DISPLAY=:2
设定DISPLAY的值为2,设定之后再echo检查一下。
3、执行命令: xhost +
4、切换账号:su - dmdba
5、检查DISPLAY的值:echo $DISPLAY
此处显示的值,如果和第2步设置的DISPLAY的值相同,则直接进入到第7步。
6、设置DISPLAY的值,此处要和root账号下的DISPLAY保持一致
export DISPLAY=:0
7、执行xhost +
执行正常时候,结果显示如下:
标志着可以进入到正常启动manger的阶段了。
8、进入到目标目录 /dm8/tool/执行命令./mangerzong

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服