达梦数据库主备集群备份恢复--LINUX操作系统

注:手册中的所有IP地址、路径和配置参数,均为参考示例。实际操作请以真实生产环境执行为准。

前期检查

准备数据库备份恢复的配置前提和必要信息

  1. 确认达梦数据库的配置文件dmarch.ini已经创建并配置

示例内容如下:

[ARCHIVE_LOCAL]

  ARCH_TYPE                = LOCAL  #本地归档类型

  ARCH_DEST                = /data/dmdbms/DAMENG/arch/  #本地归档存放路径

  ARCH_FILE_SIZE           = 1024  #单个归档大小,单位MB

  ARCH_SPACE_LIMIT         = 51200  #归档上限,单位MB

[ARCHIVE_REALTIME1]

  ARCH_TYPE                = REALTIME  #实时归档类型

  ARCH_DEST                = GRP1_RT_02  #实时归档目标实例名

  1. 确认dm.ini中的日志归档开关打开

示例内容如下:

ARCH_INI = 1 #打开归档配置

  1. 如果是第一次配置需要重启数据库实例服务器,之前已经配置日志归档的跳过此步

重启命令示例内容如下:

cd /home/dmdba/dmdbms/bin

./DmServiceDMSERVER restart

  1. 在集群中的主库在被恢复之前,确认组OGUID

grep  OGUID  dmwatcher.ini 

grep  OGUID  dmmonitor.ini 

cd /home/dmdba/dmdbms/bin

./disql sysdba/SYSDBA

SQL>SELECT OGUID FROM V$INSTANCE;

SQL>SELECT DB_MAGIC FROM V$RLOG;

  1. 确认DMAP服务已启动

示例内容如下:

ps -ef |grep dmap

    1. 联机备份和恢复

注意:以示例中执行命令的路径以实际执行环境为准。

一、联机备份(建议备份主库)

在disql中,执行联机备份。

示例内容如下:

cd /home/dmdba/dmdbms/bin

./disql sysdba/SYSDBA

执行联机完全备份数据库

示例内容如下:

BACKUP DATABASE FULL BACKUPSET  '/app/bak/db_full_bak_01';

输入exit命令,退出disql环境

二、拷贝主库备份镜像到备库服务器

scp -r /app/bak/db_full_bak_01  dmdba@192.168.0.2:/data/dmbak 

三、脱机恢复:

  1. 停止监视器,停止守护服务,停止数据库实例服务
    1. 停止监视器

cd /home/dmdba/dmdbms/bin

./DmMonitorServiceGRP1_01 stop

    1. 停止守护进程,分别先后在备库和主库上执行

cd /home/dmdba/dmdbms/bin

./DmWatcherServiceWatcher stop

    1. 停止实例服务,分别先后在主库和备库上执行

cd /home/dmdba/dmdbms/bin

./DmServiceGRP1 stop

  1. 启动dmrman备份恢复工具

cd /home/dmdba/dmdbms/bin

./dmrman

  1. 执行脱机还原
    1. 在主库上执行:

RESTORE DATABASE '/app/data/DAMENG/dm.ini' FROM BACKUPSET 'db_full_bak_01';

RECOVER DATABASE '/app/data/DAMENG/dm.ini' FROM BACKUPSET 'db_full_bak_01';

RECOVER DATABASE '/app/data/DAMENG/dm.ini' update db_magic;

    1. 在备库上执行:

RESTORE DATABASE '/app/data/DAMENG/dm.ini' FROM BACKUPSET 'db_full_bak_01';

RECOVER DATABASE '/app/data/DAMENG/dm.ini' FROM BACKUPSET 'db_full_bak_01';

RECOVER DATABASE '/app/data/DAMENG/dm.ini' update db_magic;

  1. 启动服务,配置OGUID 值、主库Primary 模式和备库standby模式

主库启动服务并配置执行操作,注:OGUID根据恢复之前查询的值进行配置

示例如下:

