搭建实时主备异步备库

1、 安装数据库并初始化

1.1安装数据库

检查网络是否通
关闭防火墙或开放相应的端口
检查系统变量
查看cpu信息

cat /proc/cpuinfo或lscpu

查看操作系统

cat /etc/*lease*

查看内存信息

free –m

注意:物理内存至少1G,swap分区一般为物理内存的1.5倍
新建用户用户组

groupadd -g dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba

查看系统资源

ulimit -a

修改系统资源限制(用root用户)

vi /etc/security/limits.conf

在文件后增加

dmdba soft nice 0
dmdba hard nice 0
dmdba soft as unlimited
dmdba hard as unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft data unlimited
dmdba hard data unlimited

使用dmdba用户安装

1.2初始化

在安装目录的bin目录下
查看dminit的参数

./dminit help
./dminit path=/dmdata/data log_size=1024 page_size=16

1.3打开归档

vi dm.ini
ARCH_INI = 1
vi dmarch.ini
[ARCHIVE_LOCAL1]
        ARCH_TYPE            = LOCAL
        ARCH_DEST            = /dmdata/arch
        ARCH_FILE_SIZE       = 64
        ARCH_SPACE_LIMIT     = 1024
alter database mount;
alter database add archivelog ‘type=local,dest=/dmdata/arch.file_size=64,space_limit=1024’;
alter database archivelog;
alter database open;

2、 备份还原

如果实时主备守护环境已经处于运行状态,需要先正常退出主备库实例和守护进程。

2.1备份

./dmrman CTLSTMT="BACKUP DATABASE '/dmdata/data/DAMENG/dm.ini' FULL BACKUPSET '/dmdata/bak/bak_full_file_01'"

2.2还原

./dmrman CTLSTMT="RESTORE DATABASE '/dmdata/data/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/bak/bak_full_file_01'"
./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/data/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/bak/bak_full_file_01'" 
./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/data/DAMENG/dm.ini' UPDATE DB_MAGIC"

3、主库

3.1dm.ini

MAL_INI=1
ARCH_INI=1
TIMER_INI=1

3.2dmmal.ini

MAL_CHECK_INTERVAL=5
MAL_CONN_FAIL_INTERVAL=5
[MAL_INST1]
MAL_INST_NAME=GRP1_RT_01
MAL_HOST=192.168.186.101
MAL_PORT=61141
MAL_INST_HOST=192.168.186.101#心跳ip
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.186.102
MAL_PORT=61142
MAL_INST_HOST=192.168.186.102#心跳ip
MAL_INST_PORT=5236
MAL_DW_PORT=52142
MAL_INST_DW_PORT=33142
[MAL_INST3]
MAL_INST_NAME = GRP1_LOCAL_01 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.186.104 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 61143 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.186.104 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 52143 #实例对应的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 33143 #实例监听守护进程 TCP 连接的端口

3.3dmarch.ini

ARCH_WAIT_APPLY=1#事务一致性
[ARCH_REALTIME]
ARCH_TYPE=REALTIME
ARCH_DEST=GRP1_RT_02
[ARCHIVE_ASYNC]
ARCH_TYPE = ASYNC #异步归档类型
ARCH_DEST = GRP1_LOCAL_01 #异步归档目标实例名
ARCH_TIMER_NAME = RT_TIMER #定时器名称,和 dmtimer.ini 中的名称一致
[ARCHIVE_LOCAL1]
        ARCH_TYPE            = LOCAL
        ARCH_DEST            = /dmdata/arch
        ARCH_FILE_SIZE       = 64
        ARCH_SPACE_LIMIT     = 1024
        ARCH_FLUSH_BUF_SIZE  = 0

3.4dmwatcher.ini

[GRP1]
DW_TYPE=GLOBAL
DW_MODE=MANUAL
DW_ERROR_TIME=10
INST_RECOVER_TIME=60
INST_ERROR_TIME=10
INST_OGUID=210128#和当天时间一致
INST_INI=/dmdata/data/DAMENG/dm.ini
INST_AUTO_RESTART=1
INST_STARTUP_CMD=/home/dmdba/dmdbms/bin/dmserver
RLOG_SEND_THRESHOLD=0
RLOG_APPLY_THRESHOLD=0

3.5dmtimer.ini

[RT_TIMER] #和 dmarch.ini 中的 ARCH_TIMER_NAME 一致
TYPE = 2
FREQ_MONTH_WEEK_INTERVAL = 1
FREQ_SUB_INTERVAL = 0
FREQ_MINUTE_INTERVAL = 0
START_TIME = 00:00:00
END_TIME = 00:00:00
DURING_START_DATE = 2021-01-28 11:41:00
DURING_END_DATE = 9999-12-31 23:59:59
NO_END_DATE_FLAG = 1
DESCRIBE = RT TIMER
IS_VALID = 1

3.6启动实例和守护进程

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

设置oguid

SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);
sp_set_oguid(210128);
alter database primary;
SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',0);

启动守护进程

./dmwatcher /dmdata/data/DAMENG/dmwatcher.ini

4、备库

4.1dm.ini

MAL_INI=1
ARCH_INI=1
TIMER_INI=1

4.2dmmal.ini

MAL_CHECK_INTERVAL=5
MAL_CONN_FAIL_INTERVAL=5
[MAL_INST1]
MAL_INST_NAME=GRP1_RT_01
MAL_HOST=192.168.186.101
MAL_PORT=61141
MAL_INST_HOST=192.168.186.101#心跳ip
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.186.102
MAL_PORT=61142
MAL_INST_HOST=192.168.186.102#心跳ip
MAL_INST_PORT=5236
MAL_DW_PORT=52142
MAL_INST_DW_PORT=33142
[MAL_INST3]
MAL_INST_NAME = GRP1_LOCAL_01 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.186.104 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 61143 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.186.104 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 52143 #实例对应的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 33143 #实例监听守护进程 TCP 连接的端口

4.3dmarch.ini

ARCH_WAIT_APPLY=1#事务一致性
[ARCH_REALTIME]
ARCH_TYPE=REALTIME
ARCH_DEST=GRP1_RT_01
[ARCHIVE_ASYNC]
ARCH_TYPE = ASYNC #异步归档类型
ARCH_DEST = GRP1_LOCAL_01 #异步归档目标实例名
ARCH_TIMER_NAME = RT_TIMER #定时器名称,和 dmtimer.ini 中的名称一致
[ARCHIVE_LOCAL1]
        ARCH_TYPE            = LOCAL
        ARCH_DEST            = /dmdata/arch
        ARCH_FILE_SIZE       = 64
        ARCH_SPACE_LIMIT     = 1024
        ARCH_FLUSH_BUF_SIZE  = 0

4.4dmwatcher.ini

[GRP1]
DW_TYPE=GLOBAL
DW_MODE=MANUAL
DW_ERROR_TIME=10
INST_RECOVER_TIME=60
INST_ERROR_TIME=10
INST_OGUID=210128;
INST_INI=/dmdata/data/DAMENG/dm.ini
INST_AUTO_RESTART=1
INST_STARTUP_CMD=/home/dmdba/dmdbms/bin/dmserver
RLOG_APPLY_THRESHOLD=0

4.5dmtimer.ini

[RT_TIMER] #和 dmarch.ini 中的 ARCH_TIMER_NAME 一致
TYPE = 2
FREQ_MONTH_WEEK_INTERVAL = 1
FREQ_SUB_INTERVAL = 0
FREQ_MINUTE_INTERVAL = 0
START_TIME = 00:00:00
END_TIME = 00:00:00
DURING_START_DATE = 2021-01-28 11:41:00
DURING_END_DATE = 9999-12-31 23:59:59
NO_END_DATE_FLAG = 1
DESCRIBE = RT TIMER
IS_VALID = 1

4.6启动实例和守护进程

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

设置oguid

SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);
sp_set_oguid(210128);
alter database standby;
SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',0);

启动守护进程

./dmwatcher /dmdata/data/DAMENG/dmwatcher.ini

5、异步备库

5.1dm.ini

MAL_INI=1
ARCH_INI=1

5.2dmmal.ini

MAL_CHECK_INTERVAL=5
MAL_CONN_FAIL_INTERVAL=5
[MAL_INST1]
MAL_INST_NAME=GRP1_RT_01
MAL_HOST=192.168.186.101
MAL_PORT=61141
MAL_INST_HOST=192.168.186.101#心跳ip
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.186.102
MAL_PORT=61142
MAL_INST_HOST=192.168.186.102#心跳ip
MAL_INST_PORT=5236
MAL_DW_PORT=52142
MAL_INST_DW_PORT=33142
[MAL_INST3]
MAL_INST_NAME = GRP1_LOCAL_01 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.186.104 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 61143 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.186.104 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 52143 #实例对应的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 33143 #实例监听守护进程 TCP 连接的端口

5.3dmarch.ini

[ARCHIVE_LOCAL1]
        ARCH_TYPE            = LOCAL
        ARCH_DEST            = /dmdata/arch
        ARCH_FILE_SIZE       = 64
        ARCH_SPACE_LIMIT     = 1024
        ARCH_FLUSH_BUF_SIZE  = 0

5.4dmwatcher.ini

[GRP1]
DW_TYPE=LOCAL
DW_MODE=MANUAL
DW_ERROR_TIME=10
INST_ERROR_TIME=10
INST_OGUID=210128;
INST_INI=/dmdata/data/DAMENG/dm.ini
INST_AUTO_RESTART=1
INST_STARTUP_CMD=/home/dmdba/dmdbms/bin/dmserver

5.5启动实例和守护进程

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

设置oguid

SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);
sp_set_oguid(210128);
alter database standby;
SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',0);

启动守护进程

./dmwatcher /dmdata/data/DAMENG/dmwatcher.ini

6、配置监视器

6.1dmmonitor.ini

MON_DW_Confirm = 1 #确认监视器模式
MON_LOG_PATH = /dmdata/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 32 #每个日志文件最大 32M
MON_LOG_SPACE_LIMIT = 0 #不限定日志文件总占用空间
[GRP1]
MON_INST_OGUID = 210128 #组 GRP1 的唯一 OGUID 值
#以下配置为监视器到组 GRP1 的守护进程的连接信息,以―IP:PORT‖的形式配置
#IP 对应 dmmal.ini 中的 MAL_HOST,PORT 对应 dmmal.ini 中的 MAL_DW_PORT
MON_DW_IP = 192.168.186.101:52141
MON_DW_IP = 192.168.186.102:52142
#新增到异步备库 GRP1_LOCAL_01 守护进程的连接信息
MON_DW_IP = 192.168.186.104:52143

7、注册服务

使用root用户

cd /home/dmdba/dmdbms/script/root

注册dmserver服务

./dm_service_installer.sh -t dmserver -m mount -dm_ini /dmdata/data/DAMENG/dm.ini -p DMSERVER1

注册dmwatcher服务

./dm_service_installer.sh -t dmwatcher  -watcher_ini /dmdata/data/DAMENG/dmwatcher.ini –p DMWATCHER1

注册dmmonitor服务

./dm_service_installer.sh -t dmmonitor  -monitor_ini /dmdata/data/DAMENG/dmmonitor.ini -p DMMONITOR

启动主库服务、备库服务、异步备库服务,主库守护进程、备库守护进程、异步备库守护进程。所有实例都处于打开状态搭建完成。

8、作业

创建代理环境

右键作业,新建作业
在这里插入图片描述
输入作业名

添加作业步骤

添加作业调度,每周五晚上十点全备

增量备份

每周天、周一、周二、周三、周四、周六晚上十点做增量备份

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值