DM安装实施文档
DM8 linux 单机
版本 |
V1.0 |
编写 |
刘备 |
日期 |
2022/3/14 |
主节点
确认项 |
版本 |
说明 |
操作系统版本 |
Centos7.6 |
|
服务器内存 |
2G |
|
服务器存储空间 |
40G |
|
数据库安装包 |
dm8_20210712_x86_rh6_64_ent_8.1.2.38_pack1.iso |
|
是否有授权文件 |
否 |
备节点
确认项 |
版本 |
说明 |
操作系统版本 |
Centos7.6 |
|
服务器内存 |
2G |
|
服务器存储空间 |
40G |
|
数据库安装包 |
dm8_20210712_x86_rh6_64_ent_8.1.2.38_pack1.iso |
|
是否有授权文件 |
否 |
监视服务器
确认项 |
版本 |
说明 |
操作系统版本 |
Centos7.6 |
|
服务器内存 |
2G |
|
服务器存储空间 |
40G |
|
数据库安装包 |
dm8_20210712_x86_rh6_64_ent_8.1.2.38_pack1.iso |
|
是否有授权文件 |
否 |
A机器 |
B机器 |
|||||
业务IP(对外服务IP) |
124.221.175.43 |
124.221.179.140 |
||||
心跳IP(内部通讯IP) |
101.43.242.98 |
124.221.179.140 |
||||
实例名 |
DMRW1 |
DMRW2 |
||||
实例端口 |
5236 |
5236 |
||||
MAL端口 |
5336 |
5336 |
||||
MAL守护进程端口 |
5436 |
5436 |
||||
守护进程端口 |
5536 |
5536 |
||||
OGUID |
45331 |
DB_NAME |
DMRW |
|||
守护组 |
GRP_RW |
|||||
安装目录 |
$DB_HOME |
|||||
实例目录 |
/dmdata |
|||||
归档目录 |
/dmarch |
归档上限 |
? |
|||
备份目录 |
/dmbk |
|||||
确认监视器IP |
101.43.242.98 |
主节点、备节点以及监视器服务器都要按照第二节的步骤操作
firewall-cmd --state --查看防火墙状态
systemctl stop firewalld.service --关闭防火墙服务
systemctl disable firewalld.service --禁止开机启动
# vim /etc/sysconfig/selinux 把 SELINUX=enforcing 替换为: SELINUX=disabled 重启操作系统 |
以root用户登录到
groupadd -g 12349 dinstall
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba
vi /etc/systemd/system.conf
DefaultLimitCORE=infinity
DefaultLimitNOFILE=100000
DefaultLimitNPROC=100000
vim /etc/security/limits.conf
文件末尾添加如下内容:
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft stack 65536
dmdba hard stack 65536
然后重启服务器
mkdir /dmdata mkdir /dmarch mkdir /dmbk chown dmdba:dinstall /dmdata -R chown dmdba:dinstall /dmarch -R chown dmdba:dinstall /dmbk -R |
挂在安装镜像
mount -o loop /root/dm8_20210712_x86_rh6_64_ent_8.1.2.38_pack1.iso /mnt
[dmdba@L602PC01 ~]$ vi .bash_profile
####################### DM #########################
export DM_HOME="/home/dmdba/dmdbms"
export PATH=$PATH:/home/dmdba/dmdbms/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin
source .bash_profile 使环境变量生效
[dmdba@VM-20-13-centos mnt]$cd /mnt
[dmdba@VM-20-13-centos mnt]$ ./DMInstall.bin -i
Please select the installer's language (E/e:English C/c:Chinese) [E/e]:C
解压安装程序..........
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n
是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
[ 1]: GTM-12=日界线西
[ 2]: GTM-11=萨摩亚群岛
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋时间(美国和加拿大)
[ 6]: GTM-07=亚利桑那
[ 7]: GTM-06=中部时间(美国和加拿大)
[ 8]: GTM-05=东部部时间(美国和加拿大)
[ 9]: GTM-04=大西洋时间(美国和加拿大)
[10]: GTM-03=巴西利亚
[11]: GTM-02=中大西洋
[12]: GTM-01=亚速尔群岛
[13]: GTM=格林威治标准时间
[14]: GTM+01=萨拉热窝
[15]: GTM+02=开罗
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯兰堡
[19]: GTM+06=达卡
[20]: GTM+07=曼谷,河内
[21]: GTM+08=中国标准时间
[22]: GTM+09=汉城
[23]: GTM+10=关岛
[24]: GTM+11=所罗门群岛
[25]: GTM+12=斐济
[26]: GTM+13=努库阿勒法
[27]: GTM+14=基里巴斯
请选择设置时区 [21]:
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:
所需空间: 1181M
请选择安装目录 [/home/dmdba/dmdbms]:
可用空间: 28G
是否确认安装路径(/home/dmdba/dmdbms)? (Y/y:是 N/n:否) [Y/y]:y
安装前小结
安装位置: /home/dmdba/dmdbms
所需空间: 1181M
可用空间: 28G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y
2022-03-15 15:21:24
[INFO] 安装达梦数据库...
2022-03-15 15:21:24
[INFO] 安装 基础 模块...
2022-03-15 15:21:28
[INFO] 安装 服务器 模块...
2022-03-15 15:21:28
[INFO] 安装 客户端 模块...
2022-03-15 15:21:35
[INFO] 安装 驱动 模块...
2022-03-15 15:21:37
[INFO] 安装 手册 模块...
2022-03-15 15:21:37
[INFO] 安装 服务 模块...
2022-03-15 15:21:38
[INFO] 移动日志文件。
2022-03-15 15:21:38
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/home/dmdba/dmdbms/script/root/root_installer.sh
安装结束
[dmdba@VM-20-13-centos mnt]$
在root用户下执行
/home/dmdba/dmdbms/script/root/root_installer.sh
创建数据库相关文件,包括日志文件、系统表空间数据文件等
注:无特殊要求页大小32,簇大小32,大小写敏感,UTF-8
在dmdba用户下执行
[dmdba@VM-20-13-centos mnt]$ dminit PATH=/dmdata DB_NAME=DMRW PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048 CHARSET=0 CASE_SENSITIVE=Y
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2022-07-09
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dmdata/DAMENG/DAMENG01.log
log file path: /dmdata/DAMENG/DAMENG02.log
write to dir [/dmdata/DAMENG].
create dm database success. 2022-03-15 15:28:31
[dmdba@VM-20-13-centos mnt]$
需要在root用户下执行脚本注册服务
su - root
[root@VM-4-17-centos root]# ./dm_service_installer.sh -t dmserver -dm_ini /dmdata/DMRW/dm.ini -p DMRW
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMRW.service to /usr/lib/systemd/system/DmServiceDMRW.service.
创建服务(DmServiceDMRW)完成
启动服务-切回到dmdba用户
/home/dmdba/dmdbms/script/root
[dmdba@VM-4-17-centos dmdata]$ DmServiceDMRW start
Starting DmServiceDMRW: [ OK ]
[dmdba@VM-4-17-centos dmdata]$
1、启动归档
alter database mount;
alter database add archivelog 'dest=/dmarch,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=10240';
alter database archivelog;
alter database open;
[dmdba@VM-4-17-centos ~]$ dmrman
dmrman V8
RMAN> backup database '/dmdata/DMRW/dm.ini' backupset '/dmbk/bakfull';
backup database '/dmdata/DMRW/dm.ini' backupset '/dmbk/bakfull';
file dm.key not found, use default license!
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[27813], file_lsn[27813]
Processing backupset /dmbk/bakfull
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:00][Remaining:00:00:00]
backup successfully!
time used: 00:00:01.180
RMAN>
scp -r /dmbk/bakfull [email protected]:/dmbk
目前主库处于关闭状态
[dmdba@VM-20-13-centos mnt]$ dminit PATH=/dmdata DB_NAME=DMRW PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048 CHARSET=0 CASE_SENSITIVE=Y
需要在root用户下执行脚本注册服务
su - root
[root@VM-4-17-centos root]# ./dm_service_installer.sh -t dmserver -dm_ini /dmdata/DMRW/dm.ini -p DMRW
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMRW.service to /usr/lib/systemd/system/DmServiceDMRW.service.
创建服务(DmServiceDMRW)完成
启动服务-切回到dmdba用户
/home/dmdba/dmdbms/script/root
[dmdba@VM-4-17-centos dmdata]$ DmServiceDMRW start
Starting DmServiceDMRW: [ OK ]
[dmdba@VM-4-17-centos dmdata]$
[dmdba@VM-4-11-centos bakfull]$ dmrman
dmrman V8
RMAN> restore database '/dmdata/DMRW/dm.ini' from backupset '/dmbk/bakfull';
restore database '/dmdata/DMRW/dm.ini' from backupset '/dmbk/bakfull';
file dm.key not found, use default license!
[Percent:0.00%][Speed:0.00M/s][Cost:00:00:01][Remaining:00:00:00]Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
restore successfully.
time used: 00:00:02.843
RMAN> recover database '/dmdata/DMRW/dm.ini' from backupset '/dmbk/bakfull';
recover database '/dmdata/DMRW/dm.ini' from backupset '/dmbk/bakfull';
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[27813], file_lsn[27813]
备份集[/dmbk/bakfull]备份过程中未产生日志
recover successfully!
time used: 286.080(ms)
RMAN> recover database '/dmdata/DMRW/dm.ini' update db_magic;
recover database '/dmdata/DMRW/dm.ini' update db_magic;
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[27813], file_lsn[27813]
recover successfully!
time used: 00:00:01.041
还原完成后关闭备库
配置参数过程中要保证主库和备库都处于关闭状态。
INSTANCE_NAME = DMRW1
PORT_NUM = 5236
DW_INACTIVE_INTERVAL = 60
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64
ARCH_WAIT_APPLY = 1 #0:高性能 1:事务一致
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dmarch/ #本地归档存放路径
ARCH_FILE_SIZE = 1024 #单个归档大小,单位MB
ARCH_SPACE_LIMIT = 51200 #归档上限,单位MB 业务要求修改
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = DMRW2 #实时归档目标实例名
[dmdba@VM-4-17-centos DMRW]$ cat dmmal.ini
MAL_CHECK_INTERVAL = 5 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 链路断开的时间
[MAL_INST1]
MAL_INST_NAME = DMRW1 #与 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 124.221.175.43 #MAL 系统监听 TCP 内部网络 IP
MAL_PORT = 5336 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 124.221.175.43 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #与 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 5436 #实例对应的守护进程监听 TCP 端口
MAL_INST_DW_PORT = 5536 #守护进程端口
[MAL_INST2]
MAL_INST_NAME = DMRW2 #与 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 124.221.179.140 # MAL 系统监听 TCP 内部网络 IP
MAL_PORT = 5336 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 124.221.179.140 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #与 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 5436 #实例对应的守护进程监听 TCP 端口
MAL_INST_DW_PORT = 5536
[dmdba@VM-4-17-centos DMRW]$ cat dmwatcher.ini
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 45331 #守护护系统唯一 OGUID 值
INST_INI = /dmdata/DMRW/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver #命令行方式启
1、dm.ini
INSTANCE_NAME = DMRW2
PORT_NUM = 5236
DW_INACTIVE_INTERVAL = 60
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64
2、dmarch.ini
ARCH_WAIT_APPLY = 1 #0:高性能 1:事务一致
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dmarch/ #本地归档存放路径
ARCH_FILE_SIZE = 1024 #单个归档大小,单位MB
ARCH_SPACE_LIMIT = 51200 #归档上限,单位MB 业务要求修改
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = DMRW1 #实时归档目标实例名
3、dmmal.ini
[dmdba@VM-4-17-centos DMRW]$ cat dmmal.ini
MAL_CHECK_INTERVAL = 5 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 链路断开的时间
[MAL_INST1]
MAL_INST_NAME = DMRW1 #与 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 124.221.175.43 #MAL 系统监听 TCP 内部网络 IP
MAL_PORT = 5336 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 124.221.175.43 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #与 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 5436 #实例对应的守护进程监听 TCP 端口
MAL_INST_DW_PORT = 5536 #守护进程端口
[MAL_INST2]
MAL_INST_NAME = DMRW2 #与 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 124.221.179.140 # MAL 系统监听 TCP 内部网络 IP
MAL_PORT = 5336 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 124.221.179.140 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #与 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 5436 #实例对应的守护进程监听 TCP 端口
MAL_INST_DW_PORT = 5536
4、dmwatcher.ini
[dmdba@VM-4-17-centos DMRW]$ cat dmwatcher.ini
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 45331 #守护护系统唯一 OGUID 值
INST_INI = /dmdata/DMRW/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver #命令行方式启
dmserver /dmdata/DMRW/dm.ini mount
2、主库指定全局OGUID并启动主库到primary
disql SYSDBA/SYDBA
sp_set_para_value(1,'ALTER_MODE_STATUS',1);
sp_set_oguid(45331);
alter database primary;
sp_set_para_value(1,'ALTER_MODE_STATUS',0);
3、备库指定全局OGUID并启动主库到standby
disql SYSDBA/SYDBA
sp_set_para_value(1,'ALTER_MODE_STATUS',1);
sp_set_oguid(45331);
alter database primary;
sp_set_para_value(1,'ALTER_MODE_STATUS',0);
4、启动守护进程
dmwatcher /dmdata/DMRW/dmwatcher.ini
6、查看数据库状态
Select * from v$instance
查询结果中数据库状态为open 模式为primary或者standby
行号 NAME INSTANCE_NAME INSTANCE_NUMBER HOST_NAME SVR_VERSION DB_VERSION START_TIME STATUS$ MODE$ OGUID DSC_SEQNO DSC_ROLE
---------- ----- ------------- --------------- -------------- -------------------------- ------------------- ------------------- ------- ------- ----------- ----------- --------
1 DMRW1 DMRW1 1 VM-4-17-centos DM Database Server x64 V8 DB Version: 0x7000c 2022-03-23 14:07:39 OPEN PRIMARY 45331 0 NULL
已用时间: 3.748(毫秒). 执行号:403.
切换到root 用户 切换到$DM_HOME/scripts/root 下执行一下指令
./dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /dmdata/DMRW/dmwatcher.ini
DmWatcherServiceWatcher stop
DmServiceDMRW restart
DmWatcherServiceWatcher start
create table test2(id int);
insert into test2 values (100);
commit;
Select * from test2
如果查询结果成功说明主备搭建成功,如果失败需要查看相关日志来分析问题。
vi dmmonitor.ini
MON_DW_CONFIRM = 1 #确认监视器模式
MON_LOG_PATH = /home/dmdba/dmdbms/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60 s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每个日志文件最大 32 MB
MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
[GRP_RW]
MON_INST_OGUID = 45331 #组 GRP_RW 的唯一 OGUID 值
#以下配置为监视器到组 GRP_RW 的守护进程的连接信息,以“IP:PORT”的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 124.221.175.140:5436
MON_DW_IP = 124.221.175.43:5436
脚本在$DM_HOME/scripts/root下
./dm_service_installer.sh -t dmmonitor -p confirm -monitor_ini /dmdata/dmmonitor.ini
DmMonitorServiceconfirm start
登录指令:dmmonitor /dmdata/dmmonitor.ini
状态查看: show
[dmdba@VM-4-17-centos ~]$ dmmonitor /dmdata/dmmonitor.ini
[monitor] 2022-03-23 14:29:04: DMMONITOR[4.0] V8
[monitor] 2022-03-23 14:29:07: DMMONITOR[4.0] IS READY.
[monitor] 2022-03-23 14:29:07: 收到守护进程(DMRW1)消息
WTIME WSTATUS INST_OK INAME ISTATUS IMODE RSTAT N_OPEN FLSN CLSN
2022-03-23 14:29:07 OPEN OK DMRW1 OPEN PRIMARY VALID 10 48350 48350
show
2022-03-23 14:30:52
#================================================================================#
GROUP OGUID MON_CONFIRM MODE MPP_FLAG
GRP_RW 45331 FALSE MANUAL FALSE
<
DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT
124.221.175.43 5436 2022-03-23 14:30:51 GLOBAL VALID OPEN DMRW1 OK 1 1 OPEN PRIMARY DSC_OPEN REALTIME VALID
EP INFO:
INST_IP INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
124.221.175.43 5236 OK DMRW1 OPEN PRIMARY 0 0 REALTIME VALID 4508 48350 4508 48350 NONE
#================================================================================#