首页 > 数据库 > 国内数据库 > DM数据库规范化安装(单机)
1 安装环境设置
操作系统:NeoKylin Linux Advanced ServerV7Update6 (Chromium)
数据库软件:dm8
CPU: 2 core X86 64位
内存:4G
vim /etc/yum.repos.d
[cdrom]
name=linux dvd
baseurl=file:///mnt/
gpgcheck=0
enabled=1
vim /etc/hosts
添加如下行:
172.16.100.80 dm1
groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba # 设置dmdba 用户的密码。eg:dmdba
vim etc/security/limits.conf
--------------------------------------
dmdba soft nproc 2047
dmdba hard nproc 16384
dmdba soft nofile 16384
dmdba hard nofile 65536
dmdba soft stack 16384
dmdba hard stack 32768
#注意这里的软限制不能设置的太小,否则静默安装过不去。
vim /etc/security/limits.d/20-nproc.conf
# * soft nproc 4096
* - nproc 16384
ulimit -a
达梦单机使用文件系统 安装软件和 存储数据,磁盘存储规划建议如下:
不论使用生产系统中虚拟化存储划分的LUN, 还是本地磁盘,一律使用LVM ,便于存储空间扩展。根据达梦数据库物理文件的结构,生产环境规划目录如下:
mkdir –p /dm/app/db # 数据库软件的安装目录 100G
mkidr –p /dm/data # 数据库物理文件的存放目录 1T
mkdir –p /dm/log # 数据库日志文件的存放目录 1.5T
mkdir –p /dm/arch # 归档日志文件存放目录 1.5T
mkdir –p /dm/backup # 存放数据备份文件 4T
生产环境 应将数据库库软件的安装目录和数据存放目录放置在不同的路径下,备份文件和数据库文件分开存放(例如数据文件放置在本机,备份文件放置在nfs存储上,或是不同的虚拟化存储设备上),确保安全。
测试环境 使用一块 100G 的磁盘 /dev/sdb, 划4 个分区:一个磁盘10 G
/dev/sdb1 20G
/dev/sdb2 10G
/dev/sdb3 10G
/dev/sdb4 10G


vgcreate vgapp /dev/sdb1
vgcreate vgdata /dev/sdb2
vgcreate vglog /dev/sdb3
vgcreate vgarch /dev/sdb4
lvcreate -n lvapp -l 5119 vgapp
lvcreate -n lvdata -l 2559 vgdata
lvcreate -n lvlog -l 2559 vglog
lvcreate -n lvarch –l 2559 vgarch
pvcreate /dev/sdc
vgcreate vgbackup /dev/sdc
vgchange -a y vgbackup
lvcreate -n lvbackup -l 2559 vgbackup
# 格式化文件系统
mkfs.xfs /dev/vgapp/lvapp
mkfs.xfs /dev/vgdata/lvdata
mkfs.xfs /dev/vglog/lvlog
mkfs.xfs /dev/vgarch/lvarch
mkfs.xfs /dev/vgbackup/lvbackup
# 绑定相应的目录
使用 blkid /dev/vgapp/lvapp 查询出各个逻辑卷的uuid,然后写入/etc/fstab中永久保存
667e1780-6535-4a4a-b250-113223821856
加入文件,永久保存后,键入命令 mount –a
chown –R dmdba:dinstall /dm
chmod -R 775 /dm
#DM SETTING
fs.aio-max-nr = 1048576 # 最大异步IO 请求数量
fs.file-max = 6815744 # 最大文件句柄数
kernel.shmmax = 3865470566
kernel.shmall = 1048576
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144 # 256k
net.core.rmem_max = 4194304 # 4096k
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
kernel.panic_on_oops = 1
systemctl disable firewalld
systemctl stop firewalld
vim /etc/selinux/config
机械磁盘: deadline
SSD 固态磁盘:noop
[root@dm1 queue]# cat /sys/block/sdb/queue/scheduler
noop [deadline] cfq
su – dmdba
输入之情配置好的目录:/dm/app/db
执行root_installer.sh 脚本:
#!/bin/sh
#run by root
RUID=`/usr/bin/id|awk -F\( '{print $1}'|awk -F\= '{print $2}'`
if [ ${RUID} != "0" ]
then
echo " 必须以 root 身份执行此脚本!"
exit 1
fi
echo " 移动 /dm/app/db/bin/dm_svc.conf 到/etc 目录"
mv "/dm/app/db/bin/dm_svc.conf" /etc/dm_svc.conf
echo " 修改服务器权限"
chmod 6755 "/dm/app/db/bin/dminit"
chmod 6755 "/dm/app/db/bin/dmserver"
chown 0:0 "/dm/app/db/bin/dmcss"
chmod 6755 "/dm/app/db/bin/dmcss"
安装完成,目录结构如下:

