latch: CDC 与buffer busy waits

2023-12-24 16:52
文章标签 buffer cdc busy latch waits

本文主要是介绍latch: CDC 与buffer busy waits,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

latch: CDC 等待的是latch,引发的原因是大量同一块(一块内包含很多行)的读

buffer busy waits以及 free buffer 一般是DML导致的,修改块内容

Securefiles DMLs cause high 'buffer busy waits' & 'enq: TX - contention' wait events leading to whole database performance degradation.

Top 5 Timed Foreground Events

EventWaitsTime(s)Avg wait (ms)% DB timeWait Class
buffer busy waits887,09692,28310466.65Concurrency
enq: TX - contention2,245,62441,2441829.79Other
DB CPU2,0301.47
db file sequential read854,8611,52421.10User I/O
latch: cache buffers chains375,67263420.46Concurrency

$ sqlplus / as sysdba
col Parameter for a30
col "Session Value" for a20
col "Instance Value" for a20
SELECT a.ksppinm "Parameter", b.ksppstvl "Session Value", c.ksppstvl "Instance Value"
FROM x$ksppi a, x$ksppcv b, x$ksppsv c
WHERE a.indx = b.indx
AND a.indx = c.indx
AND lower(a.ksppinm) like '_securefiles_concurrency_estimate';

Parameter                                Session Value        Instance Value
---------------------------------------- -------------------- --------------------
_securefiles_concurrency_estimate        12                   12

 
 

CAUSE

Bug 16375331 was filed seeking development team's feedback. It was closed as duplicate of Bug 13593640 which was also closed as "Not a Bug".

There is no indication for of any abnormal behavior. There is a high contention on GBSASP.SYS_LOB0000017961C00006$$ when the default setting of the hidden parameter "_securefiles_concurrency_estimate" can not afford such high concurrency.


System state dumps show high 'enq: TX - contention' with no single blocker.

AWR report shows frequently executed DMLs against table TBPINSTANCES:
 

SQL ordered by Elapsed Time

Elapsed Time (s)ExecutionsElapsed Time per Exec (s)%Total%CPU%IOSQL IdSQL ModuleSQL Text
37,917.03027.380.630.723bfqvwrqqpgmrSeeBIS6 AS 20138UPDATE TBPINSTANCES SET cProce...
33,449.86024.160.620.710u0vxfm0k4ybaSeeBIS6 AS 20138INSERT INTO TBPINSTANCES (cID,...
21,192.09015.300.620.704xfhztsqxh1nqSeeBIS6 AS 20138UPDATE TBPINSTANCES SET cProce...
11,153.7208.060.610.73f4jzxjbazkyr1SeeBIS6 AS 20138UPDATE TBPINSTANCES SET cProce...
11,151.9808.050.630.70391f6569xdbr3SeeBIS6 AS 20138UPDATE TBPINSTANCES SET cState...
7,803.2305.640.620.748a1urkdd3y048SeeBIS6 AS 20138UPDATE TBPINSTANCES SET cState...
5,573.0804.020.620.7320a291w9y9ruySeeBIS6 AS 20138UPDATE TBPINSTANCES SET cProce...
3,343.8702.410.620.72899f7bqcg1rg7SeeBIS6 AS 20138UPDATE TBPINSTANCES SET cProce...
1,114.6600.800.620.6253b97nu5k9948SeeBIS6 AS 20138UPDATE TBPINSTANCES SET cProce...
1,113.9100.800.650.7482zk467usk116SeeBIS6 AS 20138UPDATE TBPINSTANCES SET cProce...




Segments by Buffer Busy Waits

OwnerTablespace NameObject NameSubobject NameObj. TypeBuffer Busy Waits% of Capture
GBSASPGBSLOBSYS_LOB0000017961C00006$$LOB1,005,66599.96
GBSASPGBSDTATJMSMESSAGESTABLE1240.01
GBSASPGBSIDXPK_TJMSMESSAGESINDEX940.01
GBSASPGBSIDXIDX_JMSMESSAGES_TXOP_TXIDINDEX510.01
GBSASPGBSIDXPK_TJMSTRANSACTIONSINDEX370.00

 

>>>> The contention seems to be on GBSASP.SYS_LOB0000017961C00006$$

 

LOBs are mainly designed for "once inserted + many times queried". They have not been designed for such great number of UPDATEs.

 
 

SOLUTION

1) Please increase the securefiles concurrency estimate as follows:
# sqlplus / as sysdba
alter system set "_securefiles_concurrency_estimate"=50 scope=spfile;

>>> then restart the instance for the new value to take effect.

