本文主要讲解在CentOS Linux下,如何采用命令方式对达梦数据库进行安装、配置。
一、DM7部署实施流程
1.1 部署规划
- 规划程序安装路径
- 规划数据库实例数据存放路径
- 规划归档路径
- 规划备份路径
- 规划实例配置
1.2 安装数据库
1.3 创建实例
1.4 配置数据库
- 设置归档
- 设置定时备份
- 设置定时清理备份
- 设置定时清理归档。
1.5 优化数据库
- 参数优化
- 兼容性参数
1.6 管理数据库
- 修改超级管理员用户
- 增加数据库管理员
- 增加普通用户
二、部署规划
2.1 路径规划
项目 | Value |
---|---|
数据库软件安装路径 | /home/dmdba/dmdbms |
数据库实例路径 | /dmdata/DAMENG |
归档路径 | /dmdata/DAMENG/arch |
备份路径 | /dmdata/DAMENG/bak |
2.2 实例规划
项目 | Value |
---|---|
库名 | DAMENG |
实例名 | DAMENG |
端口号 | 5236 |
页大小 | 16 |
编码格式 | GB18030 |
大小写敏感 | 是 |
2.3 配置规划
项目 | Value |
---|---|
归档文件大小 | 128M |
归档最大大小 | 128000M |
定时备份时间间隔 | 每周全量,每天增量 |
定时清理备份时间范围 | 清理1个月之前的备份 |
定时清理归档时间范围 | 清理1个月之前的归档 |
2.4 优化规划
项目 | Value |
---|---|
数据库内存占总内存比例 | 80% |
数据库兼容性参数 | 兼容ORACLE |
数据库最大会话数 | 1000 |
三、 安装数据库
3.1 查看操作系统信息
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
3.2 创建用户组和用户
[root@localhost ~]# groupadd dinstall
[root@localhost ~]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
[root@localhost ~]# passwd dmdba
3.3 创建目录
[root@localhost ~]# mkdir /dmdata
[root@localhost ~]# mkdir /dmdata/DAMENG
[root@localhost ~]# mkdir /dmdata/DAMENG/arch
[root@localhost ~]# mkdir /dmdata/DAMENG/bak
[root@localhost ~]# chown -R dmdba:dinstall /dmdata
3.4 环境变量
[root@localhost ~]# vi /home/dmdba/.bash_profile
增加如下内容:
export DM_HOME=/home/dmdba/dmdbms
export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH:$HOME/bin
3.5 修改操作系统参数
修改/etc/security/limits.conf增加如下内容:
dmdba soft nproc 4096
dmdba hard nproc 4096
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited
重启服务器。
3.6 挂载安装文件
[root@localhost ~]# mount -t iso9660 -o loop /software/dm7_setup_rh7_64_ent_7.6.1.60_20200603.iso /mnt
3.7 开始安装
[root@localhost ~]# su - dmdba
[dmdba@localhost ~]$ cd /mnt
[dmdba@localhost mnt]$ ./DMInstall.bin -i
Please select the installer’s language (E/e:English C/c:Chinese) [E/e]:c
解压安装程序……….
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:y
请输入Key文件的路径地址 [dm.key]:/home/dmdba/dm.key
有效日期: 2021-01-01
服务器颁布类型: 企业版
发布类型: 试用版
用户名称:
授权用户数: 无限制
并发连接数: 无限制
是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
请选择设置时区 21:21
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:1
所需空间: 957M
请选择安装目录 [/opt/dmdbms]:/home/dmdba/dmdbms
可用空间: 103G
是否确认安装路径? (Y/y:是 N/n:否) [Y/y]:y
安装前小结
安装位置: /home/dmdba/dmdbms
所需空间: 957M
可用空间: 103G
版本信息: 企业版
有效日期: 2021-01-01
安装类型: 自定义
是否确认安装? (Y/y:是 N/n:否):y
2020-09-03 15:38:33
[INFO] 安装达梦数据库…
2020-09-03 15:38:33
[INFO] 安装 default 模块…
2020-09-03 15:38:36
[INFO] 安装 server 模块…
2020-09-03 15:38:37
[INFO] 安装 client 模块…
2020-09-03 15:38:38
[INFO] 安装 drivers 模块…
2020-09-03 15:38:38
[INFO] 安装 manual 模块…
2020-09-03 15:38:38
[INFO] 安装 service 模块…
2020-09-03 15:38:41
[INFO] 更改安装目录权限完成。
2020-09-03 15:38:41
[INFO] 移动ant日志文件。
2020-09-03 15:38:41
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh
安装结束
开启新窗口,以root 执行 /home/dmdba/dmdbms/script/root/root_installer.sh 后完成安装。
四、创建实例
4.1 创建实例
[root@localhost ~]# cd /home/dmdba/dmdbms/bin/
[root@localhost bin]# ./dminit path=/dmdata/ DB_NAME=DAMENG INSTANCE_NAME=DAMENG PORT_NUM=5236 PAGE_SIZE=32 EXTENT_SIZE=32 CHARSET=1
参数:DB_NAME 数据名, INSTANCE_NAME 实例名, PORT_NUM 端口号, path 为数据库实例的文件目录, PAGE_SIZE 页大小,EXTENT_SIZE 簇大小,CHARSET 字符集编码(1为UTF8),CASE_SENSITIVE 大小写敏感。
4.2 注册服务
注册完成后会在/home/dmdba/dmdbms/bin/ 中产生DmServiceDMSERVER ,并且重启Linux后DM库会自动启动。
进入DM安装目录/root/scripts/
cd /home/dmdba/dmdbms/script/root/
./dm_service_installer.sh -t dmserver -i /dmdata/DAMENG/dm.ini -p DAMENG
4.3 启动服务
/home/dmdba/dmdbms/bin/DmServiceDMSERVER start
4.4 验证数据库
[dmdba@yun201 dmdbms]$ cd bin
[dmdba@yun201 bin]$ ./disql SYSDBA/SYSDBA@localhost
服务器[localhost:5236]:处于普通打开状态
登录使用时间: 66.977(毫秒)
disql V7.6.1.60-Build(2020.06.02-122414)ENT
Connected to: DM 7.6.1.60
SQL>
五、配置数据库
5.1 设置归档
修改归档并进行备份测试
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
--添加归档,指定最大大小为100G
ALTER DATABASE ADD ARCHIVELOG 'DEST=/dmdata/DAMENG/arch,TYPE=LOCAL,FILE_SIZE=128,SPACE_LIMIT=128000;
ALTER DATABASE OPEN;
5.2 设置定时备份
定时每周六运行,进行全量备份
call SP_CREATE_JOB('JOB_FULL_BAK_TIMELY',1,0,'',0,0,'',0,'定时全量备份');
call SP_JOB_CONFIG_START('JOB_FULL_BAK_TIMELY');
call SP_ADD_JOB_STEP('JOB_FULL_BAK_TIMELY', 'STEP_FULL_BAK', 5, '01000/dmdata/DAMENG/bak', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('JOB_FULL_BAK_TIMELY', 'SCHEDULE_FULL_BAK', 1, 2, 1, 64, 0, '00:05:56', NULL, '2020-08-07 21:05:57', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB_FULL_BAK_TIMELY');
定时每天运行,进行增量备份(晚上,周六除外)
call SP_CREATE_JOB('JOB_INCREMENT_BAK_TIMELY_NIGHT',1,0,'',0,0,'',0,'定时增量备份');
call SP_JOB_CONFIG_START('JOB_INCREMENT_BAK_TIMELY_NIGHT');
call SP_ADD_JOB_STEP('JOB_INCREMENT_BAK_TIMELY_NIGHT', 'STEP_INCREMENT_BAK', 5, '11000/dmdata/DAMENG/bak|/dmdata/DAMENG/bak', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('JOB_INCREMENT_BAK_TIMELY_NIGHT', 'SCHEDULE_INCREMENT_BAK', 1, 2, 1, 63, 0, '01:05:56', NULL, '2020-08-07 21:05:57', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB_INCREMENT_BAK_TIMELY_NIGHT');
5.3 设置定时清理备份
call SP_CREATE_JOB('JOB_DEL_BAK_TIMELY',1,0,'',0,0,'',0,'定时删除备份');
call SP_JOB_CONFIG_START('JOB_DEL_BAK_TIMELY');
call SP_ADD_JOB_STEP('JOB_DEL_BAK_TIMELY', 'STEP_DEL_BAK', 0, 'SP_BATCH_DEL_BAK(''DAMENG'', '''', 1, sysdate-30, -1);', 1, 2, 0, 0, NULL, 0);
--call SP_ADD_JOB_STEP('JOB_DEL_BAK_TIMELY', 'STEP_DEL_BAK', 0, 'SP_DB_BAKSET_REMOVE_BATCH(NULL,SYSDATE-30);', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('JOB_DEL_BAK_TIMELY', 'SCHEDULE_DEL_BAK', 1, 2, 1, 1, 0, '00:05:56', NULL, '2016-04-07 21:05:57', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB_DEL_BAK_TIMELY');
5.4 设置定时清理归档
call SP_CREATE_JOB('JOB_DEL_ARCH_TIMELY',1,0,'',0,0,'',0,'定时删除备份');
call SP_JOB_CONFIG_START('JOB_DEL_ARCH_TIMELY');
call SP_ADD_JOB_STEP('JOB_DEL_ARCH_TIMELY', 'STEP_DEL_ARCH', 0, 'SF_ARCHIVELOG_DELETE_BEFORE_TIME(SYSDATE - 30);', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('JOB_DEL_ARCH_TIMELY', 'SCHEDULE_DEL_ARCH', 1, 2, 1, 1, 0, '00:05:56', NULL, '2020-08-07 21:05:57', NULL, '');
call SP_JOB_CONFIG_COMMIT('JOB_DEL_ARCH_TIMELY');
六、优化数据库参数
SP_SET_PARA_VALUE(2,'MAX_OS_MEMORY',80); --最大使用内存
SP_SET_PARA_VALUE(2,'MAX_SESSIONS',500); --最大会话连接数
SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',2); --兼容性参数,兼容Oracle
七、管理过程
7.1 修改超级管理员用户系统默认密码
ALTER USER SYSDBA IDENTIFIED BY "Dameng_admin";
7.2 增加数据库管理员
CREATE USER DMDBA IDENTIFIED BY "Dameng_dba";
GRANT DBA TO DMDBA;
7.3 增加普通用户
CREATE TABLESPACE TS_DAMENG DATAFILE 'TS_DAMENG_01.DBF' SIZE 1024;
ALTER TABLESPACE TS_DAMENG ADD DATAFILE 'TS_DAMENG_02.DBF' SIZE 1024;
CREATE USER DAMENG IDENTIFIED BY "DAMENG_1234" DEFAULT TABLESPACE TS_DAMENG;
GRANT RESOURCE,PUBLIC TO DAMENG;