数据库管理-第190期 备份堪比生死(20240515)

数据库管理190期 2024-05-15

  • 数据库管理-第190期 备份堪比生死(20240515)
    • 1 DDL误操作
    • 2 强大的RMAN
    • 3 ZDLRA
    • 总结

数据库管理-第190期 备份堪比生死(20240515)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Associate: Database(Oracle与MySQL)
PostgreSQL ACE Partner
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、认证技术专家、年度墨力之星,ITPUB认证专家、专家百人团成员,OCM讲师,PolarDB开源社区技术顾问,OceanBase观察团成员
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭

最近听到的一些言论,似乎得出备了以结论,即在很多场景,比如云上或多副本分布式环境中是不需要的。但是综合上一期的内容,加上最近看到的一些新闻,我还是认为,数据库的备份依然是必须且必需的。

1 DDL误操作

其实也就是类似于上一期的truncate,也可能是删除了某一列,这些DDL的误操作,并不会产生undo信息(其他数据库可能是版本快照之类的),在有些数据库上truncate还会直接删除物理文件。这种情况下就不可能想依靠undo或版本快照来恢复数据,当然还是可以通过一些外部工具从表空间数据文件或者操作系统来尝试恢复数据,这个难度和费用就可能不可估了。
那么无论在什么环境上,此类误操作都需要通过备份进行恢复。这里有人肯定会说,还有闪回技术,这里需要说明几点:

  1. 不是所有的数据库都有闪回技术
  2. 恢复DDL一般是要求全库闪回的,对生产数据库来说是灾难性的恢复操作
  3. 闪回需要记录更多的东西,一方面可能影响性能,另一方面大多要放在生产数据库中,而备份可以放进便宜的存储中

2 强大的RMAN

其实针对上一期的恢复,主要还是我这边存储资源不足,如果存储足够,应该还是会通过时间点恢复来将对应的整个PDB恢复出来,以进行更多的操作。使用recover table来操作其实最终也几乎恢复了整个PDB,然后在把对应表通过expdp导出来。整个操作涉及了最近一次全量备份和从这次备份到恢复时间点的全部归档日志,实际需要使用的空间比PDB大的多,又因为很多数据已经转入了多了对象存储之中,恢复拉取数据的速度慢的感人,整体花了接近17个小时。
无论我们通过RMAN来恢复数据多么耗时,但是RMAN提供了全面且强大的备份及恢复功能,可以用各种姿势来恢复你需要的数据,当然这一些还是得看你怎么备份的,备份放在哪的。我认为RMAN的功能和设计理念是值得广大国产数据库学习的。

3 ZDLRA

ZDLRA,Zero Data Loss Recovery Appliance,零数据丢失恢复一体机,Oracle提供的针对Oracle数据库的最强大的备份设备。通过一次全量备份后,全程增量实时备份。并可以将备份开始后,任意时间点的任意数据以极快的方式恢复出来,而不需要除中转空间以外的所有硬件资源。这可以看做RMAN与DG之间的融合增强。单机架的ZDLRA可以实现24TB/小时的持续的增量备份拉取速度与恢复速度,而扩展机架的ZDLRA可以线性提升备份和恢复速度,18机架配置可以达到432TB/小时。
其核心特性:

  • 实时重做传输
  • 高效复制
  • 自动磁带归档
  • 端到端的数据验证
  • 永久增量备份策略
  • 节省空间的虚拟完全备份
  • 备份操作分流
  • 数据库级保护策略
  • 数据库感知的空间管理
  • 云级架构
  • 统一的管理和控制

主要优势:

  • 消除数据丢失风险
  • 备份影响极低
  • 数据库级可恢复性

image.png
对比其他一体机,NBU备份Oracle数据库就是通过对接RMAN来实现的,相对来说是比较易用的。但我看到过一些其他的备份设备,大多数只能通过逻辑备份方式来备份数据库;而有些情况下则需要通过备份操作系统逻辑卷快照的方式来备份数据库,这需要操作系统逻辑卷组预留一半以上的空间,且备份数据不是一致性的,完全不支持数据存储在类似于ASM等对磁盘有优化操作的环境之中。关于统一备份,ZDLRA也是有值得学习的地方。

总结

