洞察探索open banking如何通过小程序容器技术助力金融企业实现数据安全和数字化转型
861
2022-08-30
DM8读写分离集群配置
一、服务器环境说明
本次准备3台服务器用于安装DM8主备集群,数据库软件安装在/dm8目录下,具体规化如下:
主库
主机名:DM8-P IP地址: 10.4.8.225
备库
主机名:DM8-S IP地址: 10.4.8.226
监视器
主机名:DM8-M IP地址:10.4.8.227
数据库名、实例名、端口规化如下:
数据库 | 实例名 | 实例端口 PORT_NUM | 本地实例守护进程端口MAL_INST_DW_PORT | MAL系统端口 MAL_PORT | 守护进程监听端口MAL_DW_PORT |
DMDB | DB_RT_01 | 5237 | 52225 | 55225 | 65225 |
DMDB | DB_RT_02 | 5237 | 52226 | 55226 | 65226 |
二、安装前准备工作
为了更方便的使用disql,安装rlwrap-0.37.tar.gz包,大概安装步骤如下
yum install -y readline* #安装依赖包
tar -xf rlwrap-0.37.tar.gz
cd rlwrap-0.37/
./configure
make && make install
安装完成后,配置dmdba用户.bash_profile文件,增加如下配置
三、在主和备库服务器上初始化实例
主库实例初始化
./dminit path=/dm8/data/ DB_NAME=DMDB INSTANCE_NAME=DB_RT_01 PORT_NUM=5237
备库实例初始化
./dminit path=/dm8/data/ DB_NAME=DMDB INSTANCE_NAME=DB_RT_02 PORT_NUM=5237
初始化完成实例后,查看端口号和实例名称是否正确(主和备都要查看)
四、备份主库,将备份文件拷贝到备服务器
1、备份主库
cd /dm8/bin
./dmserver /dm8/data/DMDB/dm.ini
启动完成后,CTRL+C结束进程,进行备份
创建备份目录
mkdir /dm8/backup
进行全备
dmrman
>BACKUP DATABASE '/dm8/data/DMDB/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dm8/backup/BACKUP_FILE_01'
查看并拷贝备份
cd /dm8/backup
scp -rp BACKUP_FILE_01/ 10.4.8.226:/dm8/backup
注:确保备服务器的/dm8目录下有backup目录
2、备库上恢复
cd /dm8/bin
./dmserver /dm8/data/DMDB/dm.ini
启动完成后,CTRL+C结束进程,进行备份
dmrman
>RESTORE DATABASE '/dm8/data/DMDB/dm.ini' FROM BACKUPSET '/dm8/backup/BACKUP_FILE_01/'
>RECOVER DATABASE '/dm8/data/DMDB/dm.ini' FROM BACKUPSET '/dm8/backup/BACKUP_FILE_01/'
>RECOVER DATABASE '/dm8/data/DMDB/dm.ini' UPDATE DB_MAGIC
五、修改配置文件
1、修改主库配置文件
1.1修改dm.ini文件
修改完成后查看
grep -Eiw 'port_num|instance_name|dw_inactive_interval|alter_mode_status|enable_offline_ts|mal_ini|arch_ini|rlog_send_apply_mon' dm.ini
1.2创建dmmal.ini文件
[dmdba@dm8-1 DMDW]$ cat >> dmmal.ini << EOF
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = DB_RT_01
MAL_HOST = 10.4.8.225
MAL_PORT = 55225
MAL_INST_HOST = 10.4.8.225
MAL_INST_PORT = 5237
MAL_DW_PORT = 65225
MAL_INST_DW_PORT = 52225
[MAL_INST2]
MAL_INST_NAME = DB_RT_02
MAL_HOST = 10.4.8.226
MAL_PORT = 55226
MAL_INST_HOST = 10.4.8.226
MAL_INST_PORT = 5237
MAL_DW_PORT = 65226
MAL_INST_DW_PORT = 52226
注:修改IP和端口为服务器真实规化IP地址和端口
1.3创建dmarch.ini文件
注:红色字体部分是主备配置不一样的地方,主上写备的实例名,备上写主的实例名,注意/dm8/arch目录是否创建
[dmdba@dm8-1 DMDW]$ cat >> dmarch.ini << EOF
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DB_RT_02
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
1.4创建dmwatcher.ini文件
[dmdba@dm8-1 DMDW]$ cat >> dmwatcher.ini << EOF
[DBRT1]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 10
INST_OGUID = 453331
INST_INI = /dm8/data/DMDB/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
1.5以mount方式启动主库
cd /dm8/bin
[dmdba@dm8-1 ~]$ dmserver /dm8/data/DMDB/dm.ini mount
1.6主库启动后的修改
[dmdba@dm8-1 tool]$ ./disql sysdba/SYSDBA@localhost:5237
disql V8
SQL> conn sysdba/SYSDBA@localhost:5237
服务器[localhost:5256]:处于主库打开状态
注:如果输入disql进入后,提示未连接,使用conn 再连接一次
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);
2、修改备库配置文件
2.1修改dm.ini配置文件
修改内容和主库一样
grep -Eiw 'port_num|instance_name|dw_inactive_interval|alter_mode_status|enable_offline_ts|mal_ini|arch_ini|rlog_send_apply_mon' dm.ini
2.2 修改其余3个文件
主库和备库的dmmal.ini和dmwatcher.ini文件内容一样,只有dmarch.ini存在一点差异,从主库上scp这三个文件到到备库,只修改dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DB_RT_01
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
2.3以mount方式启动备库
cd /dm8/bin
[dmdba@dm8-2 ~]$ dmserver /dm8/data/DMDB/dm.ini mount
2.4备库启动后的修改
注:如果disql登录后,提示未连接,处理如上conn
disql sysdba/SYSDBA@localhost:5237
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
sp_set_oguid(453331);
alter database standby;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
3、启动dmwatcher
3.1主服务器上启动dmwatcher
dmwatcher /dm8/data/DMDB/dmwatcher.ini
3.2备服务器启动dmwatcher
dmwatcher /dm8/data/DMDB/dmwatcher.ini
四、监视器配置
在主和备库上完成配置,启以mount方式启动了实例和启动了守护进程后,在DM-M服务器上操作,创建dmmonitor.ini文件
cd /dm8
mkdir /dm8/data/log -p
cat >>dmmonitor.ini << EOF
MON_DW_CONFIRM = 1
MON_LOG_PATH = /dm8/data/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[DBRT1]
MON_INST_OGUID = 453331
MON_DW_IP = 10.4.8.225:65225
MON_DW_IP = 10.4.8.226:65226
启动监视器
dmmonitor /dm8/dmmonitor.ini
启动后可用show查看相应的状态,WSTATUS为OPEN,WCTLSTAT为VALID 代表配置成功
五、测试主备集群
主备上操作
备库上查看
六、注册自动启动服务
在主库和备库上注册实例服务、守护进程服务开机自启(DM-P和DM-S)
以下操作都要以root身份执行
cd /dm8/script/root
实例
主库
./dm_service_installer.sh -t dmserver -p DB_RT_01 -m mount -dm_ini /dm8/data/DMDB/dm.ini
systemctl enable DmServiceDB_RT_01
备库
./dm_service_installer.sh -t dmserver -p DB_RT_02 -m mount -dm_ini /dm8/data/DMDB/dm.ini
systemctl enable DmServiceDB_RT_02
守护进程
./dm_service_installer.sh -t dmwatcher -p DMWATCHER -watcher_ini /dm8/data/DMDB/dmwatcher.ini
systemctl enable DmWatcherServiceDMWATCHER
在监视器服务器上注册监视器服务开机自启(DM-M)
监视器
./dm_service_installer.sh -t dmmonitor -p DMMONITOR -monitor_ini /dm8/dmmonitor.ini
systemctl enable DmMonitorServiceDMMONITOR
完成以上配置后,重启3台服务器,查看服务是否能正常启动,实例状态是否正常
实时主备集群重启有顺序要求:
1、关闭监视器
2、关闭主库守护进程
3、关闭备库守护进程
4、关闭主库实例
5、关闭备库实例
6、启动主库实例 (mount)
7、启动备库实例 (mount)
8、启动主库守护进程 (open)
9、启动备库守护进程 (open)
10、启动监视器
重启后查看主、备、监视器服务运行正常,登录数据库状态正常
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~