Dm8实时主备部署

1、介绍

1.1实时主备

实时主备系统由主库、实时备库、守护进程和监视器组成。通过部署实时主备系统,可以及时检测并处理各种硬件故障、数据库实例异常,确保持续提供数据库服务

1.2归档介绍:

类型:本地归档、远程归档、实时归档、即时归档、异步归档

本地归档:redo日志本地归档,就是由归档线程将redo日志写入到本地归档日志文件的过程。

远程归档:专用于dmdsc环境中。就是将归档目录配置的远程节点上(在dsc环境中每个实例都有自己的归档日志,这些所有的归档合在一起组成完成的归档)。配置方式有两种1、是共享本地归档的远程归档,将远程归档目录配置为另一个节点的本地归档目录。2、通过mal发送到远程节点,并写入远程节点的指定归档目录中。

实时归档(realtime):将主库产生的redo日志通过mal系统发到备库,是实时主备和mpp主备实现的基础。实时归档只在主库生效。执行流程是主库的redo日志写入联机日志文件前,将redo日志发送的备库。

即时归档(timely):在主库将redo日志写入联机日志文件后,通过mal发送redo日志到备库。

异步归档:由主、备库上配置定时器触发,定期扫描本地日志然后通过mal系统发送到异步备库。异步备库执行日志重演。

1.3 MAL系统

基于tcp协议实现的一种内部通信机制,具有可靠、灵活、高效的特性。

作用:实现redo日志传输,以及其他一些实例间的消息通讯。

1.4 OGUID

数据守护唯一标识码,配置数据守护时,需要由用户指定OGUID值。数据库的OGUID在mount状态下由系统函数SP_SET_OGUID设置,守护进程和监视器的OGUID值在配置文件中设定。

注意:同一守护进程组的所有数据库、守护进程和监视器,都必须配置相同的OGUID值。取值范围0-2147483647

查看OGUID:select OGUID from v$instance;

1、备份还原

2.1备份

#停止数据库dmserver服务,启动dmap服务。

su - dmdba

cd /dm8/dmdbms/bin

./DmServiceDMSERVER stop

./DmAPService start

#主库使用dmrman执行备份

./dmrman

RMAN>backup database '/dm8/dmdata/DAMENG/dm.ini' backupset 'full_bak';

2.2 还原

#将主库的备份拷贝到备库,进行还原。

#停止备库的数据库dmserver服务,启动dmap服务。

su - dmdba

cd /dm8/dmdbms/bin

./DmServiceDMSERVER stop

./DmAPService start

#使用dmrman还原

su - dmdba

cd /dm8/dmdbms/bin

RMAN>restore database '/dm8/dmdata/DAMENG/dm.ini' from backupset '/dm8/bak/full_bak';

RMAN>recover database '/dm8/dmdata/DAMENG/dm.ini' from backupset '/dm8/bak/full_bak';

RMAN>recover database '/dm8/dmdata/DAMENG/dm.ini' update db_magic;

3、配置实时主备

3.1 配置dm.ini

#主库 

cd /dm8/dmdata/DAMENG

vi dm.ini

INSTANCE_NAME = GRP1_RT_01

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

#备库

cd /dm8/dmdata/DAMENG

vi dm.ini

INSTANCE_NAME = GRP1_RT_02

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

3.2 配置dmmal.ini

#主库和备库的dmmal.ini配置一样

cd /dm8/dmdata/DAMENG

vi dmmal.ini

MAL_CHECK_INTERVAL = 5

MAL_CONN_FAIL_INTERVAL = 5

[MAL_INST1]

MAL_INST_NAME = GRP1_RT_01

MAL_HOST = 192.168.11.21

MAL_PORT = 61141

MAL_INST_HOST = 192.168.10.21

MAL_INST_PORT = 5236

MAL_DW_PORT = 52141

MAL_INST_DW_PORT = 33141

[MAL_INST2]

MAL_INST_NAME = GRP1_RT_02

MAL_HOST = 192.168.11.22

MAL_PORT = 61142

MAL_INST_HOST = 192.168.10.22

MAL_INST_PORT = 5236

MAL_DW_PORT = 52142

MAL_INST_DW_PORT = 33142

3.3配置dmarch.ini

