DM:不同DB_MAGIC归档启动同一个数据库

不同DB_MAGIC归档启动同一个数据库

事件流程如下:

  • 创建一个数据库D1;
  • 操作数据库并执行数据库备份B1;
  • 继续操作数据库的过程中数据库故障,此时生成的归档为A1;
  • 利用备份B1和归档A1将数据库D1恢复到目标库D2,此时数据库D2为D1故障前的状态;
  • 启动数据库D2,操作数据库过程中数据库第二次故障,此时生成的归档为A2。

归档A1、A2属于不同的数据库,使用备份B1和归档A1、A2是否可以恢复数据库到第二次故障发生前的状态呢?

1、查看D1状态

select name,status$,mode$ from v$instance;

select arch_mode from v$database;

select name from v$archived_log;

2、操作数据库的同时备份数据库,备份集为B1。此处以向表中循环插入数据为例来操作数据库

CREATE TABLE TAB_FOR_RECOVER(C1 INT);

BEGIN

FOR I IN 1..100000 LOOP

INSERT INTO TAB_FOR_RECOVER VALUES(I);

COMMIT;

END LOOP;

END;

/

在插入数据的同时,另一个会话备份数据库

BACKUP DATABASE FULL TO B1 BACKUPSET '/u01/dmdbms/data/DAMENG/bak/DB_FULL_BAK_FOR_RECOVER' DEVICE TYPE DISK;

3、继续插入一段时间数据后关闭数据库实例,备份完成后到关闭数据库期间产生的归档为A1

4、初始化库D2,即待还原的库

dminit path=/u01/dmdbmsbak/data db_name=DAMENG_FOR_RES

5、使用DMRMAN利用备份集B1以及归档A1还原至D1故障前状态

RESTORE DATABASE '/u01/dmdbmsbak/data/DAMENG_FOR_RES/dm.ini' FROM

BACKUPSET '/u01/dmdbms/data/DAMENG/bak/DB_FULL_BAK_FOR_RECOVER';

RECOVER DATABASE '/u01/dmdbmsbak/data/DAMENG_FOR_RES/dm.ini' WITH ARCHIVEDIR '/u01/dmdbms/data/DAMENG/arch';

RECOVER DATABASE '/u01/dmdbmsbak/data/DAMENG_FOR_RES/dm.ini' UPDATE DB_MAGIC;

6、启动D2,开启归档并配置相同归档路径,继续插入数据

dmserver /u01/dmdbmsbak/data/DAMENG_FOR_RES/dm.ini

alter database mount;

alter database archivelog;

ALTER DATABASE ADD ARCHIVELOG 'DEST=/u01/dmdbms/data/DAMENG/arch, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 2048';

alter database open;

select name,status$,mode$ from v$instance;

select arch_mode from v$database;

select name from v$archived_log;

BEGIN

FOR I IN 1..100000 LOOP

INSERT INTO TAB_FOR_RECOVER VALUES(I);

COMMIT;

END LOOP;

END;

/

 

7、插入一段时间后,关闭数据库,模拟第二次故障,从启动到关闭期间产生的归档为A2

8、将D2恢复至第一次故障前状态,然后利用A1,A2将库启动

首先查看当前数据库的DB_MAGIC

然后将数据库恢复

恢复后的DB_MAGIC为

然后恢复A2归档,但是因为DB_MAGIC值不同,所以恢复时需指定DB_MAGIC

RECOVER DATABASE '/u01/dmdbmsbak/data/DAMENG_FOR_RES/dm.ini' WITH ARCHIVEDIR '/u01/dmdbms/data/DAMENG/arch' USE DB_MAGIC 1410316548;

RECOVER DATABASE '/u01/dmdbmsbak/data/DAMENG_FOR_RES/dm.ini' UPDATE DB_MAGIC;

达梦社区地址:https://eco.dameng.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值