《Oracle高性能自动化运维》一一3.4 Redo优化

简介:

本节书摘来自华章计算机《Oracle高性能自动化运维》一书中的第3章,第3.4节,作者:冷菠 著,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.4 Redo优化

从前面的内容可以知道,Oracle Redo的产生主要是由DML事务引起的,与DML事务相关的数据库更改主要包含:
数据块更改;
回滚段数据块镜像更新;
数据库内部信息更新(数据字典表更新)。
可以通过日志挖掘获取数据库更改的相关信息,如下:
image
image

可以看到,Redo中记录了DML事物的数据块更改、回滚段更新等信息。因此,可以考虑采取以下措施来减少Redo的产生,从而达到优化Redo的目的:
减少索引键更新操作;
减少大表(键)更新操作;
使用Direct Load加载数据;
使用Nologging进行特定操作;
使用临时表(Temporary Table);;
使用外部表(External Table);
批量化处理DML业务程序;
减少事务Commit次数,采用组提交的方式;
减少Select For Update显示锁定,可以明显减少Redo产生;
减少表记录的数量规模(利用分区路由架构分区裁剪特性),例如使用分区、分表、分库等策略;
减少不必要的DML操作可以减少Redo产生,例如改写、整合SQL程序,优化业务逻辑。
可以通过下面的示例验证优化的可行性。
(1)采用组提交减少Redo的产生
不采用组提交插入数据:
image
image

采用组提交(提交一次)插入数据:
image
image

从上述数据可以看出:
不采用组提交产生Redo:9268980;
采用组提交产生Redo:5241596;
组提交大大减少了Redo的产生:4027384(9268980-5241596)。
(2)采用临时表可以减少Redo产生
采用普通表插入数据:
image

采用全局临时表插入数据:
image

从上述数据可以看出:
普通表产生Redo:5479300;
全局临时表产生Redo:1607268;
全局临时表大大减少了Redo产生:3872032(5479300-1607268)。
可以看到,采用组提交和使用临时表都能有效减少Redo的产生,从而提升数据库的性能。有兴趣的读者可以尝试采用其他措施进行扩展验证。

相关文章
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
511 11
|
6月前
|
机器学习/深度学习 人工智能 运维
运维不只是“修电脑”:聊聊运维如何助力 AI 优化服务质量
运维不只是“修电脑”:聊聊运维如何助力 AI 优化服务质量
458 9
|
9月前
|
存储 文字识别 自然语言处理
通义大模型在文档自动化处理中的高效部署指南(OCR集成与批量处理优化)
本文深入探讨了通义大模型在文档自动化处理中的应用,重点解决传统OCR识别精度低、效率瓶颈等问题。通过多模态编码与跨模态融合技术,通义大模型实现了高精度的文本检测与版面分析。文章详细介绍了OCR集成流程、批量处理优化策略及实战案例,展示了动态批处理和分布式架构带来的性能提升。实验结果表明,优化后系统处理速度可达210页/分钟,准确率达96.8%,单文档延迟降至0.3秒,为文档处理领域提供了高效解决方案。
911 1
|
5月前
|
运维 Prometheus 监控
别再“亡羊补牢”了!——聊聊如何优化企业的IT运维监控架构
别再“亡羊补牢”了!——聊聊如何优化企业的IT运维监控架构
233 8
|
11月前
|
消息中间件 存储 NoSQL
RocketMQ实战—6.生产优化及运维方案
本文围绕RocketMQ集群的使用与优化,详细探讨了六个关键问题。首先,介绍了如何通过ACL配置实现RocketMQ集群的权限控制,防止不同团队间误用Topic。其次,讲解了消息轨迹功能的开启与追踪流程,帮助定位和排查问题。接着,分析了百万消息积压的处理方法,包括直接丢弃、扩容消费者或通过新Topic间接扩容等策略。此外,提出了针对RocketMQ集群崩溃的金融级高可用方案,确保消息不丢失。同时,讨论了为RocketMQ增加限流功能的重要性及实现方式,以提升系统稳定性。最后,分享了从Kafka迁移到RocketMQ的双写双读方案,确保数据一致性与平稳过渡。
|
6月前
|
存储 运维 监控
云存储账单太吓人?教你几招运维优化省钱大法
云存储账单太吓人?教你几招运维优化省钱大法
300 9
|
6月前
|
运维 Linux 网络安全
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
自动化真能省钱?聊聊运维自动化如何帮企业优化IT成本
206 4
|
6月前
|
机器学习/深度学习 运维 数据挖掘
运维告警不是“玄学”:聊聊怎么用机器学习优化事件关联分析
运维告警不是“玄学”:聊聊怎么用机器学习优化事件关联分析
269 3
|
7月前
|
运维 监控 Kubernetes
高并发来了,运维别慌:如何优化运维流程,才能稳住阵脚?
高并发来了,运维别慌:如何优化运维流程,才能稳住阵脚?
226 4
|
8月前
|
机器学习/深度学习 SQL 运维
数据库出问题还靠猜?教你一招用机器学习优化运维,稳得一批!
数据库出问题还靠猜?教你一招用机器学习优化运维,稳得一批!
330 4

推荐镜像

更多