数据库备份:
物理备份
是针对物理文件的备份(数据文件、控制文件和日志文件等) rman backup
逻辑备份: 是对数据库表、视图和存储过程等数据库对象的备份
开启DmAPService ../tool/DmAPService start
备份检查: 1.通过查看log日志 2.rman的check backupset
DM 仅支持表的联机还原,数据库、表空间和归档日志的还原必须通过脱机工具 DMRMAN 执行
1、backup
命令行: 库备份:
sql>backup database full backupset 'DB_DAMENG_FULL_2021_09_29_11_03_55';
可以选择只备份表结构:
sql>backup database full ddl_clone backupset 'DB_DAMENG_FULL_2021_09_29_11_03_55'; 表备份:
sql>backup table "SYSDBA"."TEST" backupset '/home/dmbak/tab_bak_for_res_01'; 表还原:
rman>restore table struct from backupset '/home/dmbak/tab_bak_for_res_01'; -------仅表结构
rman>RESTORE TABLE WITHOUT INDEX FROM BACKUPSET '/home/dmbak/tab_bak_for_res_01'; ------不包括重建索引
rman>RESTORE TABLE WITHOUT CONSTRAINT FROM BACKUPSET '/home/dmbak/tab_bak_for_res_01'; -----不包括约束
表空间备份:
sql>backup tablespace "SYSTEM" full backupset 'TS_SYSTEM_FULL_2021_09_29_10_06_36';
归档备份:
sql>backup archivelog all backupset 'ARCH_2021-09-29_10_08_46';
归档可以指定时间段或LSN备份
sql>backup archivelog time between '2021-09-29 10:11:38' and '2021-09-29 10:11:38' backupset 'ARCH_2021-09-29_10_11_46';
2、用drman还原数据库
停库:dmserver stop
恢复:
./dmrman CTLSTMT="RESTORE DATABASE '/home/dmdba/dmdbms/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/dm/data/BACKUP_FILE_01'"
./dmrman CTLSTMT="RECOVER DATABASE '/home/dmdba/dmdbms/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/dm/data/BACKUP_FILE_01'"
./dmrman CTLSTMT="RECOVER DATABASE '/home/dmdba/dmdbms/DAMENG/dm.ini' UPDATE DB_MAGIC"
2、drman备份还原
RMAN>show backupsets with backupdir '/home/dmdba/dmdbms/DAMENG/bak';
1)正常关闭数据库
2)进行脱机备份
./dmrman CTLSTMT="BACKUP DATABASE '/home/dmdba/dmdbms/DAMENG/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/home/dmdba/dm/data/BACKUP_FILE_01'"
3) 拷贝备份文件到备库所在机器
4) 执行脱机数据库还原与恢复
./dmrman CTLSTMT="RESTORE DATABASE '/home/dmdba/dmdbms/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/dm/data/BACKUP_FILE_01'"
./dmrman CTLSTMT="RECOVER DATABASE '/home/dmdba/dmdbms/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/dm/data/BACKUP_FILE_01'"
./dmrman CTLSTMT="RECOVER DATABASE '/home/dmdba/dmdbms/DAMENG/dm.ini' UPDATE DB_MAGIC"
3、manger管理工具图形化界面
1、全备、增量
增量或者全备都是基于备份集的备份
全备:
call SP_CREATE_JOB('full_bak',1,0,'',0,0,'',0,'full_bak');
call SP_JOB_CONFIG_START('full_bak');
call SP_ADD_JOB_STEP('full_bak', 'full_bak', 6, '01000000D:\Champion\data', 0, 0, 0, 0, NULL, 0);
call SP_JOB_CONFIG_COMMIT('full_bak');
增备
call SP_CREATE_JOB('incr_bak',1,0,'',0,0,'',0,'incr_bak');
call SP_JOB_CONFIG_START('incr_bak');
call SP_ADD_JOB_STEP('incr_bak', 'incr_bak', 6, '11000000D:\Champion\data|D:\Champion\data', 0, 0, 0, 0, NULL, 0);
call SP_JOB_CONFIG_COMMIT('incr_bak');
2、清理备份策略
sql脚本清理:
call sp_db_bakset_remove_batch(null,sysdate-30);
更多资讯请上达梦技术社区了解: https://eco.dameng.com