使用闪回查询备份数据

简介: 今天在生产环境中,开发人员提交了一个脚本,是做update操作的,但是update操作的时候过滤条件有些大,本来预计修改的数据只有5000条,结果这个语句运行下来更改了500万条数据。
今天在生产环境中,开发人员提交了一个脚本,是做update操作的,但是update操作的时候过滤条件有些大,本来预计修改的数据只有5000条,结果这个语句运行下来更改了500万条数据。对生产系统来说算是一个数据灾难,赶紧和开发确认了问题发生的时间,结果说是在半夜11点多,刚好在后半夜才开始做数据备份,这样这个变更也同时影响了备份,就算做紧急的数据恢复也是没有任何效果的。目前采用的备份都是全量的按天备份,备份收到影响,恢复还是比较困难的。
这个问题就在紧急的讨论中分为了两个步骤,我来尝试恢复昨天备份前的数据,提供的时间戳是23:48:48 ,而且经过确认这个表中的数据变化很小。如果能够恢复出表中的数据在那个时间点之前,就能把问题降低到最低。
开发从业务的角度看能不能同时提供一些修复。
我查看了undo的空间使用,还是比较充足的,早上已经是10点左右了,所以就是尽快的做数据的恢复,使用闪回查询来做。这个操作也不是百分百好使,毕竟还是依赖一些缓存空间和系统的负载,在反复确认时间后,写了如下的语句。把时间戳提前了3秒。
create table tmp_xxxxx as select * from owner_account.xxxxx as of timestamp to_timestamp('20140723234845','yyyymmddHH24miss');

为了保证不会有其他潜在的因素影响,所以保守起见,没启并行,没加hint
然后就是通过脚本来监控表空间的使用率。看着空间消耗开始一点点增加,最终恢复了昨晚的数据。有了这些数据,就算暂时不会用到,心里也踏实了。
后来开发确认,有一个字段a,这个字段在表里存放的数据就是null,结果开发的update语句相当于又修改了一次,经过反复确认,算是虚惊一场,不过也需要总结不少的经验。
1.在脚本提交之前,如果是dml语句,最好能够评估修改的影响范围,
2.如果脚本比较大,有性能方面的潜在因素,需要让dba来把把关,看看能不能做点什么。
3.充分的测试也很重要,保证数据的安全和高可用是很重要的。
目录
相关文章
|
3月前
|
存储 关系型数据库 分布式数据库
喜报|阿里云PolarDB数据库(分布式版)荣获国内首台(套)产品奖项
阿里云PolarDB数据库管理软件(分布式版)荣获「2024年度国内首版次软件」称号,并跻身《2024年度浙江省首台(套)推广应用典型案例》。
|
3月前
|
数据采集 供应链 API
淘宝 vs 京东电商 API 接口,谁才是数据王者?
在数字化电商时代,API成为企业获取数据的关键工具。本文从功能覆盖、数据质量、开发友好度及商业模型等维度,客观对比淘宝与京东API的优劣,分析两者在不同场景下的适用性,助您判断谁才是真正的“数据王者”。
118 0
|
6月前
|
人工智能 Cloud Native 安全
AI 网关代理 LLMs 最佳实践
云原生 AI 网关其实并不是一个新的独立的产品,而是属于云原生 API 网关产品内的一部分功能,基于 AI 的场景,设计了更贴合 AI 业务的 AI API 及各个功能。同时也具备云原生 API 网关本身提供的各个通用能力。
292 15
|
6月前
|
Java 开发者 UED
Java 输入处理的常见错误
本文深入探讨了Java中输入处理的常见错误与认知偏差,重点分析了`Scanner`类的使用误区。例如,`nextInt()`后紧跟`nextLine()`会因残留换行符导致输入跳过,需额外调用`nextLine()`清理缓冲区;`nextLine()`始终返回字符串,需手动转换数据类型;处理多数字输入时,应结合`split()`与`Integer.parseInt()`方法。通过剖析这些问题,帮助开发者理解`Scanner`的工作机制,提升输入处理代码的健壮性与准确性。
161 3
|
8月前
|
存储 供应链 物联网
区块链技术的未来发展趋势:革新、挑战与机遇
区块链技术的未来发展趋势:革新、挑战与机遇
373 8
|
9月前
|
XML JSON API
淘宝商品详情(item get)API接口系列,示例说明参考
淘宝商品详情(item_get)API接口是淘宝开放平台(Taobao Open Platform)提供的一个重要接口,允许开发者通过HTTP请求获取淘宝商品的详细信息。以下是对该接口系列的示例说明参考
|
10月前
|
机器学习/深度学习 测试技术 定位技术
新扩散模型OmniGen一统图像生成,架构还高度简化、易用
近期,一篇题为“OmniGen: Unified Image Generation”的论文介绍了一种新型扩散模型OmniGen,旨在统一图像生成任务。OmniGen架构简洁,无需额外模块即可处理多种任务,如文本到图像生成、图像编辑等。该模型通过修正流优化,展现出与现有模型相当或更优的性能,尤其在图像编辑和视觉条件生成方面表现突出。OmniGen仅含3.8亿参数,却能有效处理复杂任务,简化工作流程。尽管如此,OmniGen仍存在对文本提示敏感、文本渲染能力有限等问题,未来研究将继续优化其架构与功能。
249 16
|
监控 安全 网络虚拟化
|
12月前
|
监控 安全 Java
构建高效后端服务:微服务架构深度解析与最佳实践###
【10月更文挑战第19天】 在数字化转型加速的今天,企业对后端服务的响应速度、可扩展性和灵活性提出了更高要求。本文探讨了微服务架构作为解决方案,通过分析传统单体架构面临的挑战,深入剖析微服务的核心优势、关键组件及设计原则。我们将从实际案例入手,揭示成功实施微服务的策略与常见陷阱,为开发者和企业提供可操作的指导建议。本文目的是帮助读者理解如何利用微服务架构提升后端服务的整体效能,实现业务快速迭代与创新。 ###
197 2