数据备份与还原
- 备份的目的是当数据库遇到损坏的情况下,可以执行还原恢复操作,把数据库复原到损
坏前的某个时间点。用于还原恢复数据库的载体是备份集,生成备份集的过程便是备份了。 - 备份就是从源库(备份库)中读取有效数据页、归档日志等相关信息,经过加密、压缩
等处理后写入备份片,并将相关备份信息写入备份元数据文件的过程。
归档配置
- DM备份和恢复过程都依赖归档日志,归档日志是保证数据一致性和完整性的重要保障。当出现介质故障,如磁盘损坏时,利用归档日志,可以将数据库系统恢复之故障发生的前一刻,也可以还原到指定的时间点。
- Sql方式开启归档
alter database mount;#开启归档要先将数据库状态转换成mount状态
alter database ARCHIVELOG;#开启归档
alter database add ARCHIVELOG 'type=local, dest=/dm8/arch,
file_size=64,space_limit=10240';#指定归档文件存放在本地,目录、大小、空间限制
- 修改dm.ini配置文件中ARCH_INI参数为1,即开启归档模式
vi dm.ini
ARCH_INI = 1
添加dmarch.ini配置文件
vi dmarch.ini
[ARCHIVE_LOCAL]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 10240
数据备份
逻辑备份
- 逻辑备份是指利用 dexp 导出工具,将指定对象(库级、模式级、表级)的数据导出到
文件的备份方式。
./dexp SYSDBA/SYSDBA directory=/dm8/dexp file=full.dmp full=y log=full.log
物理备份
- DM物理备份与还原按数据库状态可以分为脱机和联机。
脱机备份
- 脱机备份又俗称冷备,即必须关闭数据库才能备份。脱机备份只支持库备份和归档备份。
- dmrman工具进行备份
./dmrman
RMAN>backup database '/dm8/data/DAMENG/dm.ini' to fullbak backupset '/dm8/bak/fullbak'
- 控制台工具进行备份
联机备份
- 进行联机备份时需要开启数据库服务和dmap服务,且启动dmap的用户和启动DM服务的用户必须一致,否则会导致备份失败
- disql命令进行备份
- 全量备份
backup DATABASE full to FULLBAK BACKUPSET '/dm8/backup/FULLBAK';
- 增量备份
backup database INCREMENT to INCRBAK BACKUPSET '/dm8/backup/INCRBAK';
- 表空间备份
backup tablespace MAIN full backupset '/dm8/bak/tablespace';
- 表备份
backup table EMPLOYEE backupset '/dm8/bak/table';
数据还原
逻辑还原
- 逻辑还原是物理备份的逆过程,使用dimp工具,将dexp导出的备份集重新导入到数据库中。
./dimp SYSDBA/SYSDBA directory=/dm8/dexp file=full.dmp full=y log=full_dimp.log
脱机还原
- 还原
./dmrman
RMAN>restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/backup/FULLBAK';
- 恢复
./dmrman
RMAN>recover database '/dm8/data/DAMENG/dm.ini' with archivedir '/dm8/arch';
- 更新数据库魔数
./dmrman
RMAN>recover database '/dm8/data/DAMENG/dm.ini' update db_magic;
达梦数据库社区地址:https://eco.dameng.com