dm8主备集群部署(主备自切)

一、安装前准备

1.1、三台服务器(主备自切至少需要三台服务器,手动切换至少需要两台)

1.2、每台服务器中需要装版本一致的dm8数据库软件

1.3、集群规划如下:

 二、配置A机器

  2.1、初始化实例,备份数据库

[dmdba@~]# /opt/dmdbms/bin/dminit PATH=/opt/dmdbms/data/ INSTANCE_NAME=DW1_01 PAGE_SIZE=32 LOG_SIZE=2048
--启动服务
[dmdba@~]# /opt/dmdbms/bin/dmserver /opt/dmdbms/data/DAMENG/dm.ini
--开启归档
[dmdba@~]# /opt/dmdbms/bin/disql SYSDBA/SYSDBA@172.16.1.1:5236
SQL> ALTER DATABASE MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=/opt/dmdbms/data/DAMENG/arch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
SQL> ALTER DATABASE OPEN;
--备份数据
SQL> BACKUP DATABASE BACKUPSET '/opt/dmdbms/data/DAMENG/bak/BACKUP_FILE';
--修改dm.ini
SQL> SP_SET_PARA_VALUE (2,'PORT_NUM',5236);
SQL> SP_SET_PARA_VALUE (2,'DW_INACTIVE_INTERVAL',60);
SQL> SP_SET_PARA_VALUE (2,'ALTER_MODE_STATUS',0);
SQL> SP_SET_PARA_VALUE (2,'ENABLE_OFFLINE_TS',2);
SQL> SP_SET_PARA_VALUE (2,'MAL_INI',1);
SQL> SP_SET_PARA_VALUE (2,'RLOG_SEND_APPLY_MON',64);

关闭数据库服务

2.2、替换dmarch.ini

[dmdba@~]# vi /opt/dmdbms/data/DAMENG/dmarch.ini
[ARCHIVE_LOCAL]
  ARCH_TYPE                = LOCAL  #本地归档类型
  ARCH_DEST                = /opt/dmdbms/data/DAMENG/arch/  #本地归档存放路径
  ARCH_FILE_SIZE           = 1024  #单个归档大小,单位MB
  ARCH_SPACE_LIMIT         = 51200  #归档上限,单位MB
[ARCHIVE_REALTIME]
  ARCH_TYPE                = REALTIME  #实时归档类型
  ARCH_DEST                = DW1_01B  #实时归档目标实例名

2.3、创建dmmal.ini

[dmdba@~]# vi /opt/dmdbms/data/DAMENG/dmmal.ini
MAL_CHECK_INTERVAL         = 10  #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL     = 10  #判定MAL链路断开的时间
MAL_TEMP_PATH              = /opt/dmdbms/data/malpath/  #临时文件目录
MAL_BUF_SIZE               = 512  #单个MAL缓存大小,单位MB
MAL_SYS_BUF_SIZE           = 2048  #MAL总大小限制,单位MB
MAL_COMPRESS_LEVEL         = 0  #MAL消息压缩等级,0表示不压缩

[MAL_INST1]
  MAL_INST_NAME            = DW1_01  #实例名,和 dm.ini的INSTANCE_NAME一致
  MAL_HOST                 = 192.168.1.1  #MAL系统监听TCP连接的IP地址
  MAL_PORT                 = 5336  #MAL系统监听TCP连接的端口
  MAL_INST_HOST            = 172.16.1.1  #实例的对外服务IP地址
  MAL_INST_PORT            = 5236  #实例对外服务端口,和dm.ini的PORT_NUM一致
  MAL_DW_PORT              = 5436  #实例对应的守护进程监听TCP连接的端口
  MAL_INST_DW_PORT         = 5536  #实例监听守护进程TCP连接的端口
[MAL_INST2]
  MAL_INST_NAME            = DW1_01B
  MAL_HOST                 = 192.168.1.2
  MAL_PORT                 = 5336
  MAL_INST_HOST            = 172.16.1.2
  MAL_INST_PORT            = 5236
  MAL_DW_PORT              = 5436
  MAL_INST_DW_PORT         = 5536

2.4、创建dmwatcher.ini

[dmdba@~]# vi /opt/dmdbms/data/DAMENG/dmwatcher.ini
[GDW1]
  DW_TYPE                  = GLOBAL  #全局守护类型
  DW_MODE                  = AUTO  #故障自动切换模式 
  DW_ERROR_TIME            = 20  #远程守护进程故障认定时间
  INST_ERROR_TIME          = 20  #本地实例故障认定时间
  INST_RECOVER_TIME        = 60  #主库守护进程启动恢复的间隔时间
  INST_OGUID               = 45331  #守护系统唯一OGUID值
  INST_INI                 = /opt/dmdbms/data/DAMENG/dm.ini  #dm.ini文件路径
  INST_AUTO_RESTART        = 1  #打开实例的自动启动功能
  INST_STARTUP_CMD         = /opt/dmdbms/bin/dmserver  #命令行方式启动
  RLOG_SEND_THRESHOLD      = 0  #指定主库发送日志到备库的时间阈值,默认关闭
  RLOG_APPLY_THRESHOLD     = 0  #指定备库重演日志的时间阈值,默认关闭

2.5、拷贝实例

[dmdba@~]# scp -r /opt/dmdbms/data/DAMENG dmdba@192.168.1.2:/opt/dmdbms/data/DAMENG

2.6、注册服务

[root@~]# /opt/dmdbms/script/root/dm_service_installer.sh -t dmserver -p DW1_01 -dm_ini /opt/dmdbms/data/DAMENG/dm.ini -m mount
[root@~]# /opt/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /opt/dmdbms/data/DAMENG/dmwatcher.ini

