达梦数据库-Linux 下 命令行规范化安装 DM8-单机版
Linux 下
命令行规范化安装 DM8-单机版
一、新建安装用户 dmdba
1、创建用户所在的组
# groupadd dinstall
2、创建用户 dmdba
# useradd -g dinstall -m -d
/home/dmdba
-s /bin/bash dmdba
3、修改用户密码
# passwd
dmdba
(qazwsx@123456)
二、修改服务器
文件打开最大数
1、重启服务器后永久生效
#vim /etc/security/limits.conf
添加
dmdba
hard
nofile
65536
dmdba
soft
nofile
65536
dmdba
hard
stack
32768
dmdba
soft
stack
16384
#
reboot
now
2、重启后查看是否生效
# su - dmdba
$ ulimit -a
主机
安装用户
软件安装目录
实例目录
端口
归档目录
192.168.30.100
dmdba
/home/dmdba/dmdbms
/dm8/data
5236
/dmarch
192.168.30.101
dmdba
/home/dmdba/dmdbms
/dm8/data
5236
/dmarch3、临时生效
使用 dmdba 用户执行如下命令
# ulimit -n 65535
三、挂载安装 iso 镜像
1、下载好 dm8 开发版
本
dm8_20210513_x86_rh6_64_ent_8.1.2.2_pack5.zip
并解压
2、root
用户下上传 iso 镜像压缩包到服务器路径 /opt 下
3、挂载
iso 镜像包到 /mnt 下
#
mount -o loop
/opt/dm8_20210513_x86_rh6_64_ent_8.1.2.2_pack5.iso
/mnt
四、 新建安装目录
1、root 用户 在根目录或者大目录下创建
/dm8 文件,用来安装
DM 数据库
# mkdir /dm8
2、修改安装目录的权限
#
chown dmdba:dinstall -R /dm8/
#
chmod -R 755 /dm8
五、安装数据库
1、命令行安装
切换到 dmdba 用户下,并切换路径到 /mnt 目录下
#
su - dmdba
$
cd /mnt
$
./DMInstall.bin -i (命令行静默交互安装)
注意点:1、按需求选择安装语言,默认为中文。本地安装选择【不输入 Key 文件】,选择【默认时
区 21】
2、选择【1-典型安装】,按已规划的安装目录 /dm8 完成数据库软件安装,不建议使用默
认安装目录(建议自定义大目录)
3、数据库安装完成后,需要切换至 root 用户执行上图中的命令
/dm8/script/root/root_installer.sh 创建 DmAPService,否则会影响数据库备份
2、图形化界面安装
切换到 dmdba 用户下,并切换路径到 /mnt 目录下
#
su - dmdba
$
cd /mnt
$
./DMInstall.bin
六、配置实例
1、命令行配置实例
dmdba 用户下 切换到 DM 数据库安装目录下的 bin 目录下使用初始化实例命令
$./dminit help
也可以使用默认参数初始化实例,需要附加实例存放路径,命令如下
$ ./dminit path=/dm8/data
2、图形化配置实例
七、注册到服务
1、命令行方式注册
切换到 root 用户下并切换路径到 数据库安装目录
script/root 下 (/home/dmdba/dmdbms/script/root)
# ./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p
DMSERVER
用户可根据自己的环境更改 dm.ini 文件的路径以及服务名,如下所示:
# ./dm_service_installer.sh
-h
如需为其他实例注册服务,需打开
dbca 工具,进行注册服务,如下所示:cd /dm8/tool
./dbca.sh
2、图形化注册服务
八、配置 dmdba 环境变量
# vim /home/dmdba/.bash_profile
末尾添加
export
DM_HOME=/home/dmdba/dmdbms
export
PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin
#
su - dmdba
$
source
.bash_profile
九、启动数据库
1、命令行启停数据库
服务注册成功后,启动数据库,如下所示
root 用户下执行命令
#
systemctl
start DmServiceDMSERVER.service
#启动数据库
#
systemctl
stop DmServiceDMSERVER.service
#停止数据库
#
systemctl
restart DmServiceDMSERVER.service
#重启数据库
#
systemctl
status DmServiceDMSERVER.service
#查看数据库服务状态
可前台启动,进入 DM 安装目录下的 bin 目录下,命令如下:
# ./dmserver /dm8/data/DAMENG/dm.ini该启动方式为前台启动,若想关闭数据库,则输入 exit 即可
也可进入 DM 安装目录下的 bin 目录下,启动/停止/重启数据库,如下所示:
#
./DmServiceDMSERVER
start/stop/restart
#
./DmServiceDMSERVER
status #查看数据库状态
2、图形化启停数据库
十、参数优化
安装完成需要调整
dm.ini
文件参数
SP_SET_PARA_VALUE
(2,'HJ_BUF_GLOBAL_SIZE',5000);
SP_SET_PARA_VALUE
(2,'HJ_BUF_SIZE',500);
SP_SET_PARA_VALUE
(2,'MAX_SESSIONS',1000);
SP_SET_PARA_VALUE
(2,'MAX_SESSION_STATEMENT',20000);
SP_SET_PARA_VALUE
(2,'CACHE_POOL_SIZE',200);
SP_SET_PARA_VALUE
(2,'DICT_BUF_SIZE',100);
declare
v_mem_mb int;
v_cpus
int;
BUFFER
int;
BUFFER_POOLS INT;
begin
SELECT TOP 1 N_CPU,TOTAL_PHY_SIZE/1024/1024 INTO v_cpus,v_mem_mb FROM
V$SYSTEMINFO;
v_mem_mb=round(v_mem_mb,-3);
SP_SET_PARA_VALUE(2,'TASK_THREADS',v_cpus);
SP_SET_PARA_VALUE(2,'IO_THR_GROUPS',v_cpus/2);
IF v_mem_mb >= 64000 THEN
BUFFER_POOLS
:=101;
ELSE
BUFFER_POOLS
:=53;END IF;
BUFFER := round(cast(v_mem_mb
* 0.8 as int),-3);
SP_SET_PARA_VALUE(2,'BUFFER',
BUFFER);
SP_SET_PARA_VALUE(2,'BUFFER_POOLS', BUFFER_POOLS);
end;
重启数据库生效
# systemctl restart DmServiceDMSERVER.service
十一、配置归档作业
生产环境必须开启归档日志,且必须限制归档日志保留量,限制方法:
1.
设置归档空间大小限制即指定
SPACE_LIMIT 参数(单位是 MB)。
2.
3.
定期删除归档日志(设置定时作业)。
4.
例如开启归档并限制归档空间为 100 GB,如下所示
alter database add archivelog
'dest=/dmarch,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=102400';
alter
database
archivelog;
alter
database
open;
十二、制定备份策略
上线前必须规划好备份策略,可以使用 DM
作业系统,定时备份。
根据应用需求,定制备份策略如下所示:
备份类型
备份周期
备份时间
全量备份
每周
每周五 23 点
增量备份
每天
除周五外每天 23 点
删除备份
每天
每天 23 点 30执行以下命令,创建作业系统表:
SP_INIT_JOB_SYS(1);
全量备份(每周五 23 点全备):
Copy
call
SP_CREATE_JOB('bakfull',1,0,'',0,0,'',0,'');
call
SP_JOB_CONFIG_START('bakfull');
call
SP_ADD_JOB_STEP('bakfull', 'bak01', 6, '01000000/dmbak', 1, 2, 0, 0, NULL, 0);
call
SP_ADD_JOB_SCHEDULE('bakfull', 'bak01', 1, 2, 1, 32, 0, '23:00:00', NULL, '2021-07-07
14:42:15', NULL, '');
call SP_JOB_CONFIG_COMMIT('bakfull');
增量备份(每周除周五外每天 23 点增量备份):
call
SP_CREATE_JOB('bakincr',1,0,'',0,0,'',0,'');
call
SP_JOB_CONFIG_START('bakincr');
call
SP_ADD_JOB_STEP('bakincr', 'bak02', 6,
'11000000/dmbak', 1, 2, 0, 0, NULL, 0);
call
SP_ADD_JOB_SCHEDULE('bakincr', 'bak2',
1, 2, 1, 95, 0, '23:00:00', NULL,
'021-07-07
14:44:30', NULL, '');
call SP_JOB_CONFIG_COMMIT('bakincr');
备份定期删除(每天 23:30 删除 14 天前备份):
call
SP_CREATE_JOB('delbak',1,0,'',0,0,'',0,'');
call
SP_JOB_CONFIG_START('delbak');
call SP_ADD_JOB_STEP('delbak', 'bak1', 0, 'SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/dmbak'');call sp_db_bakset_remove_batch(''DISK'',now()-14);', 1,
2, 0, 0, NULL, 0);
call
SP_ADD_JOB_SCHEDULE('delbak', 'del01', 1, 1, 1, 0, 0, '23:30:00', NULL, '2021-07-07 14:48:41', NULL, '');
call
SP_JOB_CONFIG_COMMIT('delbak');注意
备份的基本要求是:保留最少一次全备+全备(或者全备后的增备)
时间点到当前的全部归档日志。删除备份前尽量将备份文件拷贝到
单独的备份服务器上。
更多资讯请上达梦技术社区了解: https://eco.dameng.com