注册
达梦数据库V8单机安装操作(Linux版)
培训园地/ 文章详情 /

达梦数据库V8单机安装操作(Linux版)

dm_forever 2023/09/07 1994 1 0

0、安装前准备工作

查询操作系统:

cat /etc/issue   --(iSoft3.0/Kylin6.0/CentOS6.0/Kylin4/NFS3.0)

lsb_release -a|grep "Description"   --(iSoft3.0/Kylin6.0/CentOS6.0/Kylin4)

cat /etc/os-release | grep "PRETTY_NAME"   --(iSoft4.0/Kylin7.0/CentOS7.0/Kylin4/Kylin10/NFS3.0/NFS4.0)

cat /etc/.productinfo   --(Kylin6.0/Kylin7.0/Kylin10)

nkvers   --(Kylin7.0/Kylin10)

内核查询:

cat /proc/version   --(iSoft3.0/iSoft4.0/Kylin6.0/Kylin7.0/CentOS6.0/CentOS7.0/Kylin4/Kylin10)

uname -r   --(iSoft3.0/iSoft4.0/Kylin6.0/Kylin7.0/CentOS6.0/CentOS7.0/Kylin4/Kylin10)

uname -a   --(iSoft3.0/iSoft4.0/Kylin6.0/Kylin7.0/CentOS6.0/CentOS7.0/Kylin4/Kylin10)

系统位数查询:

getconf LONG_BIT   --(iSoft3.0/iSoft4.0/Kylin6.0/Kylin7.0/CentOS6.0/CentOS7.0/Kylin4/Kylin10)

系统架构:

uname -m   --(iSoft3.0/iSoft4.0/Kylin6.0/Kylin7.0/CentOS6.0/CentOS7.0/Kylin4/Kylin10)

查询cpu型号:

lscpu   --(Intel /鲲鹏/飞腾/龙芯)

cat /proc/cpuinfo|grep name|cut -f2 -d:|uniq -c   --(Intel /飞腾/龙芯)

存储划分及挂载:原则建议分3块盘符,分别是dmdata实例盘、dmbak备份盘和dmarch归档盘。若不具备条件,可以使用一块盘符。
查看所有盘符信息:fdisk -l
端口确定:telnet ip port
查看网络:ifconfig
查看网卡设备:ethtool 网卡名(网卡个数及带宽集群环境原则要求提供不低于 1000M 的心跳网络)

本文档的安装环境为:CentOS7.0,Intel X86

1、创建安装用户组 dinstall,在dinstall组内创建安装用户dmdba

groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
修改密码
passwd dmdba

2、建立目录

创建实例安装目录,注意数据库软件安装目录和实例安装目录不要混淆
mkdir /data/dmdata
创建归档日志目录
mkdir /data/dmarch
创建sql日志目录
mkdir /data/logcommit
创建备份目录
mkdir /data/dmbak

新建目录的所有者改为dmdba用户
chown -R dmdba:dinstall /data/dmdata /data/dmarch /data/logcommit /data/dmbak

3、挂载DM镜像文件

mount /dev/cdrom /mnt
注:如果是挂载光盘,一般在/dev/cdrom,也可以上传到Linux的指定目录下再进行挂载
#解除挂载umount /mnt

4、安装达梦数据库服务

su - dmdba
cd /mnt
./DMInstall.bin -i
#根据提示进行安装
c(中文)》n(key)》y(时区)》21》1(典型安装)》/data/dmdba/(数据库软件安装目录)》y(确认安装路径)》y(确认安装)

5、以root执行

/home/dmdba/dmdbms/script/root/root_installer.sh
目的是为了创建DmAPService服务

6、放置dm.key

cp 正式授权licnse文件路径 $DM_HOME/bin/dm.key
chown -R dmdba:dinstall dm.key

7、初始化数据库实例

