解决因redo日志不足,导致执行DML SQL缓慢问题

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 解决因redo日志不足,导致执行DML SQL缓慢问题

应用环境发现数据库DML操作特别慢,于是查看表空间使用率,发现临时表空间使用不足,增扩临时表空间:

alter tablespace TEMP add tempfile '/app/oracle/oradata/webdb/temp01.dbf' size 10240m autoextend on next 1024m maxsize 30G;
alter tablespace XXX_TEMP add tempfile '/app/oracle/oradata/webdb/XXX_temp02.dbf' size 512m autoextend on next 512m;

问题依旧,查找Oracle事件日志文件(/app/oracle/diag/rdbms/webdb/webdb/alert):
select value from v$diag_info where name='Diag Alert';

Image.png

通过查看事件日志,发现了问题原因:redo文件组太少,导致LGWR进程在切换到新redo file时,等待旧数据写入(dbwn)数据文件;
Oracle 的Online redo log 是为确保已经提交的事务不会丢失而建立的一个机制。 这种健全的机制,能让数据库crash时,恢复数据,保证数据不丢失。

解决方案:增加日志组,问题恢复。
select * from v$log;

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
19天前
|
SQL 关系型数据库 数据库
|
25天前
|
关系型数据库 分布式数据库 数据库
PolarDB产品使用问题之如何设置Redo日志保存时间
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
8天前
|
SQL
.Net Core EF 日志打印 SQL 语句
.Net Core EF 日志打印 SQL 语句
18 0
|
23天前
|
SQL 关系型数据库 MySQL
Mysql 开启慢日志查询及查看慢日志 sql
Mysql 开启慢日志查询及查看慢日志 sql
20 0
|
2月前
|
存储 关系型数据库 MySQL
|
30天前
|
SQL 存储 数据库
MySQL设计规约问题之如何处理日志类型的表
MySQL设计规约问题之如何处理日志类型的表
|
2月前
|
SQL 数据库
零基础学习数据库SQL语句之操作表中数据的DML语句
零基础学习数据库SQL语句之操作表中数据的DML语句
28 0
零基础学习数据库SQL语句之操作表中数据的DML语句
|
1月前
|
SQL
关于ThinkPHP5.1+的Log无法记录SQL调试记录的小经历
项目开发阶段,除了基本编码外,性能也需要实时关注与优化。之前我的大部分项目都是使用ThinkPHP5.0以及ThinkPHP3.2,对于框架提供的日志记录和日志配置都差不多,然后使用ThinkPHP5.1的时候就吃瘪,花了十几分钟才好,所以写一下防止后面忘记了再踩坑。
41 0
|
2月前
|
SQL 关系型数据库 MySQL
MySQL数据库——索引(3)-索引语法(创建索引、查看索引、删除索引、案例演示),SQL性能分析(SQL执行频率,慢查询日志)
MySQL数据库——索引(3)-索引语法(创建索引、查看索引、删除索引、案例演示),SQL性能分析(SQL执行频率,慢查询日志)
33 2
|
2月前
|
SQL Java 数据库连接
Mybatis日志SQL解析
Mybatis日志SQL解析
31 0