这里还没有说云上到底需不需要备份,前几天GCP的惨痛案例还历历在目,确实误操作是无法绝对避免的,这更多的是管理、流程、责任心和细心程度等的问题。但是我们不能将整个IT架构的命脉完全交给人,高可用确实重要,但是我认为,备份是守卫数据安全的最后一道保障。
老规矩,不知道写了些啥。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/702667.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【制作100个unity游戏之26】unity2d横版卷轴动作类游戏4(附带项目源码)

最终效果 系列导航 文章目录 最终效果系列导航前言添加敌人受击动画第一种 配置闪烁动画第二种 受伤击退效果人物死亡源码完结 前言 欢迎来到【制作100个Unity游戏】系列!本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第26篇中,我们将…

照片误删如何恢复?这些方法帮你重拾回忆!

手机照片是我们记录美好时刻的重要工具。但有时我们会因为不小心或者错误操作而导致珍贵照片的丢失。那些与家人、朋友共度的美好时刻、旅途中的风景、重要的纪念日,一旦删除,就如同从记忆中抹去,令人惋惜不已。幸运的是,随着科技…

【NR学习一】NR中的带宽、子载波间隔、PRB数量、FFT点数与采样率之间的关系

NR中的带宽、子载波间隔、PRB数量、FFT点数与采样率之间的运算关系 在5G NR(New Radio)系统设计中,带宽(Bandwidth)、子载波间隔(Subcarrier Spacing, SCS)、资源块(Resource Block…

uni-app:音频播放 uni.createInnerAudioContext()

uni.createInnerAudioContext() 创建并返回内部 audio 上下文 innerAudioContext 对象 简单实现音频播放: let innerAudioContext uni.createInnerAudioContext(); innerAudioContext.src ../../../../static/ok.MP3;//音频地址 innerAudioContext.play(); inn…

值得推荐的10+REST API 测试工具 - CSDN 博客

什么是 API? API 是一个软件解决方案,作为中介,使两个应用程序能够相互交互。以下一些特征让 API 变得更加有用和有价值: 遵守 REST 和 HTTP 等易于访问、广泛理解和开发人员友好的标准。API 不仅仅是几行代码;这些是…

安全教育就是生命教育,江门海事局走进省实小学进行宣教活动

随着炎炎夏日来临,为进一步提高未成年人的水上安全意识,增强学生遵守水上交通安全规则、科学防溺水的能力,5月9-13日,江门海事局在江门省实学校小学部开展了“水上交通安全知识进校园”系列活动,通过开展一周知识展板展…

揭秘!你的电商产品为何滞销?同行火爆销售的7大原因!

同样做电商,但自家产品销量不如竞对同行,可能的原因有多种,以下是店雷达总结7个可能的原因和对策: 一、市场竞争分析不足 未能准确识别并分析竞争对手的产品、定价、营销策略等关键信息,导致自身产品无法脱颖而出。 …

【渲染数学-01】如何模拟静态流( 下)

文章目录 一、说明二、我们的算法2.1 设置2.2 模拟器 三、计算结果四、结论五、特征方法六、FISHPAK 例程七、参考资料 本文前段文链接: https://blog.csdn.net/gongdiwudu/article/details/138854033?spm1001.2014.3001.5501 一、说明 关于流体物质的仿真和模拟&a…

ubuntu20.04 ROS 环境下使用速腾80线激光雷达

1.相关系统环境 系统版本:ubuntu 20.04 ROS版本:ROS1 - noetic 激光雷达型号:RoboSense Ruby (更新于2024.5.14) 2.网口配置: 将PC/工控机的网口配置为: ipv4,方式设置为手动 ip地址、掩码以…

数据结构【顺序表】

文章目录 1.顺序表的概念线性表物理结构逻辑结构 2.顺序表的分类2.1静态顺序表2.2动态顺序表 3.顺序表接口的实现头文件(SQList.h)如下源文件初始化顺序表销毁顺序表插入扩容尾插头插 封装扩容函数删除尾删头删 查找元素在指定位置前插入数据情况一(指定的位置不是首元素)情况二…

【C语言】水仙花数

问题 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数或阿姆斯壮数数(Armstrong number)。 它是指一个n位数(n≥3)…

用Python编写从PDF中提取预览图像

在处理大量PDF文件时,有时需要快速浏览每个PDF的内容。一种常见的做法是为每个PDF生成预览图像,通常是文档第一页的屏幕截图。虽然一些PDF阅读器提供此功能,但如果需要批量处理大量文件,编写一个自定义脚本会更高效。 在本文中,我将介绍如何使用Python、wxPython和PyMuPDF库创…