通过案例学调优之--和 LOG BUFFER 相关的主要 Latch
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,通过案例学调优之--和 LOG BUFFER 相关的主要 Latch4.1、和 LOG BUFFER 相关的主要 Latch有: Latch:Redo Copy Latch:Redo Allocati
千家信息网最后更新 2025年02月01日通过案例学调优之--和 LOG BUFFER 相关的主要 Latch
通过案例学调优之--和 LOG BUFFER 相关的主要 Latch
4.1、和 LOG BUFFER 相关的主要 Latch
有: Latch:Redo Copy
Latch:Redo Allocation Latch
4.2 当一个进程在修改数据时候将会产生 Redo,这个 Redo 首先在 PGA 中保存。
然后进程需要 获取Redo Copy Latch(这个Latch的个数由隐含参数_log_simultaneous_copies决定),当获 得 Redo Copy Latch 后,进程接着获取 Redo Allocation Latch 来分配 Redo Log Buffer 中的空间, 空间分配完成后,释放 Redo Allocation Latch。然后进程把 PGA 里临时存放的 Redo 信息复制 到 Redo Log Buffer,复制完成后,释放 Redo Copy Latch。
4.3 逻辑架构如下:
案例分析:
测试redo中Latch的竞争
1、建立测试环境15:08:51 SYS@ prod >select name ,bytes/1024/1024 from v$sgastat where rownum <6;NAME BYTES/1024/1024-------------------------- ---------------fixed_sga 1.27443695buffer_cache 60log_buffer 6.0078125kkj jobq wor .003913879dpslut_kfdsg .000244141 建立一个最小的日志组15:09:33 SYS@ prod >select group#,sequence#,status,bytes/1024/1024 from v$log; GROUP# SEQUENCE# STATUS BYTES/1024/1024---------- ---------- ---------------- --------------- 4 108 CURRENT 4 5 106 INACTIVE 4 2、建立三张测试表 15:11:59 SCOTT@ prod >create table tb1 as select * from user_objects;Table created.15:13:48 SCOTT@ prod >select count(*) from tb1; COUNT(*)---------- 376832 15:19:16 SCOTT@ prod >create table tb2 as select * from tb1 where rownum <100000;Table created.15:20:30 SCOTT@ prod >create table tb3 as select * from tb1 where rownum <100000;Table created.4、建立测试脚本[oracle@RH6 ~]$ cat 22.sh#!/bin/bashexport ORACLE_SID=prodcount=0while [ $count -lt 1000 ]dosqlplus 'scott/tiger'<select sid,username ,event from v$session where username='SCOTT'; SID USERNAME EVENT---------- ------------------------------ ---------------------------------------------------------------- 31 SCOTT log file switch (checkpoint incomplete) 45 SCOTT enq: TX - row lock contentionElapsed: 00:00:00.0015:22:14 SYS@ prod >/ SID USERNAME EVENT---------- ------------------------------ ---------------------------------------------------------------- 31 SCOTT log file switch completion 41 SCOTT enq: TX - row lock contention 44 SCOTT log file switch completion 45 SCOTT enq: TX - row lock contention 47 SCOTT log file switch completion15:23:42 SYS@ prod >/ SID USERNAME EVENT---------- ------------------------------ ---------------------------------------------------------------- 31 SCOTT db file sequential read 41 SCOTT enq: TX - row lock contention 44 SCOTT latch: redo copy 45 SCOTT enq: TX - row lock contention 47 SCOTT latch: redo allocation15:26:54 SYS@ prod >r 1* select sid,username ,event from v$session where username='SCOTT' SID USERNAME EVENT---------- ------------------------------ ---------------------------------------------------------------- 31 SCOTT log file switch completion 41 SCOTT enq: TX - row lock contention 44 SCOTT log file switch completion 45 SCOTT enq: TX - row lock contention 47 SCOTT log file switch completion 7、查看redo latch竞争 15:25:11 SYS@ prod >select name,misses,sleeps,spin_gets,wait_time from v$latch15:25:34 2 where name in ('redo copy','redo allocation');NAME MISSES SLEEPS SPIN_GETS WAIT_TIME---------------------------------------------------------------- ---------- ---------- ---------- ----------redo copy 101 116 0 279828redo allocation 48 50 0 54560Elapsed: 00:00:00.0215:25:53 SYS@ prod >/NAME MISSES SLEEPS SPIN_GETS WAIT_TIME---------------------------------------------------------------- ---------- ---------- ---------- ----------redo copy 111 126 0 300388redo allocation 50 52 0 56124Elapsed: 00:00:00.0115:26:08 SYS@ prod >/NAME MISSES SLEEPS SPIN_GETS WAIT_TIME---------------------------------------------------------------- ---------- ---------- ---------- ----------redo copy 111 126 0 300388redo allocation 50 52 0 56124Elapsed: 00:00:00.0015:26:12 SYS@ prod >/NAME MISSES SLEEPS SPIN_GETS WAIT_TIME---------------------------------------------------------------- ---------- ---------- ---------- ----------redo copy 202 234 0 594703redo allocation 75 79 0 83114Elapsed: 00:00:00.0015:27:58 SYS@ prod >/NAME MISSES SLEEPS SPIN_GETS WAIT_TIME---------------------------------------------------------------- ---------- ---------- ---------- ----------redo copy 220 258 0 661577redo allocation 81 85 0 10369715:28:29 SYS@ prod >/NAME MISSES SLEEPS SPIN_GETS WAIT_TIME---------------------------------------------------------------- ---------- ---------- ---------- ----------redo copy 346 400 1 1174583redo allocation 146 150 0 189359
可以看到,在系统中产生了大量的redo latch的争用。
进程
测试
案例
空间
分配
竞争
个数
信息
参数
数据
时候
架构
案例分析
环境
系统
脚本
逻辑
立三
中产
分析
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发黄埔军校
常用的服务器端口号
软件开发行业背景和发展
数据库备份与恢复思政案例
计算机网络技术女生学的多吗
dell服务器添加硬盘
能源管理服务器 微网控制器
数据库学习 书
nosql数据库引航
网络安全宣传周银行总结
苹果手机虚拟服务器搭建
吴江区精英软件开发渠道常见问题
张家口手机软件开发
华为网络安全实验室东莞
网络安全专业能读研吗
云服务器敏感文件安全
网络安全当中伪装和假冒的定义
网络安全风险隐患应对措施
武汉英语翻译软件开发
杭州网络安全处
lol手游国际服如何换服务器
网络技术的出现为现阶段电子商务
计算机网络技术应该考那个证
服务器管理 试卷
幼儿园大班网络安全教案
网络安全漏洞受害者
广西百望开票软件服务器地址
服务器一架大概多少钱
水果店管理系统数据库
2020网络安全公需考试