#主库

cd /dm8/dmdata/DAMENG

vi dmarch.ini

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = GRP1_RT_02

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /dm8/arch

ARCH_FILE_SIZE = 1024

ARCH_SPACE_LIMIT = 512000

#备库

cd /dm8/dmdata/DAMENG

vi dmarch.ini

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME

ARCH_DEST = GRP1_RT_01

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /dm8/arch

ARCH_FILE_SIZE = 1024

ARCH_SPACE_LIMIT = 512000

3.4配置dmwatcher.ini

#主库和备库的dmwatcher.ini配置一样

cd /dm8/dmdata/DAMENG

vi dmwatcher.ini

[GRP1]

DW_TYPE = GLOBAL

DW_MODE = MANUAL

DW_ERROR_TIME = 10

INST_RECOVER_TIME = 60

INST_ERROR_TIME = 10

INST_OGUID = 20210810

INST_INI = /dm8/dmdata/DAMENG/dm.ini

INST_AUTO_RESTART = 1

INST_STARTUP_CMD = /dm8/dmdbms/bin/dmserver

RLOG_SEND_THRESHOLD = 0

RLOG_APPLY_THRESHOLD = 0

3.5设置主备角色

#主库

su - dmdba

cd /dm8/dmdbms/bin

#以mount方式启动主库数据库服务

./dmserver /dm8/dmdata/DAMENG/dm.ini mount

./disql sysdba/SYSDBA

#设置为主库

SQL> SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);

SQL> sp_set_oguid(20210810);

SQL> alter database primary;

SQL> sp_set_para_value(1,'ALTER_MODE_STATUS',0);

SQL> select file_LSN, cur_LSN from v$rlog;

#备库

su - dmdba

cd /dm8/dmdbms/bin

#以mount方式启动备库数据库服务

./dmserver /dm8/dmdata/DAMENG/dm.ini mount

./disql sysdba/SYSDBA

#设置为备库

SQL> SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);

SQL> sp_set_oguid(20210810);

SQL> alter database standby;

SQL> sp_set_para_value(1,'ALTER_MODE_STATUS',0);

SQL> select file_LSN, cur_LSN from v$rlog;

3.6启动守护进程

#主库和备库

#生成dmwatcher服务脚本

./dm_service_installer.sh -t dmwatcher -watcher_ini /dm8/dmdata/DAMENG/dmwatcher.ini -p  DMWATCHER

#启动dmwatcher

cd /dm8/dmdbms/bin

./ DmServiceDMWATCHER start

#守护进程启动后,进入 Startup 状态,此时实例都处于 Mount 状态。守护进程开始广播自身和其监控实例的状态信息,结合自身信息和远程守护进程的广播信息,守护进程将 本地实例Open,并切换为 Open 状态。

3.7配置监视器

#在第三台服务器

mkdir -pv /opt/dmmonitor/{log,config}

#从主库或者备库拷贝/dm8/dmdbms/bin目录到本机/opt/dmmonitor

#使用root用户编辑配置文件dmmonitor_manual.ini

cd /opt/dmmonitor/config

vi dmmonitor_manual.ini

MON_DW_ CONFIRM = 0  #确认监视器模式,0表示普通监视器

MON_LOG_PATH    = /opt/dmmonitor/log      #监视器日志文件存放路径

MON_LOG_INTERVAL    = 60   #每隔60s定时记录系统信息到日志文件

MON_LOG_FILE_SIZE  = 32   #每个日志文件最大32M

MON_LOG_SPACE_LIMIT  = 0        #不限定日志文件总占用空间

[GRP1]

MON_INST_OGUID = 20210810   #组GRP1的唯一OGUID值

#以下配置为监视器到组GRP1的守护进程的连接信息,以“IP:PORT”形式配置

#IP对应dmmal.ini中的MAL_HOST,PORT对应dmmal.ini中的MAL_DW_PORT

MON_DW_IP   = 192.168.11.21:52141

MON_DW_IP   = 192.168.11.22:52142

#启动dmmonitor

cd /opt/dmmonitor/bin

./dmmonitor /opt/dmmonitor/config/dmmonitor_manual.ini

总结

更多资讯请上达梦技术社区了解:https://eco.dameng.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值