安装完成后,查看dmdba 家目录下的.bash_profile 文件,查看环境变量的配置信息。是否由导入了二进制文件和动态链接库文件的加载路径。

使用dminit 命令 + 初始化参数文件 新建数据库,建库前需要规划好相应的参数,部分参数建库后无法更加改。
./dminit control=xxxx.ini
dminit help # 查看帮助信息
可以将初始化参数放入文件中使用control 参数引用
以下列出几个重要参数:
PATH - 数据库相关的物理文件,例如 dm.ini 数据文件 日志文件 控制文件 默认的创建的路径
LOG_PATH - 日志文件路径. 生产建议日志文件的路径和数据文件分开
EXTENT_SIZE – 簇(区)大小
PAGE_SIZE – 页(块)大小
LOG_SIZE - 日志文件大小(256) ,单位为:M ,范围为:64M ~ 2G
CHARSET - 字符集(0) ,可选值:0[GB18030] ,1[UTF-8] ,2[EUC-KR]
DB_NAME – 数据库的名称
INSTANCE_NAME - 实例的名称
PORT_NUM – 数据库服务对外访问的端口号
ELOG_PATH - 指定初始化过程中生成的日志文件所在路径
建库完成后,在 DM 服务器运行期间,可以通过查询 V$DM_INI 动态视图查看建库参数的具体信息。
实例:
vim /dm/app/db/createdb.ini
[ERP] # 实例名大小写不敏感
system_path=/dm/data/
db_name=ERP
extent_size=16 # 单位页
page_size=8 # 单位k
charset=0
main=/dm/data/ERP/main.dbf
main_size=100
roll=/dm/data/ERP/roll.dbf
roll_size=200 # 生产建议20G
system=/dm/data/ERP/system.dbf
system_size=200 # 生产建议20G
ctl_path=/dm/data/ERP/dm.ctl
ctl_size=8
port_num=5236
log_size=50 # 生产建议200m 以上
log_path=/dm/log/ERP/redo01a.log
log_path=/dm/log/ERP/redo02a.log
log_path=/dm/log/ERP/redo03a.log
已后台服务的形式运行数据库软件,也就是配置成一个damon 进程。使用dm 提供的脚本去添加一个数据库服务。以root 身份去执行该脚本。
su - root
cd /dm/app/db/script/root
./dm_service_installer.sh –h
./dm_service_installer.sh -t dmserver -p ERP -dm_ini /dm/data/ERP/dm.ini
systemctl start DmServiceERP
systemctl enable DmServiceERP
生产环境不建议使用过于简单的密码,dm 数据库使用PWD_POLICY 参数来限制密码的复杂度。建议使用1248 的组合,也就是1+2+4+8=1 。系统级参数,可动态修改。修改后全局立即生效。
SQL> alter system set 'PWD_POLICY'=15;


生产环境下数据库必须配置成归档模式,步骤如下:
SQL> alter database mount;
SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=/dm/arch/ERP, TYPE=LOCAL, FILE_SIZE=256';
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
由此可见,归档是一次分配指定的空间。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69949697/viewspace-2710378/ ,如需转载,请注明出处,否则将追究法律责任。