第一章 准备工作
1.1环境准备
CentOs 7
dm8_setup_rh7_64_ent_8.1.1.87_20200601.iso 镜像文件
xshell工具
1.2查看系统信息
1.2.1查看cpu相关信息
lscpu
系统要求:内核要求2.6以上,查看linux当前操作系统内核信息
uname –ar
1.2.2查看内存
free -h
物理内存至少为1G,swap分区一般为物理内存的1.5倍
1.2.3查看磁盘
df –h
如果数据库需要开启sql 日志分析,/tmp 分区至少为600M
1.2.4查看网络
ethtool 网卡名
网卡名查询: ip a
1.2.5查看操作系统
cat /etc/*lease*
1.2.6查看操作系统限制
ulimit -a
data seg size:每个进程数据段的最大值,建议用户设置为1048576(1GB)以上或unlimited,此参数过小会导致数据库启动失败
file size:当前shell可创建的最大文件容量,建议unlimited,此参数过小会导致数据库安装或初始化失败
open files:每个进程可以同时打开的最大文件句柄数,建议65536以上或者unlimited
max user processes:每个用户运行的最大进程并发数, 建议修改为10240
virtual memory:当前shell可使用的最大虚拟内存,建议用户设置为1048576(1GB)以上或unlimited
1.2.7查看防火墙
#查看状态
systemctl status firewalld
#关闭/开启防火墙
systemctl start firewalld
systemctl stop firewalld
通用机需要咨询是否可以关闭,不关闭无法连接管理工具
专用机一般都不允许关闭,可以协商开通数据库端口的网络策略
1.2.8查看磁盘调度算法
cat /sys/block/sdb/queue/scheduler
#建议采用deadline算法
#永久的更改I/O调度方法:
vi /boot/grub/menu.lst
kernel /boot/vmlinuz-2.6.32-504.el6 ro root=LABEL=/ elevator=deadline rhgb quiet
1.2.9测试磁盘读写速度
dd if=/dev/zero of=test bs=64k count=4k oflag=dsync
1.2.10检查操作系统内存参数
cat /proc/sys/vm/overcommit_memory
#应该设置为0. 设置为1或者2时可能会出现操作物理内存有空余,但数据库服务无法申请内存的严重问题。
overcommit_memory=0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
overcommit_memory=1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
overcommit_memory=2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
1.3确定相关参数
1.确定页大小,簇大小,大小写是否敏感,字符集(建议用户页32,簇32)
2.根据磁盘大小,规划安装目录(包括软件目录、安装目录、数据文件目录、归档目录、备份目录)
第二章 系统环境配置
2.1修改操作系统参数 (root登陆)
修改ulimit命令中参数设置。
#编辑limits.conf文件
vim /etc/security/limits.conf
#结尾添加以下内容
dmdba soft nproc 10240
dmdba hard nproc 10240
dmdba soft nofile 65536
dmdba hard nofile 65536
2.2创建用户和组以及相关路径 (root登陆)
#创建安装用户组 dinstall
groupadd -g 12349 dinstall
#在dinstall组内创建安装用户dmdba
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
#修改密码
passwd dmdba
#创建/data目录
mkdir /data
#创建安装包目录
mkdir /data/DM7_SOFT
#创建DM安装路径
mkdir /data/dmdbms
#创建DM归档路径
mkdir /data/dmdbms/arch
#创建DM备份路径
mkdir /data/dmdbms/bak
#变更/data目录所属的用户和组
chown -R dmdba:dinstall /data
2.3挂载DM镜像文件(root登陆)
将DM镜像文件通过xshell上传到安装包目录下,/data/DM7_SOFT
#挂载DM镜像
mount /data/ DM7_SOFT /dm8_setup_rh7_64_ent_8.1.1.87_20200601.iso /mnt
#将只读文件复制到安装包目录下
cp /mnt/DMInstall.bin /data/DM_SOFT/
# 卸除挂载
umount /mnt
#变更所属的用户和组
chown dmdba:dinstall DMInstall.bin
chown dmdba:dinstall dm.key
第三章 DM安装以及初始化
3.1安装 (dmdba登陆)
打开新窗口,登陆dmdba用户
#运行安装
cd /data/DM7_SOFT
./DMInstall.bin -i
根据提示进行安装,注意安装目录为:/data/dmdbms/dmdbms
切换root用户,执行脚本
cd /opt/dmdbms/script/root
./root_installer.sh
3.2初始化 (dmdba/root登陆)
#初始化实例
cd /data/dmdbms/dmdbms/bin
./dminit path=/data/dmdbms EXTENT_SIZE=32 PAGE_SIZE=32 LOG_SIZE=2048 CASE_SENSITIVE=y CHARSET=1
(db_name=JGSWGLJ instance_name=DMSERVER_JGSWGLJ port_num=5238 多实例时添加参数)
#切换root用户
su -#
#注册服务
cd /data/dmdbms/dmdbms/script/root
./dm_service_installer.sh -t dmserver -dm_ini /data/dmdbms/DAMENG/dm.ini -p DMSERVER
#切回dmdba用户
exit
#前台启动
cd /data/dmdbms/dmdbms/bin
./dmserver path=/data/dmdbms/DAMENG/dm.ini
#退出前台起的服务
exit
#可以调用图形话界面进行初始化
cd /data/dmdbms/dmdbms/tool
./dbca.sh
3.3修改参数 (dmdba登陆)
#可以查看数据库参数
cd /data/dmdbms/dmdbms/bin
./dminit help
#通过disql连接数据库
cd /data/dmdbms/dmdbms/bin
./disql
#按照脚本修改相关参数(01_1DM安装_参数自动调整.sql)
将脚本通过xshell上传到/data/DM7_SOFT
#重命名
mv 01_1DM安装_参数自动调整.sql 123.sql
执行语句:start /data/DM7_SOFT/123.sql
3.4启动 (dmdba登陆)
cd /data/dmdbms/dmdbms/bin
./DmServiceDMSERVER start
3.4配置归档
可以查看归档是否开启:
SELECT * FROM V$DATABASE;
方法一:脚本方式(联机归档)
ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG 'DEST = /data/dmdbms/arch, TYPE = local,FILE_SIZE = 1024, SPACE_LIMIT = 2048';
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
方法二:手动配置归档
#关闭数据库实例
cd /data/dmdbms/dmdbms/bin
./DmServiceDMSERVER stop
#编辑 dmarch.ini 文件,保存在 dm.ini 所在的目录。
cd /data/dmdbms/DAMENG
#dmarch.ini 文件内容如下:
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /data/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048
#编辑 dm.ini 文件,设置参数 ARCH_INI=1,保存。
#启动数据库实例
cd /data/dmdbms/dmdbms/bin
./DmServiceDMSERVER start
方法三:通过管理工具进行配置
(1)打开达梦数据库管理工具,连接到实例
(2)右键连接,选择“管理服务器”-“系统管理”,选择“配置”状态,点击转换;
(3)选择“归档配置”,归档模式选择“归档”,点击“+”,配置归档目标,归档类型,文件大小,空间限制大小等信息;
(4)选择“系统管理”,选择“打开”状态,点击转换,点击“确定”,配置归档完成。
3.5配置备份策略
#每周六全备
call SP_CREATE_JOB('BAKUP',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('BAKUP');
call SP_ADD_JOB_STEP('BAKUP', 'STEP1', 5, '01000E:\新建文件夹\dmdbms\data\backup', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('BAKUP', 'STEP1', 1, 2, 1, 64, 0, '14:50:51', NULL, '2021-01-13 14:47:51', NULL, '');
--修改调度参数call SP_ALTER_JOB_SCHEDULE('BAKUP', 'STEP1', 1, 2, 1, 64, 0, '14:50:51', NULL, '2021-01-13 14:47:51', NULL, '');
call SP_JOB_CONFIG_COMMIT('BAKUP');
--删除备份任务call SP_DROP_JOB('BAKUP');
#每天增备份,除周六外
call SP_CREATE_JOB('BACKUP_INCREMENT',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('BACKUP_INCREMENT');
call SP_ADD_JOB_STEP('BACKUP_INCREMENT', 'STEP1', 5, '11000000E:\新建文件夹\dmdbms\data\backup|E:\新建文件夹\dmdbms\data\backup\BACKUP_INCREMENT', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('BACKUP_INCREMENT', 'STEP1', 1, 2, 1, 63, 0, '10:04:38', NULL, '2021-01-14 10:04:38', NULL, '');
call SP_JOB_CONFIG_COMMIT('BACKUP_INCREMENT');