三、配置B机器

3.1、修改dm.ini

[dmdba@~]# vi /opt/dmdbms/data/DAMENG/dm.ini
INSTANCE_NAME              = DW1_01B  #数据库实例名

3.2、替换dmarch.ini

[dmdba@~]# vi /opt/dmdbms/data/DAMENG/dmarch.ini
[ARCHIVE_LOCAL]
  ARCH_TYPE                = LOCAL  #本地归档类型
  ARCH_DEST                = /opt/dmdbms/data/DAMENG/arch/  #本地归档存放路径
  ARCH_FILE_SIZE           = 1024  #单个归档大小,单位MB
  ARCH_SPACE_LIMIT         = 51200  #归档上限,单位MB
[ARCHIVE_REALTIME]
  ARCH_TYPE                = REALTIME  #实时归档类型
  ARCH_DEST                = DW1_01  #实时归档目标实例名

3.3、相同配置项

与A机器DW1_01的dmmal.ini、dmwatcher.ini相同

3.4、注册服务

[root@~]# /opt/dmdbms/script/root/dm_service_installer.sh -t dmserver -p DW1_01B -dm_ini /opt/dmdbms/data/DAMENG/dm.ini -m mount
[root@~]# /opt/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /opt/dmdbms/data/DAMENG/dmwatcher.ini

3.5、恢复数据

[dmdba@~]# /opt/dmdbms/bin/dmrman CTLSTMT="RESTORE DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/opt/dmdbms/data/DAMENG/bak/BACKUP_FILE'"
[dmdba@~]# /opt/dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/opt/dmdbms/data/DAMENG/bak/BACKUP_FILE'"
[dmdba@~]# /opt/dmdbms/bin/dmrman CTLSTMT="RECOVER DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' UPDATE DB_MAGIC"

四、配置监视器

    1、在各节点数据库的bin目录中 存放非确认监视器配置文件。

    2、在确认监视器机器上(非集群节点) 注册确认监视器自启服务。

4.1、创建dmmonitor.ini

[dmdba@~]# vi /opt/dmdbms/bin/dmmonitor.ini
MON_DW_CONFIRM             = 1  #0为非确认,1为确认
MON_LOG_PATH               = ../log  #监视器日志文件存放路径
MON_LOG_INTERVAL           = 60  #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE          = 512  #单个日志大小,单位MB
MON_LOG_SPACE_LIMIT        = 2048  #日志上限,单位MB

[GDW1]
  MON_INST_OGUID           = 45331  #组GDW1的唯一OGUID 值
  MON_DW_IP                = 192.168.1.1:5436  #IP对应MAL_HOST,PORT对应MAL_DW_PORT
  MON_DW_IP                = 192.168.1.2:5436

4.2、注册服务

[root@~]# /opt/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /opt/dmdbms/bin/dmmonitor.ini

4.3、监视器使用命令

命令含义
list查看守护进程的配置信息
show global info查看所有实例组的信息
tip查看系统当前运行状态
login登录监视器
logout退出登录
choose switchover GDW1主机正常:查看可切换为主机的实例列表
switchover GDW1.实例名主机正常:使用指定组的指定实例,切换为主机
choose takeover GDW1主机故障:查看可切换为主机的实例列表
takeover GDW1.实例名主机故障:使用指定组的指定实例,切换为主机
choose takeover force GDW1强制切换:查看可切换为主机的实例列表
takeover force GDW1.实例名强制切换:使用指定组的指定实例,切换为主机

主机故障后,在备机执行SELECT SF_DW_CHECK_TAKEOVER();【1:可接管  0:不可接管】

五、启动服务及查看信息

5.1、启动数据库并修改参数

A机器

[dmdba@~]# /opt/dmdbms/bin/DmServiceDW1_01 start
[dmdba@~]# /opt/dmdbms/bin/disql SYSDBA/SYSDBA@172.16.1.1:5236
SQL> SP_SET_OGUID(45331);
SQL> ALTER DATABASE PRIMARY;

B机器

[dmdba@~]# /opt/dmdbms/bin/DmServiceDW1_01B start
[dmdba@~]# /opt/dmdbms/bin/disql SYSDBA/SYSDBA@172.16.1.2:5236
SQL> SP_SET_OGUID(45331);
SQL> ALTER DATABASE STANDBY;

5.2、启动守护进程

A/B机器:[dmdba@~]# /opt/dmdbms/bin/DmWatcherServiceWatcher start

5.3、启动监视器

[dmdba@~]# /opt/dmdbms/bin/DmMonitorServiceMonitor start

5.4、启停集群

启动流程:A机器DW1_01主库→B机器DW1_01B备库→A/B机器守护进程→监视器

A机器:[dmdba@~]# /opt/dmdbms/bin/DmServiceDW1_01 start
B机器:[dmdba@~]# /opt/dmdbms/bin/DmServiceDW1_01B start
A/B机器:[dmdba@~]# /opt/dmdbms/bin/DmWatcherServiceWatcher start
确认监视器:[dmdba@~]# /opt/dmdbms/bin/DmMonitorServiceMonitor start

停止流程:监视器→A/B机器守护进程→A机器DW1_01主库→B机器DW1_01B备库

确认监视器:[dmdba@~]# /opt/dmdbms/bin/DmMonitorServiceMonitor stop
A/B机器:[dmdba@~]# /opt/dmdbms/bin/DmWatcherServiceWatcher stop
A机器:[dmdba@~]# /opt/dmdbms/bin/DmServiceDW1_01 stop
B机器:[dmdba@~]# /opt/dmdbms/bin/DmServiceDW1_01B stop

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值