重做日志及归档日志的工作原理解析

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 开门见山,先来看张图(PS:这张图是我从网上找的):工作原理:首先lgwr进程将redo log buffer中的重做数据写入到redo log中,此时的redo log分组,每当一个redo log group写满时,或者发出switch logfile指令时都会触发日志组的切换,当发生日志组切换时,arc进程会将当前的重做日志数据写入归档日志。

开门见山,先来看张图(PS:这张图是我从网上找的):


wKiom1nlvunS7gcRAAJVzjFWZKc589.png

工作原理:

首先lgwr进程将redo log buffer中的重做数据写入到redo log中,此时的redo log分组,每当一个redo log group写满时,或者发出switch logfile指令时都会触发日志组的切换,当发生日志组切换时,arc进程会将当前的重做日志数据写入归档日志。

要知道,lgwr进程是将内存中的数据写入到重做日志文件,这是内存读磁盘写。而arc进程是将重做日志文件写入到归档文件,是磁盘读磁盘写。显然lgwr进程的读写效率或者读写速度比arc进程要快,而频繁发生DML操作的数据库中,可能会发生归档慢,而重做日志写入速度快的情况,这就会导致数据库被HANG住,此时数据库什么也不做就是等待arc进程将当前重做日志数据写入到归档文件。

这时候就要考虑启动更多的归档进程了,通过修改参数log_archive_max_processes来实现。

该参数是动态参数,直接修改即可。

① 查看当前该参数值

wKiom1nlw27DmoSWAAAVUsXeLTw500.png

很明显,当前最大归档进程数是4

② 修改归档最大进程数为5

wKioL1nlwtai-N_hAAAjX0hGV3E911.png

③ 通过命令验证一下

wKiom1nlxcqAuMNsAAA8sNQE_i8483.png


你看,就是这么简单!

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
14天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的联机重做日志文件与数据写入过程
在Oracle数据库中,联机重做日志文件记录了数据库的变化,用于实例恢复。每个数据库有多组联机重做日志,每组建议至少有两个成员。通过SQL语句可查看日志文件信息。视频讲解和示意图进一步解释了这一过程。
|
15天前
|
存储 Oracle 关系型数据库
【赵渝强老师】执行Oracle的冷备份与冷恢复
本文介绍了数据库的冷备份与冷恢复技术,包括其定义、优缺点及操作步骤。通过Oracle RMAN工具,详细演示了如何执行冷备份和冷恢复,确保数据库在关闭状态下完成备份,并能快速恢复到指定时间点。文中还提供了具体的操作示例和代码,帮助读者更好地理解和实践。
|
SQL 存储 关系型数据库
什么是binlog,redolog,两阶段提交
什么是binlog,redolog,两阶段提交
215 0
|
存储 安全 数据库
LotusDB 设计与实现—2 WAL 日志
WAL 是 Write Ahead Log 的简称,通常叫做预写日志,是为了预防内存崩溃,保证数据不丢失的常用手段。WAL 是 LSM 存储模型中重要的组件,在 LotusDB 当中的重要性是一样的。
456 0
|
SQL 存储 Oracle
Oracle--运行过程中当前redo日志文件损坏会发生什么
模拟Oracle运行过程(有事务未提交时)当前redo日志文件损坏是数据库的状态
404 0
|
Oracle 关系型数据库 数据库
Redo的管理与优化
Oracle优化案例
下一篇
无影云桌面