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