/home/dmdba/dmdbms/bin/dminit path=/data/dmdata EXTENT_SIZE=32 PAGE_SIZE=32 LOG_SIZE=2048 CHARSET=1 DB_NAME=?INSTANCE_NAME=? CASE_SENSITIVE=Y LENGTH_IN_CHAR=Y BLANK_PAD_MODE=1
/初始化参数含义/
DB_NAME (数据库名(DAMENG))
INSTANCE_NAME (实例名(DMSERVER))
PORT_NUM (监听端口号(5236))
LOG_SIZE (日志文件大小(256),单位为:M,范围为:256M ~ 2G)
EXTENT_SIZE=32(区)
PAGE_SIZE=32(页)
LOG_SIZE=2048
CASE_SENSITIVE=N(N/0为不敏感,Y/1为敏感)
CHARSET=1(0为GBK,1为UTF-8,2为EUC-KR)
LENGTH_IN_CHAR(VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0)
BLANK_PAD_MODE 设置空格填充模式(0),可选值:0/1

8、注册开机自启服务

--切换至root执行
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /data/dmdata/DAMENG/dm.ini -p DMSERVER

#./dm_service_installer.sh -h可看配置详情
#卸载服务:/home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceDMSERVER

9、配置归档

--手动配置归档
vim /data/dmdata/DAMENG/dm.ini
修改ARCH_INI=1

--编辑 dmarch.ini 文件
vim /data/dmdata/DAMENG/dmarch.ini
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL
ARCH_DEST = /data/dmarch #归档日志目录
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 51200
#归档最少保留7天

#目录开归档:
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/data/dmarch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';

10、配置sqllog.ini文件

--修改sqllog.ini
vi /data/dmdata/DAMENG/sqllog.ini
#更改以下参数
FILE_PATH = /data/logcommit#默认为上一级目录即../log
SWITCH_LIMIT = 256
FILE_NUM = 40
注意:SWITCH_LIMIT不能大于2000

--参数含义
#SWITCH_MODE(默认1):
表示 SQL 日志文件切换的模式:
0:不切换
1:按文件中记录数量切换
2:按文件大小切换
3:按时间间隔切换
#SWITCH_LIMIT:
按数量切换时,一个日志文件中的 SQL 记 录条数达到多少条之后系统会自动将日志切换
到另一个文件中。(1000~ 10000000)
按文件大小切换时,一个日志文件达到该大小后,系统自动将日志切换到另一个文件中,
单位为 M。(1~ 2000)
按时间间隔切换时,每个指定的时间间隔, 按文件新建时间进行文件切换,单位为分钟。有
效值范围(1~ 30000)
#ASYNC_FLUSH
是否打开异步 SQL 日志功能。
0:表示关闭;
1:表示打开
#FILE_NUM:
总共记录多少个日志文件,当日志文件达到这个设定值以后,再生成新的文件时,会删除最早的 那个日志文件
当这个参数配置成 0 时,只会生成两个日志相互切换着记录。

11、配置备份的定时作业(V8.1.2.167版本前)

/V8.1.2.167版本前策略/
创建备份任务:
SP_INIT_JOB_SYS(1);

#清理备份任务
SP_INIT_JOB_SYS(0);
如果已存在备份任务可以先清理备份任务

