数据库归档
数据库系统在运行过程中可能会发生一些故障。造成故障的原因多种多样,包括磁盘崩溃、电源故障、软件错误,甚至人为破坏。数据库系统必须保证即使发生故障,也可以保障数据的完整性和一致性。
支持故障恢复的技术主要是日志,日志以一种安全的方式记录数据库系统变更的历史信息,一旦系统出现故障,数据库系统可以根据日志将系统恢复至故障发生前的某个时刻。数据库系统的日志分为两种类型:一是REDO日志,在数据被修改后记录它的新值;另一种是UNDO 日志,在数据被修改前记录它的旧值。
因此,当服务器处于归档模式时,如果数据库发生故障,通过备份文件和归档日志可以恢复到指定时间点。
在数据库部署时,一定要开启归档!
查看归档是否开启的方法时,可以执行语句查询
SELECT * FROM V$DATABASE;
其中,归档方法有:
1、联机归档
./disql
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
2、手动配置归档文件
① 关闭数据库实例
cd /home/dmdbms/dmdbms/bin
./DmServiceDMSERVER stop
② 编辑 dmarch.ini 文件,保存在 dm.ini 所在的目录。
cd /data/dmdbms/DAMENG
#dmarch.ini 文件内容如下:
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /data/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048
#编辑 dm.ini 文件,设置参数 ARCH_INI=1,保存。
#启动数据库实例
cd /data/dmdbms/dmdbms/bin
./DmServiceDMSERVER start
③通过管理工具进行配置
(1)打开达梦数据库管理工具,连接到实例
(2)右键连接,选择“管理服务器”-“系统管理”,选择“配置”状态,点击转换;
(3)选择“归档配置”,归档模式选择“归档”,点击“+”,配置归档目标,归档类型,文件大小,空间限制大小等信息;
(4)选择“系统管理”,选择“打开”状态,点击转换,点击“确定”,配置归档完成。
备份策略
1、脱机备份、脱机还原
创建完全备份:
RMAN>BACKUP DATABASE '/data/dmdbms/DAMENG/dm.ini' FULL BACKUPSET '/data/dmdbms/backup/full_bak_20210917';
创建增量备份:
RMAN>BACKUP DATABASE '/data/dmdbms/DAMENG/dm.ini' INCREMENT WITH BACKUPDIR '/data/dmdbms/' BACKUPSET '/data/dmdbms/backup/full_bak_20210917';
2、联机备份、脱机还原
① SQL备份
cd /home/dmdba/dmdbms/bin/
./disql
SQL> BACKUP DATABASE BACKUPSET '/data/dmdbms/backup/full_bak_2021091701’;
② RMAN备份
RMAN>BACKUP DATABASE FULL BACKUPSET'/data/dmdbms/backup/full_bak_20210917';
RMAN备份工具下,热备区别冷备在于不需要指定dm.ini
数据库还原和恢复
- 准备目标库。还原目标库可以是已经存在的数据库,也可使用dminit工具初始化一个新库。
2)校验待还原备份集的合法性
RMAN> check backupset '/data/dmdbms/backup/full_bak_20210917';
- 还原数据库
RMAN>RESTORE DATABASE '/data/dmdbms/DAMENG/dm.ini' FROM BACKUPSET '/data/dmdbms/backup/full_bak_20210917';
数据库恢复
RMAN> RECOVER DATABASE '/data/dmdbms/DAMENG/dm.ini' FROM BACKUPSET '/data/dmdbms/backup/full_bak_20210917';
5)更新DB_MAGIC恢复
RMAN>RECOVER DATABASE '/data/dmdbms/DAMENG/dm.ini' UPDATE DB_MAGIC;
更多资讯请上达梦技术社区了解: https://eco.dameng.com