cd /home/dmdba/dmdbms/bin

./DmServiceGRP1 start

./disql sysdba/SYSDBA

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

SQL>sp_set_oguid(443331);

SQL>alter database primary;

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

备库启动服务并配置执行操作,注:OGUID根据恢复之前查询的值进行配置

示例如下:

cd /home/dmdba/dmdbms/bin

./DmServiceGRP1 start

./disql sysdba/SYSDBA

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

SQL>sp_set_oguid(443331);

SQL>alter database standby;

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

  1. 启动守护进程,在主库和备库上分别执行

cd /home/dmdba/dmdbms/bin

./DmWatcherServiceWatcher start

  1. 启动监视器

cd /home/dmdba/dmdbms/bin

./DmMonitorServiceGRP1_01 start

注意:以上示例中执行命令的路径和参数值以实际执行环境为准。

2、脱机备份和恢复

​​​​​​​

  • 脱机备份(建议备份主库)
    1. 停止监视器

cd /home/dmdba/dmdbms/bin

./DmMonitorServiceGRP1_01 stop

    1. 停止守护进程,分别先后在备库和主库上执行

cd /home/dmdba/dmdbms/bin

./DmWatcherServiceWatcher stop

    1. 停止实例服务,分别先后在主库和备库上执行

cd /home/dmdba/dmdbms/bin

./DmServiceGRP1 stop

    1. 脱机完全备份数据库

cd /home/dmdba/dmdbms/bin

./dmrman

BACKUP DATABASE '/app/data/DAMENG/dm.ini' FULL BACKUPSET '/app/bak/offline_bak';

二、拷贝备份镜像到备库服务器

scp -r /app/bak/db_full_bak_01  dmdba@192.168.0.2:/data/dmbak 

三、脱机恢复

  1. 停止监视器、守护服务和实例服务

因为脱机备份时,已经停止,此处确认已经停止集群即可。

如果备份镜像是从其他集群A内拷贝过来,要恢复到集群B,那么请先停止B集群。

步骤参考脱机备份步骤中的停止集群命令。

  1. 启动dmrman备份恢复工具

cd /home/dmdba/dmdbms/bin

./dmrman

  1. 执行脱机还原
    1. 在主库上执行:

RESTORE DATABASE '/app/data/DAMENG/dm.ini' FROM BACKUPSET 'offline_bak';

RECOVER DATABASE '/app/data/DAMENG/dm.ini' FROM BACKUPSET 'offline_bak';

RECOVER DATABASE '/app/data/DAMENG/dm.ini' update db_magic;

    1. 在备库上执行:

RESTORE DATABASE '/app/data/DAMENG/dm.ini' FROM BACKUPSET 'offline_bak';

RECOVER DATABASE '/app/data/DAMENG/dm.ini' FROM BACKUPSET 'offline_bak';

RECOVER DATABASE '/app/data/DAMENG/dm.ini' update db_magic;

  1. 启动服务,配置OGUID 值、主库Primary 模式和备库standby模式

主库启动服务并配置执行操作  注:OGUID根据恢复之前查询的值进行配置

示例如下:

cd /home/dmdba/dmdbms/bin

./DmServiceGRP1 start

./disql sysdba/SYSDBA

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

SQL>sp_set_oguid(443331);

SQL>alter database primary;

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

备库启动服务并配置执行操作,注:OGUID根据恢复之前查询的值进行配置

示例如下:

cd /home/dmdba/dmdbms/bin

./DmServiceGRP1 start

./disql sysdba/SYSDBA

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

SQL>sp_set_oguid(443331);

SQL>alter database standby;

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

  1. 启动守护进程,在主库和备库上分别执行

cd /home/dmdba/dmdbms/bin

./DmWatcherServiceWatcher start

  1. 启动监视器

cd /home/dmdba/dmdbms/bin

./DmMonitorServiceGRP1_01 start

注意:以上示例中执行命令的路径和参数值以实际执行环境为准。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值