达梦数据库备份恢复操作
一、环境说明
linux环境
[root@RH6 soft]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.9 (Santiago)
数据库版本 DM8
二、配置数据库归档模式
首先需要安装和初始化实例,参考文档https://blog.csdn.net/beatlove123/article/details/110489366
--调整数据库到mount状态
alter database mount;
--设置归档路径以及归档日志大小
ALTER DATABASE ADD ARCHIVELOG 'DEST = /home/dmdba/dmarch, TYPE = local, FILE_SIZE = 128, SPACE_LIMIT = 10240';
--开启归档
alter database archivelog;
--开启数据库
alter database open;
--查看归档状况
select arch_mode from v$database;
三、根据备份恢复到某个时间点
案例说明:
--建表,并插入数据
CREATE TABLE T1(C1 INT);
INSERT INTO T1 VALUES(1);
Commit;
--进行联机完全备份:
SQL> BACKUP DATABASE FULL BACKUPSET 'db_full_bak_03';
--执行插入:
insert into T1 values(2);
commit;
select * from T1;
--记录当前时间t1:2020-12-02 07:52:53
--过两分钟左右,再执行插入:
insert into T1 values(3);
commit;
select * from T1;
--记录当前时间t2:2020-12-02 07:53:30
脱机还原数据库:停止数据库服务,使用dmrman工具还原数据库:
RMAN>RESTORE DATABASE '/home/dmdata/DAMENG/dm.ini' FROM BACKUPSET 'db_full_bak_03';
将数据库恢复到t1与t2之间的时间点:
RMAN> RECOVER DATABASE '/home/dmdata/DAMENG/dm.ini' WITH ARCHIVEDIR '/home/dmarch' UNTIL TIME '2020-12-02 07:52:58';
RMAN>RESTORE DATABASE '/home/dmdata/DAMENG/dm.ini' UPDATE DB_MAGIC;
--启动数据库,查询T1数据:
SELECT * FROM T1;
四、逻辑备份恢复
./dexp SYSDBA/SYSDBA@LOCALHOST full=y file=full_test2.dmp log=full_test2.log
./dimp SYSDBA/SYSDBA@LOCALHOST full=y file=full_test2.dmp log=full_imp_test1_02.log
五、增量备份恢复
CREATE TABLE T1(C1 INT);
INSERT INTO T1 VALUES(1);
Commit;
--进行联机完全备份
./disql
BACKUP DATABASE FULL BACKUPSET '/home/dmbak/db_full_bak_002';
继续向T1表插入数据:
INSERT INTO T1 VALUES(2);
INSERT INTO T1 VALUES(3);
Commit;
执行联机增量备份数据库:
backup database increment with backupdir '/home/dmbak/' BACKUPSET '/home/dmbak/db_increment_bak_002';
删除T1表
DROP TABLE T1;
停止数据库服务,使用dmrman工具执行脱机还原数据库(使用增量备份集还原):
./dmrman CTLSTMT="RESTORE DATABASE '/home/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/home/dmbak/db_increment_bak_002';"
恢复数据库:
./dmrman CTLSTMT="RECOVER DATABASE '/home/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/home/dmbak/db_increment_bak_002';"
./dmrman CTLSTMT="recover database '/home/dmdata/DAMENG/dm.ini' update db_magic;"
启动数据库服务,查询表T1:SELECT * FROM T1;
更多资讯请上达梦技术社区了解: https://eco.dameng.com