达梦主备集群搭建
1. 环境准备
| 主机 | ip地址 | 实例名 | 操作系统 |
|---|---|---|---|
| rh1 | 192.168.44.112 | GRP_SP_1 | Redhat6 |
| rh2 | 192.168.44.111 | GRP_SP_2 | Redhat6 |
添加用户组和用户
root@rh1# groupadd dinstall
root@rh1# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
root@rh1# passwd dmdba
挂载安装包并授权
root@rh1# mount -o loop dm.iso /mnt
root@rh1# cp -a /mnt/DMInstall.bin /dm8/
root@rh1# chown -R dmdba:dinstall DMInstall.bin
root@rh1# su - dmdba
dmdba@rh1$ ./ DMInstall.bin -i
2. 初始化数据库
dmdba@rh1$ mkdir /home/dmdba/dmdbms/data
dmdba@rh1$ cd /home/dmdba/dmdbms/bin
dmdba@rh1$ ./dminit path=/home/dmdba/dmdbms/data db_name=GRP_SP_1 instance_name=GRP_SP_1 PORT_NUM=5236
备库类似

3. 启停主备库数据库
使用前台启动的方式,启停主备库数据库一次。
./dmserver /home/dmdba/dmdbms/data/GRP_SP_1/dm.ini
成功启动后输入exit即可退出。
4. 备份还原
主库备份
./dmrman ctlstmt="backup database '/home/dmdba/dmdbms/data/GRP_SP_1/dm.ini' full to bk_sp backupset'/home/dmdba/dmdbms/bk_sp'"

备库数据库还原:
./dmrman ctlstmt=" restore database '/home/dmdba/dmdbms/data/GRP_SP_2/dm.ini' from backupset '/home/dmdba/dmdbms/data/bk_sp'"

备库数据库恢复:
./dmrman ctlstmt=" recover database '/home/dmdba/dmdbms/data/GRP_SP_2/dm.ini' from backupset '/home/dmdba/dmdbms/data/bk_sp'"

备库更新:
./dmrman ctlstmt="recover database '/home/dmdba/dmdbms/data/GRP_SP_2/dm.ini' update db_magic"

5. 配置主库
5.1修改dm.ini文件
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
5.2配置dmmal.ini文件
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = GRP_SP_1
MAL_HOST = 192.168.44.112
MAL_PORT = 61141
MAL_INST_PORT = 5236
MAL_INST_HOST = 192.168.44.112
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 33141
[MAL_INST2]
MAL_INST_NAME = GRP_SP_2
MAL_HOST = 192.168.44.111
MAL_PORT = 61142
MAL_INST_PORT = 5236
MAL_INST_HOST = 192.168.44.111
MAL_DW_PORT = 52142
MAL_INST_DW_PORT = 33142
5.3配置 dmarch.ini
[CHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP_SP_2
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/dmdbms/data/arch_file
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
5.4配置dmwatcher.ini文件
[GRP_SP]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 10
INST_OGUID = 453332
INST_INI = /home/dmdba/dmdbms/data/GRP_SP_1/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
5.5启动主库
以 Mount 方式启动主库
./dmserver /dm/data/DAMENG/dm.ini mount
5.6设置 OGUID、修改数据库模式
启动命令行工具 disql输入以下语句:
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(453331);
SQL>alter database primary;
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
6. 配置备库
6.1修改dm.ini文件
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
6.2配置dmmal.ini文件
配置MAL系统,各主备库的 dmmal.ini 配置必须完全一致,MAL_HOST 使用内部网络IP,MAL_PORT与dm.ini中PORT_NUM 使用不同的端口值,MAL_DW_PORT 是各实例对应的守护进程之间,以及守护进程和监视器之间的通信端口。
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = GRP_SP_1
MAL_HOST = 192.168.44.112
MAL_PORT = 61141
MAL_INST_PORT = 5236
MAL_INST_HOST = 192.168.44.112
MAL_DW_PORT = 52141
MAL_INST_DW_PORT = 33141
[MAL_INST2]
MAL_INST_NAME = GRP_SP_2
MAL_HOST = 192.168.44.111
MAL_PORT = 61142
MAL_INST_PORT = 5236
MAL_INST_HOST = 192.168.44.111
MAL_DW_PORT = 52142
MAL_INST_DW_PORT = 33142
6.3配置 dmarch.ini
[CHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP_SP_1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/dmdbms/data/arch_file
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
6.4配置dmwatcher.ini文件
[GRP_SP]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 10
INST_OGUID = 453332
INST_INI = /home/dmdba/dmdbms/data/GRP_SP_2/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
6.5启动主库
以 Mount 方式启动主库
./dmserver /dm/data/DAMENG/dm.ini mount
6.6设置 OGUID、修改数据库模式
启动命令行工具 disql
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(453331);
SQL>alter database standby;
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
7. 配置监视器
创建dmmonitor.ini文件,内容如下:
MON_DW_CONFIRM = 1
MON_LOG_PATH = /home/dmdba/dmdbms/mon_log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP_SP]
MON_INST_OGUID = 453332
MON_DW_IP = 192.168.44.112:52141
MON_DW_IP = 192.168.44.111:52142
8. 启动守护进程
主库 ./dmwatcher /home/dmdba/dmdbms/data/GRP_SP_1/dmwatcher.ini
备库 ./dmwatcher /home/dmdba/dmdbms/data/GRP_SP_2/dmwatcher.ini
9. 启动监视器
./dmmonitor /home/dmdba/dmdbms/data/GRP_SP_2/dmmonitor.ini

10. 测试
主库插入数据
./disql SYSDBA/SYSDBA
SQL> create table t1(id int,name varchar2(10));
SQL> insert into t1 values(1,'cyj');
SQL> commit;
SQL> exit
备库查询
./disql SYSDBA/SYSDBA
SQL> select * from t1;

备库查询到数据说明配置正常。

浙公网安备 33010602011771号