DM8 安装
用户权限配置
groupadd dinstall
useradd -g dinstall dmdba
chown -R dmdba:dinstall dm
设置图形化界面:
对于我们这些懒人来说,当然特别喜欢使用图形化界面了。要启动图形化界面,首先需要进行设置。
( 1 )第一次进入虚拟机,root用户下执行 xhost +
[root@localhost 桌面 ]# xhost +access control disabled, clients can connect from any host( 2 )查看 root 用户的 DISPLAY 变量值
[root@localhost 桌面 ]# echo $DISPLAY
:0.0
( 3 )切换 dmdba 用户
[root@localhost 桌面 ]# su - dmdba软件安装
安装达梦数据库DM8(1)将dm8软件挂载在/mnt文件夹下
将安装包上传到/opt 文件下
[root@localhost ~]# mount opt/dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso mnt
结果:
mount: dev/loop0 写保护,将以只读方式挂载
(2)切换到dmdba用户
[root@localhost ~]# su - dmdba(3)安装数据库软件
[dmdba@localhost ~]$ cd mnt
[dmdba@localhost mnt]$ ./DMInstall.bin
启动图形化界面安装:
这里因为是开发版,没有key文件;如果是正式版本的,可以选择key文件

可以根据需要选择安装的类型,这里选择典型安装即可

这里注意,需要安装到自己创建的文件夹下

这里需要开启另一个终端窗口,使用root执行脚本

执行脚本指令
[root@localhost ~]# dm8/script/root/root_installer.sh结果:
移动 dm8/bin/dm_svc.conf 到/etc目录
修改服务器权限
创建DmAPService服务
Created symlink from etc/systemd/system/multi-user.target.wants/DmAPService.service to usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务

配置好环境变量
vi ~/.bash_profile
export DM_HOME="/dmsoft/dmdbms"
export PATH=$DM_HOME/bin:$PATH
source ~/.bash_profile
单点配置
初始化数据库
su - dmdba
cd dm
mkdir dmdata dmarch dmbak
cd dmdba/dmdbms/bin
通过 dminit 来设置参数
./dminit help # 查看参数说明,按照要求设置参数
./dminit PATH=/dm/dmdata DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5238 LOG_SIZE=300 EXTENT_SIZE=16 SYSDBA_PWD=[password] SYSAUDITOR_PWD=[password]
启用 DM 数据库服务
切到 root 用户
将服务注册到操作系统
cd dm/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmserver -dm_ini dm/dmdata/DMDB/dm.ini -p DBSERVER
使用 systemctl 管理服务
systemctl enable DmServiceDBSERVER.service
systemctl start DmServiceDBSERVER.service
数据库维护与管理
使用 sql 脚本
假设有脚本 /dm/script1.sql
INSERT INTO EMP (EMP_ID, EMP_NAME) VALUES (1, 'NAME');
INSERT INTO EMP (EMP_ID, EMP_NAME, EMAIL) VALUES (2, 'NAME', 'a@b');
INSERT INTO DEPT (DEPT_ID, DEPT_NAME) VALUES (1, 'DEPTNAME');
连接到数据库后可直接调用该脚本
SQL> start dm/script1.sql表与用户创建
登录数据库
cd dm/dmdba/dmdbms/bin
./disql SYSDBA/[password]@localhost:5238
创建表空间 DMTBS,文件存储在 /dm/dmdata
中,分为两个数据文件 DMTBS01.DBF 和 DMTBS02.DBF,每个文件初始大小为 64M,每次自动扩展 2M,单个数据文件最大 10G
SQL> CREATE TABLESPCE "DMTBS" DATAFILE '/dm/dmdata/DMTBS01.DBF' SIZE 64 AUTOEXTEND ON NEXT 2 MAXSIZE 10240, '/dm/dmdata/DMTBS02.DBF' SIZE 64 AUTOEXTEND ON NEXT 2 MAXSIZE 10240 CACHE = NORMAL;创建用户 DMTEST,密码 [password],默认表空间为 DMTBS
SQL> CREATE USER "DMTEST" IDENTIFIED BY [password] DEFAULT TABLESPACE "DMTBS"创建角色 TESTROLE,具有创建表,创建视图,创建索引的权限
SQL> CREATE ROLE TESTROLE;
SQL> GRANT CREATE TABLE, CREATE VIEW, CREATE INDEX TO TESTROLE;
将角色 RESOURCE,TESTROLE 赋给 DMTEST 用户,并赋予 DMTEST 查询 DBA_TABLESPACES 的权限
SQL> GRANT RESOURCE, TESTROLE TO DMTEST;
SQL> GRANT SELECT ON DBA_TABLESPACES TO DMTEST;
在 DMTEST 用户下创建 EMP 表和 DEPT 表。
SQL> CREATE TABLE EMP (
EMP_ID INT NOT NULL,
EMP_NAME VARCHAR(20),
EMAIL VARCHAR(50),
PHONE_NUM VARCHAR(20),
HIRE_DATE DATE,
JOB_ID VARCHAR(10),
MANAGER_ID INT,
SALARY INT,
DEPT_ID INT
);
SQL> CREATE TABLE DEPT (
DEPT_ID INT NOT NULL,
DEPT_NAME VARCHAR(30),
LOCATION_ID INT,
LOCATION_ADDR VARCHAR(30)
);
创建视图
创建视图 VIEW_HIREDATE 存放 HIRE_DATE 为 2006-01-01 至 2009-01-01 的条目
SQL> CREATE VIEW VIEW_HIREDATE AS SELECT * FROM EMP WHERE HIRE_DATE BETWEEN '2006-01-01' AND '2009-01-01';创建视图 VIEW_SALARY 查询平均 SALARY 大于 12000 的 DEPT
SQL> CREATE VIEW VIEW_SALARY AS SELECT * FROM DEPT WHERE DEPT_ID IN (
SELECT DEPT_ID
FROM EMP
GROUP BY DEPT_ID
HAVING AVG(SALARY) > 12000
);
数据库备份
热备
使用 SQL 进行备份,DMAP 服务和数据库实例都是打开状态,为了保证备份数据的一致性,需要配置并开启本地归档
-- 打开归档
SQL> ALTER DATABASE MOUNT;
SQL> ALTER DATABASE ADD ARCHIVELOG 'type=local,dest=/dm/dmarch,file_size=64,space_limit=0';
-- 如果需要修改归档配置则可使用 ALTER DATABASE MODIFY ARCHIVELOG
SQL> ALTER DATABSE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
-- 检查归档状态
SQL> SELECT name, status$, arch_mode FROM v$database;
-- 完全备份
SQL> backup database full backupset '/dm/dmbak/DMDB_bak2';
-- 增量备份
SQL> backup database increment backupset '/dm/dmbak/incr_DMDB_bak2';
配置 ODBC
编译好 ODBC 后,配置 odbc.ini 和 odbcinst.ini
# odbc.ini
[dm8]
DESCRIPTION = DM ODBC DSND
DRIVER = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDA
PWD = [password]
TCP_PORT = 5238
# odbcinst.ini
[DM8 ODBC DRIVER]
DESCRIPTION = ODBC DRIVER FOR DM8
DRIVER = /dm/dmdba/dmdbms/bin/libdodbc.so
修改文件属性即可连接
chmod 777 odbc.ini
chmod 777 odbcinst.ini
su - dmdba
isql dm8 -v