By increasing this parameter, we expect less concurrency contention on the securefiles. This Parameter can only hold values only between 1 and 50 (both included).

 

2) Then, kindly recreate any table that contains securefiles especially the contended table.

Recreating the contended table is necessary as the hidden parameter "_securefiles_concurrency_estimate" is picked up for securefiles setting only during creation.

这篇关于latch: CDC 与buffer busy waits的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/532455

相关文章

Java 文件读写最好是用buffer对于大文件可以加快速度

参考例子: FileReader fileReader = new FileReader(filename);BufferedReader bufferedReader = new BufferedReader(fileReader);List<String> lines = new ArrayList<String>();String line = null;while ((line =

【Node】Buffer 与 Stream

node 为什么会出现 Buffer 这个模块 在最初的时候,JavaScript 只运行在浏览器端, 对于处理 Unicode 编码的字符串很容易,但是对于处理二进制以及非 Unicode 编码的数据便无能为力。 不过对于 Server 端操作来说 网络I/O 以及 文件I/O 的处理是必须的,所以 Node 中便提供了 Buffer 类处理二进制的数据。 二进制缓冲区 Buffer

【0324】Postgres内核 Shared Buffer Access Rules (共享缓冲区访问规则)说明

0. 章节内容 1. 共享磁盘缓冲区访问机制 (shared disk buffers) 共享磁盘缓冲区有两套独立的访问控制机制:引用计数(a/k/a pin 计数)和缓冲区内容锁。(实际上,还有第三级访问控制:在访问任何属于某个关系表的页面之前,必须持有该关系表的适当类型的锁。这里不讨论关系级锁。) Pins 在对缓冲区做任何操作之前,必须“对缓冲区pin”(即增加其引用计数, re

Netty源码解析1-Buffer

大数据成神之路系列: 请戳GitHub原文: https://github.com/wangzhiwubigdata/God-Of-BigData 上一篇文章我们概要介绍了Netty的原理及结构,下面几篇文章我们开始对Netty的各个模块进行比较详细的分析。Netty的结构最底层是buffer机制,这部分也相对独立,我们就先从buffer讲起。 What:buffer简介 buffer中文

Flink新增特性 | CDC(Change Data Capture) 原理和实践应用

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 大数据真好玩 点击右侧关注,大数据真好玩! CDC简介 CDC,Change Data Capture,变更数据获取的简称,使用CDC我们可以从数据库中获取已提交的更改并将这些更改发送到下游,供下游使用。这些变更可以包括INSERT,DELETE,UPDATE等。

CDC内容分发网络

CDN   CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥挤的状况,提高用户访问网    站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因所造成的用户访问网站响应速度慢的

【LINUX】“dmesg: read kernel buffer failed: Operation not permitted“ 错误

出现 “dmesg: read kernel buffer failed: Operation not permitted” 错误通常是因为当前用户没有权限读取内核日志缓冲区 这可以通过修改内核参数 kernel.dmesg_restrict 来解决。 你可以尝试以下命令来允许非特权用户读取内核日志: sudo sysctl -w kernel.dmesg_restrict=0 这个命令

Kafka【五】Buffer Cache (缓冲区缓存)、Page Cache (页缓存)和零拷贝技术

【1】Buffer Cache (缓冲区缓存) 在Linux操作系统中,Buffer Cache(缓冲区缓存)是内核用来优化对块设备(如磁盘)读写操作的一种机制(故而有一种说法叫做块缓存)。尽管在较新的Linux内核版本中,Buffer Cache和Page Cache已经被整合在一起,但在理解历史背景和功能时,了解Buffer Cache仍然很有帮助。 Buffer Cache 的历史和定义

CDC与HDC的区别

引文:微软喜欢将内核对象标识,称之为句柄。应该都是32位或64位 每一个C++设备环境对象都有与之相对应Windows设备环境 并且通过一个32位类型的HDC句柄来标识 HINSTANCE:进程实例或者句柄 HANDLE:    文件句柄 HWND:          窗口句柄,用来标识窗口对象 HPEN:    画笔句柄,用来标识画笔对象 HBITMAP:    位图句柄 CWn

浅谈Buffer I/O 和 Direct I/O

通常来说,文件I/O可以分为两种: Buffer I/ODirect I/O Buffer I/O 缓存 I/O 又被称作标准 I/O,大多数文件系统的默认 I/O 操作都是缓存 I/O。 在 Linux 的缓存 I/O 机制中,这种访问文件的方式是通过两个系统调用实现的:read() 和 write()。调用read()时,如果 操作系统内核地址空间的页缓存( page cache )