安装前准备
新建dmdba用户与dinstall用户组
1.新建用户所在组,命令如下:
groupadd dinstall
2.新建用户并添加到指定组,命令如下:
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
3.修改用户密码,命令如下:
passwd dmdba
修改文件打开最大数
1.使用 vi或者vim 编辑器打开 /etc/security/limits.conf 文件,命令如下:
vim /etc/security/limits.conf
在最后添加四条语句,需添加的语句如下:
dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384
2.切换到 dmdba 用户,查看是否生效,命令如下:
su - dmdba
ulimit -a
挂载镜像
切换到 root 用户,将 DM 数据库的 iso 安装包保存在任意位置,例如 /tmp
目录下,将/mnt/isofile/
作为挂载目录,执行如下命令挂载镜像:
mount -o loop /tmp/dm8_20210712_x86_rh6_64_ent/dm8_20210712_x86_rh6_64_ent_8.1.2.38_pack1.iso /mnt/isofile/
新建安装目录
在根目录下创建 /dm8 文件夹(为了方便运维,可以将日志文件、控制文件、数据库分别创建目录),用来安装 DM 数据库。命令如下:
mkdir /dm8
修改安装目录所属组与权限
1.将新建的安装路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。命令如下:
chown dmdba:dinstall -R /dm8/
2.给安装路径下的文件设置 755 权限。命令如下:
chmod -R 755 /dm8
防火墙设置(如果已经关闭可以忽略此步骤)
允许达梦数据库端口通过防火墙,命令如下:
开端口命令:firewall-cmd --zone=public --add-port=5236/tcp --permanent
重启防火墙:systemctl restart firewalld.service
或者
firewall-cmd --reload #配置立马生效
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
数据库安装
切换至 dmdba 用户下,在 /mnt 目录下(镜像文件所在目录)使用命令行安装数据库程序,依次执行以下命令安装 DM 数据库:
su - dmdba
cd /mnt/
./DMInstall.bin -i
按需求选择安装语言,默认为中文。本地安装选择【不输入 Key 文件】,选择【默认时区 21】。
选择【1-典型安装】,按已规划的安装目录 /dm8 完成数据库软件安装,不建议使用默认安装目录。
数据库安装完成后,显示如下界面。
数据库安装完成后,需要切换至 root 用户执行上图中的命令 /dm8/script/root/root_installer.sh 创建 DmAPService。
sh /dm8/script/root/root_installer.sh
配置实例
使用 dmdba 用户配置实例,进入到 DM 数据库安装目录下的 bin 目录中,使用 dminit 命令初始化实例。
dminit 命令可设置多种参数,可执行如下命令查看可配置参数。
./dminit help
需要注意的是页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 这四个参数,一旦确定无法修改,需谨慎设置。
可以使用默认参数初始化实例,需要附加实例存放路径,命令如下:
./dminit path=/dm8/data
以下命令设置页大小为 16 KB,簇大小为 16 KB,大小写不敏感,字符集为 utf_8,数据库名为 DMDB,实例名为 DBSERVER,端口为 5237。
./dminit path=/dm8/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=0 DB_NAME=DMDB INSTANCE_NAME=DBSERVER BLANK_PAD_MODE=1 PORT_NUM=5237
注意
如果此处自定义了初始化参数,在后面的注册服务和启动数据库等步骤中,请按实际的自定义参数进行操作。
可以配置多实例(一个库,多个实例)
su - dmdba #切换到dmdba用户
cd 到bin 目录
./dminit path=/ehr/dm8db/checdb PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=0 DB_NAME=DMDB2 INSTANCE_NAME=DBSERVER2 BLANK_PAD_MODE=1 PORT_num=5238
su - root
cd /ehr/dm8db/scripts/root
./dm_service_installer.sh -t dmserver -p _5237 -dm_ini /ehr/dm8db/checdb/DMDB2/dm.ini
su - dmdba
cd /ehr/dm8db/bin
./DmService_5237 start
注册服务
注册服务需使用 root 用户进行注册。使用 root 用户进入数据库安装目录的 /script/root 下,如下所示:
cd /dm8/script/root
./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DMDB/dm.ini -p DMSERVER
提示
-t 指服务类型是 dmserver;-p 为服务名的后缀;-dm_ini 为实例的 dm.ini 文件的绝对路径。
启动、停止数据库
服务注册成功后,启动数据库,如下所示:
systemctl start DmServiceDMSERVER.service
停止数据库,如下所示:
systemctl stop DmServiceDMSERVER.service
重启数据库,如下所示:
systemctl restart DmServiceDMSERVER.service
重启某一个实例(在bin目录下执行 )
./DmService_5237 restart #5237是实例对应的端口名
连接数据库
切换到达梦安装目录(我的安装目录是/dm8
)
cd /dm8/bin
执行以下命令,使用 disql 工具连接数据库:
./disql SYSDBA/SYSDBA@localhost:5236(端口)
参数优化
安装完成需要调整 dm.ini 文件参数(根据机器配置实施,2G 4核)。
查询自己的内存、CPU
[root@localhost bin]# cat /proc/cpuinfo | grep name #CPU核数
[root@localhost bin]# cat /proc/meminfo | head -4 #内存
SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE', 2);
SP_SET_PARA_VALUE(2,'WORKER_THREADS', 4);
SP_SET_PARA_VALUE(2,'TASK_THREADS', 4);
SP_SET_PARA_VALUE(2,'IO_THR_GROUPS', 2);
SP_SET_PARA_VALUE(2,'MAX_OS_MEMORY', 80);
SP_SET_PARA_VALUE(2,'MEMORY_POOL', 200);
SP_SET_PARA_VALUE(2,'MEMORY_N_POOLS', 1);
SP_SET_PARA_VALUE(2,'MEMORY_TARGET', 500);
SP_SET_PARA_VALUE(2,'BUFFER', 500);
SP_SET_PARA_VALUE(2,'BUFFER_POOLS', 1);
SP_SET_PARA_VALUE(2,'RECYCLE', 200);
SP_SET_PARA_VALUE(2,'RECYCLE_POOLS', 1);
SP_SET_PARA_VALUE(2,'FAST_POOL_PAGES', 3000);
SP_SET_PARA_VALUE(2,'FAST_ROLL_PAGES', 1000);
SP_SET_PARA_VALUE(2,'MEMORY_MAGIC_CHECK', 1);
SP_SET_PARA_VALUE(2,'ENABLE_FREQROOTS', 1);
SP_SET_PARA_VALUE(1,'HJ_BUF_GLOBAL_SIZE', 200);
SP_SET_PARA_VALUE(1,'HJ_BUF_SIZE', 25);
SP_SET_PARA_VALUE(1,'HAGR_BUF_GLOBAL_SIZE', 200);
SP_SET_PARA_VALUE(1,'HAGR_BUF_SIZE', 25);
SP_SET_PARA_VALUE(2,'SORT_FLAG', 0);
SP_SET_PARA_VALUE(2,'SORT_BLK_SIZE', 1);
SP_SET_PARA_VALUE(2,'SORT_BUF_SIZE', 10);
SP_SET_PARA_VALUE(2,'SORT_BUF_GLOBAL_SIZE', 200);
SP_SET_PARA_VALUE(2,'RLOG_POOL_SIZE', 256);
SP_SET_PARA_VALUE(2,'CACHE_POOL_SIZE', 50);
SP_SET_PARA_VALUE(2,'DICT_BUF_SIZE', 20);
SP_SET_PARA_VALUE(2,'VM_POOL_TARGET', 8192);
SP_SET_PARA_VALUE(2,'SESS_POOL_TARGET', 16384);
SP_SET_PARA_VALUE(2,'USE_PLN_POOL', 1);
SP_SET_PARA_VALUE(2,'ENABLE_MONITOR', 1);
SP_SET_PARA_VALUE(2,'SVR_LOG', 1);
SP_SET_PARA_VALUE(2,'TEMP_SIZE', 1024);
SP_SET_PARA_VALUE(2,'TEMP_SPACE_LIMIT', 102400);
SP_SET_PARA_VALUE(2,'MAX_SESSIONS', 50);
SP_SET_PARA_VALUE(2,'MAX_SESSION_STATEMENT', 10000);
SP_SET_PARA_VALUE(2,'PK_WITH_CLUSTER', 0);
SP_SET_PARA_VALUE(2,'ENABLE_ENCRYPT', 0);
SP_SET_PARA_VALUE(2,'OLAP_FLAG', 2);
SP_SET_PARA_VALUE(2,'VIEW_PULLUP_FLAG', 1);
SP_SET_PARA_VALUE(2,'OPTIMIZER_MODE', 1);
SP_SET_PARA_VALUE(2,'ADAPTIVE_NPLN_FLAG', 0);
SP_SET_PARA_VALUE(2,'PARALLEL_PURGE_FLAG', 1);
SP_SET_PARA_VALUE(2,'PARALLEL_POLICY', 2);
SP_SET_PARA_VALUE(2,'UNDO_EXTENT_NUM', 16);
归档配置
生产环境必须开启归档日志,且必须限制归档日志保留量,限制方法:
1、设置归档空间大小限制即指定 SPACE_LIMIT 参数(单位是 MB)。
2、定期删除归档日志(设置定时作业)。
例如开启归档并限制归档空间为 100 GB,如下所示:
alter database mount;
alter database add archivelog 'dest=/dmarch/,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=102400';
alter database archivelog;
alter database open;
定制备份策略
上线前必须规划好备份策略,可以使用 DM 作业系统,定时备份。
卸载数据库
进入到达梦的安装目录
执行
[dmdba@localhost dm8]$ ./uninstall.sh -i
最后按照提示删除指定文件
参考资料