#数据备份
对数据库的备份分为冷备和热备,冷备表示将数据库关闭后,通过操作系统命令进行文件系统的复制,热备表示在数据库正常运行期间所进行的在线备份,YashanDB所支持的备份功能为热备。
# 备份恢复原理
备份恢复流程如下图所示:
备份程序要求数据库运行于OPEN状态且归档模式开启,执行时以数据块的方式,从物理文件读取数据写到备份文件中,在读文件时会对数据块加锁,防止读写并发。
恢复程序要求数据库运行于NOMOUNT状态,执行时将备份集中的文件,以数据块为基本单位拷贝回数据库的文件中,并回放归档日志,对数据库进行一致性恢复。
# 备份恢复方式
YashanDB支持如下方式的数据备份:
- 使用BACKUP DATABASE语句发起备份操作,备份集将生成在数据库服务端。
- 使用yasrman工具发起远程备份操作(对分布式可以发起多节点的统一备份操作),备份集可以选择生成在工具端或数据库服务端。
用户可以选择任一种方式进行备份操作,两种方式均支持如下备份策略:
- 支持选择全量备份和增量备份。
- 支持选择对备份集数据进行压缩。
- 支持选择对备份集数据进行加密。
相应地,在需要恢复某个备份集时,用户可以选择:
- 使用RESTORE DATABASE和RECOVER DATABASE语句进行恢复,此方式要求备份集数据位于数据库服务端。
- 用yasrman工具进行远程恢复(对分布式可以发起多节点的统一恢复操作),备份集可以在本地或数据库服务端。
恢复所支持的策略包括:
- 支持选择全量恢复和指定时间点恢复。
- 支持对备份集数据进行解压。
- 支持对备份集数据进行解密。
关于备份恢复的详细操作过程请查阅备份恢复。