现象描述
对于数据库使用,我们绕不开的一个点,就是数据库备份,怎么备份数据库备份数据库都有哪些手段?什么情况下,可以保证数据库的绝对安全 数据不发生丢失呢? 这里简单和大家分享一下数据库备份的一些理解,方便大家准确上手达梦备份。
处理方法
首先明确一点,任何数据都有物理备份和逻辑备份两种方式。对于数据库安全性来说,物理备份一定是最安全的。
物理备份,结合归档覆盖性,可以把数据库恢复到“任何”时刻;
逻辑备份,可以只能把数据库恢复到备份的那一个时刻;
但是逻辑备份的便捷性,在一定口径下,是优于物理备份的。
这么理解上面这句话呢:
1. 为
2. 3
3. 为什么说逻辑备份的便捷性,在一定口径下,是优于物理备份?
因为,如果我们是做的全库的逻辑备份,我们以来这个备份文件是可以直接恢复某一张表的;物理备份就不行,物理备份是正对整个库的(这里不够准确,比如可能涉及到表空间、表的B 树备份等,但是不涉及之类的描述),恢复的也只能是整个库,无法从备份中,只恢复某一张表。所以,如果我们是找备份里的某一张表的数据的话,我们可以从逻辑备份的备份文件中,直接恢复出哪一张表。而如果是物理备份的话,我们需要找到同等大小的空间的机器,先恢复整个数据库,在再刚恢复的数据库找那张表,整个操作流程非常“笨重”。但是:
物理备份时的效率远大于逻辑备份!
所以,我们推荐的是什么形式呢?
首先,物理备份是一定需要的;其次,在物理备份的基础上,可以把一些应用系统的配置表,关键表等,设置一定规模的逻辑备份,才是最佳实践策略。当整个数据库系统非常大的时候,这种方式的便捷性(其实就是额外设计的逻辑备份),非常有用 —— 在我们需要找回特定的某些表,一定之前的数据的时候。
备注:物理备份的必须性,1 )是因为只有存在有效的物理备份(且归档不能出现空窗期),是当前数据库服务安全性的唯一保证,2 )是因为只有物理备份,结合归档,才可以找任意时间点(甚至任意LSN )的数据。
需要注意的事项:
我们所谓的归档空窗期,到底说的是什么,物理备份可用中间,有一条关键因素是归档覆盖性,到底说的是什么?
总结
1. 注意归档覆盖性
2. 物理备份的基础上,设置合理规模的逻辑备份,在部分场景下,可以给我们节约非常大的工作量(可以避免恢复笨重的物理备份)
番外
物理备份除了数据库提供的备份指令外,我们还可以通过正常 停止数据库服务后, 直接拷贝数据库文件的方式进行备份,这个也是一个有效备份。
1. 这种备份方式, 无恢复时间 —— 这在一些系统维护场景中,往往会用到
2. 在表空间使用率很高、且磁盘空间充足的情况下,这种备份方式可以节约时间(但是不节约空间,数据库备份出来的文件,会远远小于数据库实例的数据文件目录,因为带压缩,且压缩比在10:1 到6:1 之间)(节约的时间,主要也是免去了,压缩额外耗费的时间)
详细命令——见后续文章分享
1. 全备数据库
a) Bak1 的备份和恢复
b) Bak2 的备份和恢复
2. 逻辑备份全库和恢复全库、恢复部分表
3. 脱机备份和恢复、拷贝文件的方式的备份和恢复