首页  :: 新随笔  :: 管理

DM8数据库表空间备份与恢复

Posted on 2023-02-15 14:15  高&玉  阅读(394)  评论(0编辑  收藏  举报

1. 表空间备份与恢复

备份表空间

SQL> backup tablespace GAOYU backupset '/backup/GAOYU_BACKUP';

 

模拟故障,表空间数据文件GOYU.dbf被删除且无法通过/proc/dmserver进程ID/fd数据文件描述符恢复

[dmdba]# rm -fr /data/dbdbms/data/DAMENG/GAOYU.dbf
[root]# systemctl stop DmServiceDMSERVER.service

 

还原表空间
使用 RESTORE 命令完成表空间的脱机还原,还原的备份集可以是联机或脱机生成的库备份集,也可以是联机生成的表空间备份集。脱机表空间还原仅涉及表空间数据文件的重建与数据页的拷贝。不需要事先设置目标表空间为 OFFLINE 状态。
表空间还原后,表空间状态被置为 RES_OFFLINE,并设置数据标记 FIL_TS_RECV_STATE_RESTORED,表示经过还原但数据不完整。表空间还原命令如下:

RMAN> restore database '/data/dmdbms/data/DAMENG/dm.ini' tablespace GAOYU from backupset '/backup/GAOYU_BACKUP';

 

恢复表空间
表空间恢复通过重做 REDO 日志,以将数据更新到一致状态。由于日志重做过程中,修改好的数据页首先存入缓冲区,缓冲区分批次将修改好的数据页写入磁盘,如果在此过程中发生异常中断,可能导致缓冲区中的数据页无法写入磁盘,造成数据的不一致,数据库启动时校验失败,所以表空间恢复过程中不允许异常中断。
恢复完成后,表空间状态置为 ONLINE,并设置数据标记为 FIL_TS_RECV_STAT_RECOVERED,表示数据已恢复到一致状态。恢复表空间命令如下:

RMAN> recover database '/data/dmdbms/data/DAMENG/dm.ini' tablespace GAOYU with archivedir '/data/dmdbms/archlog_03';

 

启动dmserver服务

[root]# systemctl start DmServiceDMSERVER.service

 2. 表空间(差异)增量备份与恢复

备份表空间

SQL> backup tablespace gaoyu backupset '/backup/tbs_backup';

 

第一次增量备份表空间

SQL> backup tablespace gaoyu increment backupset '/backup/tbs_increment_backup_01';

 

第二次增量备份表空间

SQL> backup tablespace gaoyu increment backupset '/backup/tbs_increment_backup_02';

 

模拟故障,表空间数据文件GOYU.dbf被删除且无法通过/proc/dmserver进程ID/fd数据文件描述符恢复

[dmdba]# rm -fr /data/dbdbms/data/DAMENG/GAOYU.dbf
[root]# systemctl stop DmServiceDMSERVER.service

 

还原表空间
使用 RESTORE 命令完成表空间的脱机还原,还原的备份集可以是联机或脱机生成的库备份集,也可以是联机生成的表空间备份集。脱机表空间还原仅涉及表空间数据文件的重建与数据页的拷贝。不需要事先设置目标表空间为 OFFLINE 状态。
表空间还原后,表空间状态被置为 RES_OFFLINE,并设置数据标记 FIL_TS_RECV_STATE_RESTORED,表示经过还原但数据不完整。表空间还原命令如下:

RMAN> restore database '/data/dmdbms/data/DAMENG/dm.ini' tablespace GAOYU from backupset '/backup/tbs_backup';
RMAN> restore database '/data/dmdbms/data/DAMENG/dm.ini' tablespace GAOYU from backupset '/backup/tbs_increment_backup_01';
RMAN> restore database '/data/dmdbms/data/DAMENG/dm.ini' tablespace GAOYU from backupset '/backup/tbs_increment_backup_02';

 

恢复表空间
表空间恢复通过重做 REDO 日志,以将数据更新到一致状态。由于日志重做过程中,修改好的数据页首先存入缓冲区,缓冲区分批次将修改好的数据页写入磁盘,如果在此过程中发生异常中断,可能导致缓冲区中的数据页无法写入磁盘,造成数据的不一致,数据库启动时校验失败,所以表空间恢复过程中不允许异常中断。
恢复完成后,表空间状态置为 ONLINE,并设置数据标记为 FIL_TS_RECV_STAT_RECOVERED,表示数据已恢复到一致状态。恢复表空间命令如下:

RMAN> recover database '/data/dmdbms/data/DAMENG/dm.ini' tablespace GAOYU with archivedir '/data/dmdbms/archlog';

 

启动dmserver服务

[root]# systemctl start DmServiceDMSERVER.service

 

3. 表空间(累计)增量备份与恢复

备份表空间

SQL> backup tablespace gaoyu backupset '/backup/tbs_backup';

 

第一次增量备份表空间

SQL> backup tablespace gaoyu increment base on backupset '/backup/tbs_backup' backupset '/backup/tbs_increment_backup_01';

 

第二次增量备份表空间

SQL> backup tablespace gaoyu increment base on backupset '/backup/tbs_backup' backupset '/backup/tbs_increment_backup_02';

 

模拟故障,表空间数据文件GOYU.dbf被删除且无法通过/proc/dmserver进程ID/fd数据文件描述符恢复

[dmdba]# rm -fr /data/dbdbms/data/DAMENG/GAOYU.dbf
[root]# systemctl stop DmServiceDMSERVER.service

 

还原表空间
使用 RESTORE 命令完成表空间的脱机还原,还原的备份集可以是联机或脱机生成的库备份集,也可以是联机生成的表空间备份集。脱机表空间还原仅涉及表空间数据文件的重建与数据页的拷贝。不需要事先设置目标表空间为 OFFLINE 状态。
表空间还原后,表空间状态被置为 RES_OFFLINE,并设置数据标记 FIL_TS_RECV_STATE_RESTORED,表示经过还原但数据不完整。表空间还原命令如下:

RMAN> restore database '/data/dmdbms/data/DAMENG/dm.ini' tablespace GAOYU from backupset '/backup/tbs_backup';
RMAN> restore database '/data/dmdbms/data/DAMENG/dm.ini' tablespace GAOYU from backupset '/backup/tbs_increment_backup_02';

 

恢复表空间
表空间恢复通过重做 REDO 日志,以将数据更新到一致状态。由于日志重做过程中,修改好的数据页首先存入缓冲区,缓冲区分批次将修改好的数据页写入磁盘,如果在此过程中发生异常中断,可能导致缓冲区中的数据页无法写入磁盘,造成数据的不一致,数据库启动时校验失败,所以表空间恢复过程中不允许异常中断。
恢复完成后,表空间状态置为 ONLINE,并设置数据标记为 FIL_TS_RECV_STAT_RECOVERED,表示数据已恢复到一致状态。恢复表空间命令如下:

RMAN> recover database '/data/dmdbms/data/DAMENG/dm.ini' tablespace GAOYU with archivedir '/data/dmdbms/archlog';

 

启动dmserver服务

[root]# systemctl start DmServiceDMSERVER.service

 

参考:https://eco.dameng.com/document/dm/zh-cn/ops/physical-backup-restore.html