全量备份及删除策略配置
设置每周日1点全备,每周日删除30天前备份
call SP_CREATE_JOB('full_bak',1,0,'',0,0,'',0,'全量备份及删除备份策略');
call SP_JOB_CONFIG_START('full_bak');
call SP_ADD_JOB_STEP('full_bak', 'full_bak', 6, '00000000/data/dmbak', 3, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_STEP('full_bak', 'del_bak', 0, 'call SF_BAKSET_BACKUP_DIR_ADD (''DISK'',''/data/dmbak'');
call SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE-30);', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('full_bak', 'full_bak', 1, 2, 1, 1, 0, '01:00:00', NULL, '2022-12-29 01:39:07', NULL, '');
call SP_JOB_CONFIG_COMMIT('full_bak');

#/data/dmbak是备份目录
#SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE-30)中的SYSDATE-30是设置保留天数,这里设置保留30天
#倒数第二行,时间01:00:00指的每周日开始备份的时间,这里是每周日1点开始全量备份

增量备份的配置
设置每天1点增备(除周日)
call SP_CREATE_JOB('incr_bak',1,0,'',0,0,'',0,'增量备份,增备不成功进行全备');
call SP_JOB_CONFIG_START('incr_bak');
call SP_ADD_JOB_STEP('incr_bak', 'incr_bak1', 6, '10000000/data/dmbak|/data/dmbak', 1, 3, 0, 0, NULL, 0);
call SP_ADD_JOB_STEP('incr_bak', 'full_bak', 6, '00000000/data/dmbak', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('incr_bak', 'incr_bak', 1, 2, 1, 126, 0, '01:00:00', NULL, '2022-12-29 01:50:36', NULL, '');
call SP_JOB_CONFIG_COMMIT('incr_bak');

#/data/dmbak是备份目录
#倒数第二行,时间01:00:00指的每日开始备份的时间,这里是每日1点开始增量备份

备份测试(验证备份任务是否生效)


--全备验证测试
call SP_JOB_CONFIG_START('full_bak');
call SP_ADD_JOB_SCHEDULE('full_bak', 'test', 1, 0, 0, 0, 0, NULL, NULL, '2023-03-23 16:17:17', NULL, '');
call SP_JOB_CONFIG_COMMIT('full_bak');

#第二行2022-03-23 16:13:17指的是全备测试时间,到了时间后在备份目录/data/dmbak下观察有无备份文件生成

--增备验证测试
call SP_JOB_CONFIG_START('incr_bak');
call SP_ADD_JOB_SCHEDULE('incr_bak', 'test', 1, 0, 0, 0, 0, NULL, NULL, '2023-03-23 16:20:17', NULL, '');
call SP_JOB_CONFIG_COMMIT('incr_bak');

#第二行2022-03-23 16:18:17指的是增备测试时间,到了时间后在备份目录/data/dmbak下观察有无备份文件生成
#增量备份是基于全量备份,所以在测试增量备份的时候,时间需要在全量备份后几分钟

12、配置备份的定时作业(V8.1.2.167版本后)

/V8.1.2.167版本后策略/
全量备份及删除策略配置
设置全备每周日1点,删除30天前备份
call SP_CREATE_JOB('full_bak',1,0,'',0,0,'',0,'全量备份及删除备份策略');
call SP_JOB_CONFIG_START('full_bak');
call SP_ADD_JOB_STEP('full_bak', 'full_bak', 6, '00000000/dmbak', 3, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_STEP('full_bak', 'del_bak', 0, 'call SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/dmbak'');
call SF_BAKSET_REMOVE_BATCH_S(''DISK'', SYSDATE-30);', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('full_bak', 'full_bak', 1, 2, 1, 1, 0, '01:00:00', NULL, '2022-12-29 01:39:07', NULL, '');
call SP_JOB_CONFIG_COMMIT('full_bak');

增量备份的配置
设置增备每天1点增备(除周日)
call SP_CREATE_JOB('incr_bak',1,0,'',0,0,'',0,'增量备份,增备不成功进行全备');
call SP_JOB_CONFIG_START('incr_bak');
call SP_ADD_JOB_STEP('incr_bak', 'incr_bak1', 6, '10000000/dmbak|/dmbak', 1, 3, 0, 0, NULL, 0);
call SP_ADD_JOB_STEP('incr_bak', 'full_bak', 6, '00000000/dmbak', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('incr_bak', 'incr_bak', 1, 2, 1, 126, 0, '01:00:00', NULL, '2022-12-29 01:50:36', NULL, '');
call SP_JOB_CONFIG_COMMIT('incr_bak');

备份测试(验证备份任务是否生效)


--全备验证测试
call SP_JOB_CONFIG_START('full_bak');
call SP_ADD_JOB_SCHEDULE('full_bak', 'test', 1, 0, 0, 0, 0, NULL, NULL, '2023-04-09 13:13:17', NULL, '');
call SP_JOB_CONFIG_COMMIT('full_bak');

--增备验证测试
call SP_JOB_CONFIG_START('incr_bak');
call SP_ADD_JOB_SCHEDULE('incr_bak', 'test', 1, 0, 0, 0, 0, NULL, NULL, '2023-04-09 13:15:24', NULL, '');
call SP_JOB_CONFIG_COMMIT('incr_bak');

至此单机达梦数据库安装完成!!

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服