增量备份
首先创建增量备份所需的基备份
BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FULL BACKUPSET '/opt/dmdbms/data/DAMENG/bak/01';
创建增量备份
BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' INCREMENT WITH BACKUPDIR '/opt/dmdbms/data/DAMENG/bak/01' BACKUPSET '/opt/dmdbms/data/DAMENG/bak/02';
备份归档
需要设置归档,首先查看归档状态
SELECT ARCH_MODE FROM V$DATABASE;
备份归档
BACKUP ARCHIVE LOG DATABASE '/opt/dmdbms/data/DAMENG/dm.ini';
其余可选参数与全库备份一致。
管理备份
查看,校验,删除,导入,映射文件导出
查看
查看一个备份集
SHOW BACKUPSET '/opt/dmdbms/data/DAMENG/bak/01';
查看多个备份集
SHOW BACKUPSETS WITH BACKUPDIR '/opt/dmdbms/data/DAMENG/bak/01','/opt/dmdbms/data/DAMENG/bak/03';
查看元数据信息你
SHOW BACKUPSET '/opt/dmdbms/data/DAMENG/bak/01' info meta;
输出备份信息到 XML 文件
SHOW BACKUPSET '/opt/dmdbms/data/DAMENG/bak/01' TO '/opt/dmdbms/data/DB_INFO.txt' FORMAT XML;
校验
校验单个备份集
CHECK BACKUPSET 'opt/dmdbms/data/DAMENG/bak/01';
删除备份集
删除单个备份集
REMOVE BACKUPSET '/opt/dmdbms/data/DAMENG/bak/03';
批量删除目录下所有备份集
REMOVE BACKUPSETS WITH BACKUPDIR '/opt/dmdbms/data/DAMENG/bak';
数据库还原/恢复
还原包括数据文件和配置文件还原两部分,可能需要还原的配置文件包括 dm.ini, dm.ctl ,服务器密钥文件 (dm_service.private 或者 dm_external.config,若备份库指定 usbkey 加密,则无秘钥文件)、联机日志文件。
联机备份,脱机还原到新库
检查归档状态,联机备份数据库
SELECT ARCH_MODE FROM V$DATABASE;
./dminit path=/opt/dmdbms/data/ DB_NAME=DAMENG_RESTORE;
如果还原库与目标库是同一个,建议先执行故障库的归档修复操作。
脱机校验备份
还原数据库
RESTORE DATABASE '/opt/dmdbms/data/DAMENG_RESTORE/dm.ini' FROM BACKUPSET '/opt/dmdbms/data/DAMENG/bak/01';
恢复
可借助备份集或本地归档恢复。
从备份集恢复
RECOVER DATABASE '/opt/dmdbms/data/DAMENG_RESTORE/dm.ini' FROM BACKUPSET '/opt/dmdbms/data/DAMENG/bak/01';
数据库更新
更新数据库的 DB_MAGIC ,调整数据库状态。
RECOVER DATABASE '/opt/dmdbms/data/DAMENG_RESTORE/dm.ini' UPDATE DB_MAGIC;
表空间还原和恢复
从库备份或表空间备份中还原。脱机还原不需要事先设置表空间为 OFFLINE 状态。还原后,表空间状态被置为 RES_OFFLINE ,并设置数据标记。
限制:
- 不能是 TEMP 表空间
- 要求还原库与备份库为同一个
- 不能是已做过 RESTORE 但未 RECOVER 的库
备份表空间
首先联机备份表空间
校验备份
CHECK BACKUPSET '/opt/dmdbms/data/DAMENG/bak/tbl_bak/01';
还原表空间
RESTORE DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' TABLESPACE MAIN FROM BACKUPSET '/opt/dmdbms/data/DAMENG/bak/tbl_bak/01';
恢复
RECOVER DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' TABLESPACE MAIN;
归档还原
联机备份归档
校验备份集
CHECK BACKUPSET '/opt/dmdbms/data/DAMENG/bak/arch_bak/01';
还原归档
RESTORE ARCHIVE LOG FROM BACKUPSET '/opt/dmdbms/data/DAMENG/bak/arch_bak/01' TO DATABASE '/opt/dmdbms/data/DAMENG/dm.ini';
归档修复
条件:
- 目标库一定不能处于运行状态
确认目标库停止,执行归档修复
REPAIR ARCHIVELOG DATABASE '/opt/dmdbms/data/DAMENG/dm.ini';
联机拷贝还原恢复
三个步骤:
- 记录当前系统的 BEGIN_LSN/BEGIN_SEQ 信息
- 拷贝(必须包含 dm.ini, dm.ctl, dm_service.prikey DAMENG01.log, DAMENG02.log, 数据文件)
- 调用系统过程 SP_BACKUP_COPY_END,记录系统各节点 END_LSN/END_SEQ 信息
联机拷贝数据库前必须配置归档,否则调用 SP_BACKUP_COPY_END 报错。
记录信息
SP_BACKUP_COPY_BEGIN();
修改路径
修改 dm.ini 中的路径参数
修改 dm.ctl 文件路径参数
先将文件转换为 txt 格式
./dmctlcvt TYPE=1 SRC=/opt/dmdbms/data/DAMENG_CP/dm.ctl DEST=/opt/dmdbms/data/dm.txt
修改后转换为 ctl 格式
./dmctlcvt TYPE=2 SRC=/opt/dmdbms/data/dm.txt DEST=/opt/dmdbms/data/dm.ctl
还原恢复
还原
RESTORE DATABASE '/opt/dmdbms/data/DAMENG_CP/dm.ini' FROM BACKUPSET '/opt/dmdbms/data/01';
使用源库的归档恢复
更新 DB_MAGIC
RECOVER DATABASE '/opt/dmdbms/data/DAMENG_CP/dm.ini' UPDATE DB_MAGIC;