一、网络配置:
数据库服务器名称 | db0 (主机) | db1 (备机) | dmm (监视器) |
业务服务名 | dm_server | ||
业务IP | 192.168.222.129 | 192.168.222.128 | |
心跳IP | 10.10.1.115 | 10.10.1.116 | 10.10.1.117 |
PORT_NUM | 5236 | ||
MAL_PORT | 7336 | ||
MAL_DW_PORT | 7536 | ||
MAL_INST_DW_PORT | 7436 | ||
MAL_INST_PORT (与PORT_NUM一致) | 5236 |
二、具体安装步骤:
1.安装前的检查:#前提:安装的DM8数据库版本得要与服务器系统匹配。
cat /proc/cupinfo #查看CPU信息; getconf LONG_BIT #查看系统的位数; cat /proc/version #查看系统版本; uname -a #查看内核; cat /proc/meminfo #查看内存信息; df -h #查看磁盘信息;
2.创建用户:将安装目录放入此用户中
在root用户下
groupadd dinstall #创建一个组;
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba #创建一个用户;
参数解析:-g:指定用户所属组;
-m:自动建用户登入目录;
-d:指定用户登录是的起始目录;
-s:指定用户使用的shell;
passwd dmdba #回车后设置密码;
3.创建目录
(1)在dmdba用户下:
mkdir dmdbms # 数据库安装路径; mkdir dmdata # 数据文件目录; mkdir dmarch # 归档目录; mkdir dmbak # 数据库备份目录; mkdir coredump # 系统core目录; mkdir sqllog # sql日志;
(2)将所有者权限改为dmdba用户:如果目录所有者权限是root,则改成dmdba;
chown dmdba:dinstall -R dmdbms chown dmdba:dinstall -R dmdata chown dmdba:dinstall -R dmarch chown dmdba:dinstall -R dmbak chown dmdba:dinstall -R coredump chown dmdba:dinstall -R sqllog
4.修改dmdba用户资源限制:
(1)切换回root用户
vi /etc/security/limits.conf
编辑limits.conf文件,在文件末尾上添加以下语句:如图
dmdba hard fsize ulimited dmdba soft fsize ulimited dmdba hard nproc 65536 dmdba soft nproc 65536 dmdba hard nofile 65536 dmdba soft nofile 65536 dmdba hard core ulimited dmdba soft core ulimited
切换到dmdba用户
ulimit -a # 查看是否执行成功;
如果显示有open files (-n) 65536 的字样,表明已经生效;
(2)在 /etc/security/limits.d/目录下,如果存在有其他资源限制文件,也需要添加上这些语句;cat /proc/36/limits 查看资源限制信息;
5.安装前的环境准备:
(1)关闭防火墙,设为开机不自启,并关闭selinux;
systemctl stop firewalld # 关闭防火墙; systemctl disable firewalld # 设置为开机不自启;
vim /etc/sysconfig/selinux
进入编辑文件,在末尾添加:
SELINUX=disabled
之后重启机器:reboot
(2)编辑网卡信息:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
编辑变量成ONBOOT=yes
/etc/init.d/network restart # 重启网络
6.安装DM8数据库
(1)切换到root用户;mkdir dmiso创建一个安放ISO镜像文件的目录;利用远 程传输工具XShell或WinSCP等工具,将ISO文件传送进dmiso目录里;
(2)进入dmiso目录
mount -o loop dm8_20200930_x86_rh6_64_ent_8.1.1.134.iso /dmiso #挂载ISO镜像文件;
(3)在dmiso挂载目录下,启动安装脚本:
./DMInstall.bin -i
回车后,根据系统提示现在安装模式和安装路径;
(4)配置环境变量:
vim /home/dmdba/.bash_profile
在末尾添加上
export PATH=$PATH:/home/dmdba/dmdbms/bin export DM_HOME=/home/dmdba/dmdbms export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin
7.初始化实例
(1)主机DW0(到bin目录下执行)
./dminit path=/home/dmdba/dmdbms/data PAGE_SIZE=16 CHARSET=0 LOG_SIZE=2048 DB_NAME=DAMENG INSTANCE_NAME=DW0
(2)备机DW1(bin目录下执行)
./dminit path=/home/dmdba/dmdbms/data PAGE_SIZE=16 CHARSET=0 LOG_SIZE=2048 DB_NAME=DAMENG INSTANCE_NAME=DW1
8.数据库脱机备份
(1)主库备份:
在主库的安装路径的bin目录下,启动DMAP服务:
./DmAPService start # 启动DMAP服务;
ps -ef|grep dmap # 查看DMAP服务是否启动;
./dmrman # 进入RMAN工具;
backup database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini’ backupset ‘/home/dmdba/dmbakup/dbfull’; # 执行全库备份;
(2)还原主库:
将备份文件/home/dmdba/dmbakup/dbfull复制到备库上,在开启DMAP服务 后,进入RMAN工具,依次执行:
restore database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini’ from backupset ‘/home/dmdba/dmbakup/dbfull’; # 执行restore语句; recover database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini’ from backupset ‘/home/dmdba/dmbakup/dbfull’; # 执行recover语句; recover database ‘/home/dmdba/dmdbms/data/DAMENG/dm.ini’ update db_magic; # 执行recover update db_magic语句;
9.修改配置文件
(1)主、备机上分别都修改:
vim /home/dmdba/dmdbms/data/DAMENG/dm.ini
编辑文件中的参数改为:
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
(2)配置归档配置文件:新建dmarch.ini文件(主)
vim /home/dmdba/dmdbms/data/DAMENG/dmarch.ini
添加内容:
[ARCHIVE_REALTIME1] ARCH_TYPE = REALTIME ARCH_DEST = dw1 [ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ARCH_DEST = /dmarch ARCH_FILE_SIZE = 2048 ARCH_SPACE_LIMIT = 102400
(3)配置MAL系统配置文件:新建dmmal.ini
vim /home/dmdba/dmdbms/data/DAMENG/dmmal.ini
添加内容:
MAL_CHECK_INTERVAL = 5 MAL_CONN_FAIL_INTERVAL = 15 [MAL_INST1] MAL_INST_NAME = dw0 MAL_HOST = 10.10.1.115 MAL_PORT = 7336 MAL_INST_HOST = 192.168.222.129 MAL_INST_PORT = 5236 MAL_DW_PORT = 7536 MAL_INST_DW_PORT = 7436 [MAL_INST2] MAL_INST_NAME = dw1 MAL_HOST = 10.10.1.116 MAL_PORT = 7336 MAL_INST_HOST = 192.168.222.128 MAL_INST_PORT = 5236 MAL_DW_PORT = 7536 MAL_INST_DW_PORT = 7436
(4)配置守护进程配置文件dmwatcher.ini
vim /home/dmdba/dmdbms/data/DAMENG/dmwatcher.ini
添加内容:
[GRP_DW] DW_TYPE = GLOBAL DW_MODE = MANUAL DW_ERROR_TIME = 30 INST_RECOVER_TIME = 60 INST_ERROR_TIME = 20 INST_OGUID = 453331 INST_INI = /home/dmdba/dmdbms/data/DAMENG/dm.ini INST_AUTO_RESTART = 1 INST_STARTUP_CMD = /home/dmdba/dmdbms/data/bin/dmserver
(5)将 dmarch.ini、dmmal.ini、dmwatcher.ini文件scp到备机上:
scp dmarch.ini dmmal.ini dmwatcher.ini root@192.168.222.128:/home/dmdba/dmdbms/data/DAMENG
(6)将dmarch.ini、dmmal.ini、dmwatcher.ini文件所有者权限改为dmdba用户
chown dmdba:dinstall -R /home/dmdba/dmdbms/data/DAMENG/dmarch.ini chown dmdba:dinstall -R /home/dmdba/dmdbms/data/DAMENG/dmmal.ini chown dmdba:dinstall -R/home/dmdba/dmdbms/data/DAMENG/dmwatcher.ini
再将备库的dmarch.ini文件中的ARCH_DEST改成ARCH_DEST=DW0
(7)修改主备库状态和oguid
在主库上,将目录/home/dmdba/dmdbms/bin/service_template中的DmService 复制到bin目录下:
cp DmService /home/dmdba/dmdbms/bin # 将DmService 复制到bin目录;
vim DmService # 进入DmService编辑;
修改DmService文件内的INI_PATH的值为主库的dm.ini路径;启动主库模 式为mount;
(8)后台启动数据库(主库):
./DmService start #后台启动数据库服务;
./disql SYSDBA/SYSDBA@192.168.129:5236 #用disql连接主库;
SP_SET_OGUID(453331); # 修改oguid; alter database primary; # 将数据库改成primary模式;
同样的步骤配置备库,将数据库模式改成standby;
./DmService start #后台启动数据库服务;
./disql SYSDBA/SYSDBA@192.168.128:5236 #用disql连接主库;
SP_SET_OGUID(453331); # 修改oguid; alter database standby; # 将数据库改成standby模式;
10.修改后台启动脚本
(1)修改守护进程后台启动脚本:
在主机、备机上,将目录/home/dmdba/dmdbms/bin/service_template中的DmWatcherService复制到bin下:
cp DmWatcherService /home/dmdba/dmdbms/bin
再编辑vim DmWatcherService,修改参数为主备机的dmwatcher.ini文件目录:
INI_PATH=/home/dmdba/dmdbms/data/DAMENG/dmwatcher.ini
(2)修改监视器后台启动进程脚本:
先将监视器服务器在目录/home/dmdba/dmdbms/bin/service_templat中的DmMonitorService复制到bin目录下,然后新建监视器配置文件dmmonitor.ini:
vim /home/dmdba/dmdbms/data/DAMENG/dmmonitor.ini
添加内容:
MON_DW_CONFIRM = 0 #普通监视器模式 MON_LOG_PATH = /home/dmdba/dmdbms/log #监视器日志文件存放路径 MON_LOG_INTERVAL = 60 #每隔 60 s 定时记录系统信息到日志文件 MON_LOG_FILE_SIZE = 200 #每个日志文件最大 32 MB MON_LOG_SPACE_LIMIT = 1024 #不限定日志文件总占用空间 [GRP_DW] MON_INST_OGUID = 453331 #组 GRP_DW 的唯一 OGUID 值 MON_DW_IP = 10.10.1.115:7536 MON_DW_IP = 10.10.1.116:7536
之后vim DmMonitorService修改参数为:
INI_PATH=/home/dmdba/dmdbms/data/DAMENG/dmmonitor.ini
(3)配置sql日志
主、备机分别都切换到/home/dmdba/dmdbms/data/DAMENG目录下
vim sqllog.ini
修改内容为:
BUF_TOTAL_SIZE = 10240 BUF_SIZE = 1024 BUF_KEEP_CNT = 6 [SLOG_ALL] FILE_PATH =/home/dmdba/dmdbms/sqllog PART_STOR = 1 SWITCH_MODE = 2 SWITCH_LIMIT = 512 ASYNC_FLUSH = 1 FILE_NUM = 10 ITEMS = 0 SQL_TRACE_MASK = 7:14:15:22:24:25:26:27:28 MIN_EXEC_TIME = 1500 USER_MODE = 0 USERS =
11.启动守护进程/监视器进程
(1)启动守护进程:(主备机都执行)
切换su - dmdba,进入目录/home/dmdba/dmdbms/bin
./DmWatcherService satrt # 开启守护进程;
./DmMonitorService start # 后台开启监视器;
./dmmonitor /home/dmdba/dmdbms/data/DAMENG/dmmonitor.ini # 前台启动监视器
输入 show 命令查看集群状态:
其中守护进程状态 WSTATUS 为 OPEN,实例状态 ISTATUS 为 OPEN, 归档类型 RTYPE为 TIMELY,归档状态 RSTAT 为VALID。
(2)登录主库:
./disql SYSDBA/SYSDBA@192.168.222.129:5236
新建一个测试 表,并插入数据:
create table test(id int); insert into test values(1); commit;
(3)登录备库查看同步情况:
./disql SYSDBA/SYSDBA@192.168.222.128:5236
select * from test;
修改打开文件资源限制,如果设置数目小于65536,在安装数据库时,系统会显示打开文件数过少,至少设置为65536或更多。如果设置打开文件数少于65536而继续安装,系统则会自动更改规划安装目录。
更多资讯请上达梦技术社区了解: https://eco.dameng.com