《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

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

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

相关文章
|
3月前
|
机器学习/深度学习 数据采集 运维
智能运维:利用机器学习优化IT基础设施管理
在数字化浪潮的推动下,企业对IT系统的依赖程度日益加深。传统的运维模式已经难以满足现代业务的需求,尤其是在处理海量数据和复杂系统时显得力不从心。本文将探讨如何通过机器学习技术,实现智能化的运维管理,从而提升效率、减少故障时间,并预测潜在问题,保障业务的连续性和稳定性。 【7月更文挑战第27天】
58 10
|
1月前
|
机器学习/深度学习 存储 算法
Optuna发布 4.0 重大更新:多目标TPESampler自动化超参数优化速度提升显著
Optuna,广受欢迎的超参数优化框架,近日发布了其第四个主要版本。自2018年问世以来,Optuna迅速成为机器学习领域的关键工具,目前拥有10,000+ GitHub星标、每月300万+下载量、16,000+代码库使用、5,000+论文引用及18,000+ Kaggle使用。Optuna 4.0引入了OptunaHub平台,支持功能共享;正式推出Artifact Store管理生成文件;稳定支持NFS的JournalStorage实现分布式优化;显著加速多目标TPESampler,并引入新Terminator算法。
48 9
Optuna发布 4.0 重大更新:多目标TPESampler自动化超参数优化速度提升显著
|
2月前
|
监控 Oracle 关系型数据库
"深度剖析:Oracle SGA大小调整策略——从组件解析到动态优化,打造高效数据库性能"
【8月更文挑战第9天】在Oracle数据库性能优化中,系统全局区(SGA)的大小调整至关重要。SGA作为一组共享内存区域,直接影响数据库处理能力和响应速度。本文通过问答形式介绍SGA调整策略:包括SGA的组成(如数据缓冲区、共享池等),如何根据负载与物理内存确定初始大小,手动调整SGA的方法(如使用`ALTER SYSTEM`命令),以及利用自动内存管理(AMM)特性实现智能调整。调整过程中需注意监控与测试,确保稳定性和性能。
164 2
|
2月前
|
JavaScript jenkins 持续交付
自动化部署与持续集成:使用Jenkins和Docker优化开发流程
【8月更文挑战第31天】在软件开发的世界里,时间就是一切。本文将引导你通过Jenkins和Docker的强大组合,实现自动化部署和持续集成,让你的开发流程如丝般顺滑。我们将从基础设置开始,逐步深入到构建管道,最终实现一键部署的梦想。准备好让你的开发效率飞跃,一起探索这个令人兴奋的旅程吧!
|
3月前
|
机器学习/深度学习 运维 监控
智能化运维:利用机器学习优化IT基础设施管理
【7月更文挑战第28天】在数字化时代,智能化运维成为企业提升效率、降低成本的关键。本文将探讨如何通过机器学习技术,实现对IT基础设施的智能监控与自动化管理,包括预测性维护、异常检测和性能优化等策略,旨在为读者提供一套实用的智能化运维解决方案。
|
3月前
|
机器学习/深度学习 数据采集 人工智能
智能运维:利用AI技术优化IT基础设施管理
在数字化时代,IT基础设施的复杂性与日俱增。面对海量的数据和设备,传统的运维方法显得力不从心。本文将探讨如何通过人工智能(AI)技术实现智能运维,从而提高IT基础设施的效率、稳定性和安全性。我们将深入分析AI在故障预测、自动化处理和安全管理中的应用实例,并讨论实施智能运维时面临的挑战与解决策略。 【7月更文挑战第29天】
|
3月前
|
机器学习/深度学习 人工智能 运维
智能化运维:如何利用AI和机器学习优化IT基础设施管理
随着技术的快速发展,传统的运维方法已无法满足现代企业的需求。本文将深入探讨如何通过人工智能(AI)和机器学习(ML)来革新IT基础设施的管理方式,提升效率并降低成本。我们将从实际案例出发,分析AI与ML在智能监控、故障预测、自动化修复等方面的应用,并讨论实施这些技术时面临的挑战与解决策略。
58 1
|
3月前
|
机器学习/深度学习 数据采集 运维
智能化运维:利用机器学习优化系统性能
在当今快速发展的信息技术时代,传统的运维方式已难以满足日益增长的业务需求和复杂性。本文将探讨如何通过机器学习技术来提升运维效率,确保系统的高可用性和性能优化。我们将深入分析机器学习模型在预测系统负载、自动故障检测与响应以及资源分配中的应用,并讨论实施这些策略时可能遇到的挑战和解决思路。
|
3月前
|
机器学习/深度学习 人工智能 运维
智能化运维:利用机器学习优化故障预测与响应
【7月更文挑战第23天】本文深入探讨了智能化运维的前沿技术,特别是机器学习在故障预测和响应中的应用。文章首先介绍了智能化运维的概念及其对现代IT运维的重要性,随后详细阐述了机器学习模型如何被训练来识别潜在的系统故障并提前预警。通过分析真实案例,我们展示了机器学习算法在实际运维中的有效性,以及如何通过这些算法减少系统停机时间,提高运维效率。最后,文章讨论了实施智能化运维时可能遇到的挑战及应对策略,为读者提供了一套实用的智能化运维解决方案。
|
3月前
|
机器学习/深度学习 运维 监控
智能化运维:利用机器学习优化IT基础设施管理
【7月更文挑战第23天】在数字化时代的浪潮中,IT基础设施的复杂性日益增加,传统的运维方法已难以满足现代企业的需求。本文将探讨如何通过机器学习技术,实现智能化运维,提升IT基础设施的管理效率和响应速度。我们将从智能监控、自动化故障处理、预测性维护三个方面展开讨论,并结合实际案例,展示智能化运维在实际应用中的巨大潜力。

推荐镜像

更多
下一篇
无影云桌面