达梦8备份与还原

达梦8备份与还原

概念:

  • 归档模式:备份与恢复过程都依赖归档日志,归档日志是保证数据一致性和完整性的重要保障。配
    有归档日志的数据库系统在出现故障时丢失数据的可能性更小,这是因为一旦出现介质故障
    如磁盘损坏时,利用归档日志,系统可被恢复至故障发生的前一刻,也可以还原到指定的时间点。
  • 归档日志文件,就是在归档模式下,重做日志被连续写入到归档日志后,就生成了归档日志文件。归档日志文件以归档时间命名。但只有在归档模式下运行时,DM数据库才会将重做日志写入到归档日志文件中。
  • 重做日志:记录了所有物理页的修改,执行检查点的时候将redo日志刷盘。
备份前准备:

1.开启 DmAPService 服务

./DmAPService start #bin目录下

2.开启归档模式

alter database mount;
alter database add archivelog 'type=local,dest=/dm8/data/DAMENG/arch file_size=64,space_limit=10240';
alter database archivelog;
alter database open;

在这里插入图片描述

查询归档:

select arch_mode from v$database;
select arch_lsn,clsn,path from v$arch_file;

在这里插入图片描述

备份还原测试(使用dmrman方式)

将数据库服务关闭

./DmServiceDMSERVER stop
1.完全备份:
1.1备份:
backup database '/dm8/data/DAMENG/dm.ini' full to fullbak01 backupset '/dm8/data/DAMENG/backup/fullbak01';

在这里插入图片描述

1.2模拟数据库故障,redo日志丢失:
mv DAMENG02.log DAMENG02.log.bak

在这里插入图片描述

数据库启动报错:
在这里插入图片描述

1.3 还原数据库:
restore database '/dm8/data/DAMENG/dm.ini' from backupset  '/dm8/data/DAMENG/backup/fullbak01';

在这里插入图片描述

1.4 根据归档日志,恢复数据库到指定时间点:
recover database '/dm8/data/DAMENG/dm.ini' with archivedir '/dm8/data/DAMENG/arch' until time '2022-06-28 15:20:00';

在这里插入图片描述

1.5 更新永久魔数,保证数据库的唯一性。
recover database '/dm8/data/DAMENG/dm.ini' update db_magic;

在这里插入图片描述

1.6查看

查看redo日志,DAMENG02.log已经恢复:
在这里插入图片描述

数据库也启动成功:
在这里插入图片描述

2.增量备份还原测试:

增量备份分为累积增量备份和差异增量备份,在做增量备份之前,需要有一个基备份。他们的基备份不同为:

  • 累积增量备份:累计增量备份只能使用完全备份作为基备份。
  • 差异增量备份:差异增量备份可以使用完全备份或者增量备份作为基备份。
2.1 累积增量备份测试:

2.11 创建表空间tbs01,tbs01下创建表t1,插入数据。

 create tablespace tbs01 datafile '/dm8/data/tbs/tbs01.dbf' size 128;
 create table t1(id int,name varchar(20)) tablespace tbs01;
 insert into t1 values(1,'张三');
 insert into t1 values(2,'李四');
 commit;

在这里插入图片描述

2.12 创建完全备份 fullbak02。

backup database full to fullbak02 backupset '/dm8/data/backup/fullbak02';

在这里插入图片描述

指定备份集目录:

 select sf_bakset_backup_dir_add('disk','/dm8/data/backup/fullbak02');
 select backup_name,backup_path,begin_lsn,end_lsn,desc# from v$backupset;

在这里插入图片描述

2.13 基于完全fullbak02 ,进行累积增量备份。

backup database increment cumulative base on backupset  '/dm8/data/backup/fullbak02' to cum_bak_01 backupset '/dm8/data/backup/cum_bak_01' backupinfo '累计增量备份01';

在这里插入图片描述
2.14 模拟表空间数据文件损坏
在这里插入图片描述
重启数据库,查看表t1,t1处于脱机状态。
在这里插入图片描述

2.15 还原,恢复,更新数据库

restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/data/backup/cum_bak_01';
recover database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/data/backup/cum_bak_01';
recover database '/dm8/data/DAMENG/dm.ini' update db_magic;

在这里插入图片描述

2.16 在disql查询t1表:显示t1已找回。
select * from t1;

在这里插入图片描述

2.2 差异增量备份测试

差异增量备份以上一次的累积增量备份(cum_bak_01)作为基备份:

2.21 在t1表中插入数据
insert into t1 values(3,time);

在这里插入图片描述

2.21 进行差异增量备份:

1.新建完全备份fullbak03
2.以完全备份fullbak03为基备份进行累积增量备份cum_bak_02
3.以累积增量备份cum_bak_02为基备份进行差异增量备份inc_bak_01

 backup database full to fullbak02 backupset '/dm8/data/backup/fullbak03';
 backup database increment cumulative base on backupset  '/dm8/data/backup/fullbak03' to cum_bak_02 backupset '/dm8/data/backup/cum_bak_02' backupinfo '累计增量备份02';
 backup database increment base on backupset '/dm8/data/backup/cum_bak_02'  to inc_bak_01 backupset '/dm8/data/backup/inc_bak_01' backupinfo '差异增量备份01';

在这里插入图片描述
模拟数据误删:

delete from t1 where name='time1';

在这里插入图片描述

2.23 以差异增量备份集进行还原,恢复,更新数据库:
 DmServiceDMSERVER stop
 restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/data/backup/cum_bak_02';
 recover database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/data/backup/cum_bak_02';
 recover database '/dm8/data/DAMENG/dm.ini' update db_magic;

在这里插入图片描述

2.24 disql查询数据,已找回。

在这里插入图片描述

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值