数据库管理-第118期 记一次开启附加日志导致的性能问题(202301129)

news2025/1/27 13:01:38

数据库管理-第118期 记一次开启附加日志导致的性能问题(202301129)

本周二凌晨,为了配合某国产数据库从Oracle数据库能够实时同步数据,在X9M那套一体机上做了开启附加日志的操作,也正是因为这个操作带来了一些小问题。

1 干了些啥?

其实很标准,在主库CDB里面开启附加日志:

ALTER  DATABASE  ADD SUPPLEMENTAL  LOG  DATA;

而这时候在EMCC监控中发现某个PDB开始出现了一些问题:
在这里插入图片描述
数据库两条查询语句出现了大量的latch: cache buffers chains等待,业务方反馈主要是查询几乎卡死,对应操作无法执行。而这两条语句平时执行效率贼高,理应不会出现这个问题,那么根据最近做了啥操作,判定肯定是因为开启附加日志引起的。好的一点是开启附加日志的操作大概在15分钟内完成了,为了快速恢复业务,所以将对应PDB进行了重启操作:

alter pluggable database pdb_xxx close immediate instances=all;
alter pluggable database pdb_xxx open instances=all;
srvctl start service -db xxdbaas -s xxxdb

2 为什么会这样?

首先这里发生的问题很奇怪,如果是开启附加日志引起的异常等待,那么应该是所有PDB都会受到影响,然而受影响的只有一个PDB,在网上和MOS查了一圈过后也没找到具体原因,只能开个SR问问,上传了标准3件套:AWR报表、ASH、tfactl收集的文件之后,后台也很快给了答复:

根据Alter Database Add Supplemental Log Data Hangs (Doc ID 406498.1),启用Supplemental Log ,这个会让所有cursor cache 里的cursor失效,这个应该是导致这些SQL再次执行时候等待latch: cache buffers chains 的原因,通常来讲, 这个等待应该不会很长时间并且这么多会话同时等待,除非sql 性能很差,这个目前在您的环境中看不出来,因为在同一sample 里,很多会话执行同一sql,并且blocker是不同的。这个应该是正常的, 只是在增加supplemental log data 过程中很大概率遇到的一个情况。

这个问题也是我第一次遇到,因为附加日志开启造成的大量等待,也算是吃一堑长一智,以后所有数据库操作还是申请一个高级别的割接操作,割接期间任何影响就有据可依。这里也可以看到,一体机会给一些性能不大好的SQL带来一些幻觉,因为跑的很快;另一方面即是强如Exadata也不能在稍有异常的情况下跑出非凡性能。最终还好业务侧把出问题时间的坑给填了,不说了,看语句优化去了。

3 你以为就完了?

数据库的性能问题确实是解决了,但是还得去PDB里面开全列附加日志,因为要从ADG备库拉取数据,而备库用于日志存储的磁盘组空间很小,因此该国产数据库技术人员提供了下面的语句来开启需要同步的对应表的全列统计信息:

DECLARE
    sqltest VARCHAR2(200;);
BEGIN
    FOR t IN (SELECT table_name FROM all_tables WHERE owner ='XXXX'))
    LOOP
        Sqltest := 'ALTER TABLE '||t.table_name||'ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS';
        EXECUTE IMMEDIATE sqltest;;
        DBMS_OUTPUT.PUT_LINE(sqltest;);
    END LOOP;;
END;;

这里吐槽以下几点:

  • loop,查一条拼接一条执行一条,这效率,有点低
  • 变量大小写问题,主要是看着烦
  • 作为DBA不干预业务用户账号密码,那我肯定得用高权限用户去执行,那么只不是缺了个schema拼接内容
  • ADD前面少了一个空格(尴尬症还是强迫症抑或都给整出来了)

总结

老规矩,知道写了些啥!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1268008.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

构建现代Web应用:5个基本的前端架构原则

本文翻译自 Building modern Web Applications: 5 Essential Frontend Architecture Principles,作者:Patrick Roos, 略有删改。 在这篇文章中,我提出了构建现代前端的五个架构原则。我第一次听到这些原则是在Natalia Venditto的一…

NTT 的各类优化:Harvey、PtNTT,Intel AVX2、ARM Neon、GPGPU

参考文献: [Har14] Harvey D. Faster arithmetic for number-theoretic transforms[J]. Journal of Symbolic Computation, 2014, 60: 113-119.[Sei18] Seiler G. Faster AVX2 optimized NTT multiplication for Ring-LWE lattice cryptography[J]. Cryptology ePr…

QDoubleSpinBox的使用示例

QDoubleSpinBox即可以做为数值型输入框使用,也可以使用只读型数据显示框,在作为输入框使用时比QLineEdit有以下几个方面的优势 1.可以设置范围,并且范围精确, 2.输入数据精确,自动屏幕非数值以外的字符。 3.设置步长后…

【LeetCode刷题】--77.组合

77.组合 class Solution {public List<List<Integer>> combine(int n, int k) {List<List<Integer>> ans new ArrayList<>();if( k < 0 || n < k){return ans;}Deque<Integer> list new ArrayDeque<>();dfs(ans,list,n,k,1)…

Panorama SCADA平台助力智能建筑管理,掌控未来建筑!

来源&#xff1a;宏集科技 工业物联网 宏集方案 Panorama SCADA平台助力智能建筑管理&#xff0c;掌控未来建筑&#xff01; 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; 前言 在现代智能建筑管理中&#xff0c;随着设施管理&#xff08;FM&#xff09;、建筑管理…

05_MySQL主从复制架构

任务背景 ##一、真实案例 某同学刚入职公司&#xff0c;在熟悉公司业务环境的时候&#xff0c;发现他们的数据库架构是一主两从&#xff0c;但是两台从数据库和主库不同步。询问得知&#xff0c;已经好几个月不同步了&#xff0c;但是每天会全库备份主服务器上的数据到从服务…

Hadoop数据仓库平台搭建

在这里是学习大数据的第一站 什么是数据仓库常见大数据平台组件及介绍 什么是数据仓库 在计算领域&#xff0c;数据仓库&#xff08;DW 或 DWH&#xff09;也称为企业数据仓库&#xff08;EDW&#xff09;&#xff0c;是一种用于报告和数据分析的系统&#xff0c;被认为是商业智…

Mysql安全之基础合规

一、背景 某次某平台进行安全性符合型评估时&#xff0c;列出了数据库相关安全选项&#xff0c;本文特对此记录&#xff0c;以供备忘参考。 二、安全配置 2.1、数据库系统登录时的用户进行身份标识和鉴别&#xff1b; 1&#xff09;对登录Mysql系统用户的密码复杂度是否有要…

智能优化算法应用:基于鸟群算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于鸟群算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于鸟群算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鸟群算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

创建Asp.net MVC项目实现视图页面数据传值显示

MVC中视图传值 ViewData ViewBag TempData 举例创建三中传值方式实现页面数据展示 MVC中视图传值 Asp.net MVC中Controller向View传值有多种方式,这里简单说一下其中3种方式 ViewData、ViewBag和TempData ViewData ViewData存储数据&#xff0c;ViewData的声明和赋值方…

BGP笔记全

自治系统---AS 定义&#xff1a;由一个单一的机构或者组织所管理的一系列IP网络及其设备所构成的集合。 AS划分的原因 如果整张网络很大&#xff0c;路由数量进一步增加&#xff0c;路由表规模变得太大&#xff0c;会导致路由收敛速度变慢&#xff0c;设备性能消耗加大&#…

C++11——initializer_list

initializer_list的简介 initializer_list是C11新出的一个类型&#xff0c;正如类型的简介所说&#xff0c;initializer_list一般用于作为构造函数的参数&#xff0c;来让我们更方便赋值 但是光看这些&#xff0c;我们还是不知道initializer_list到底是个什么类型&#xff0c;…

【小聆送书第一期】让架构师的成神之路温暖你这个不景气的冬天

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;网络奇遇记、数据结构 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言 书籍一览 ⛳️书籍一⛳️书籍二⛳️书籍三⛳️书籍四⛳️书籍五⛳️书籍六⛳️书…

Git和Git小乌龟安装

目录 Git简介 Git安装 Git小乌龟简介 Git小乌龟安装 Git简介 Git是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地进行从很小到非常大的项目的版本管理。它最初是由Linux Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Git具有速度、…

LeetCode(42)有效的字母异位词【哈希表】【简单】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 有效的字母异位词 1.题目 给定两个字符串 *s* 和 *t* &#xff0c;编写一个函数来判断 *t* 是否是 *s* 的字母异位词。 **注意&#xff1a;**若 *s* 和 *t* 中每个字符出现的次数都相同&#xff0c;则称 *s* 和 *t* 互为字…

怎么样的软件测试工程师才算“大神”?

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

Bug 检查 0x7B:INACCESSIBLE_BOOT_DEVICE(未解决)

环境&#xff1a; HP ProDesk 480 G7 Win10 专业版 问题描述&#xff1a; INACCESSIBLE_BOOT_DEVICE bug 检查的值为0x0000007B。 此 bug 检查表明 Microsoft Windows 操作系统在启动过程中无法访问系统分区 原因&#xff1a; 1.INACCESSIBLE_BOOT_DEVICE bug 检查经常发生…

python基于YOLOv6最新0.4.1分支开发构建钢铁产业产品智能自动化检测识别系统

在前文中陆续基于不同类型的目标检测模型开发构建了钢铁产业产品缺陷质检系统&#xff0c;关于yolov6除了刚提出的时候有过使用&#xff0c;后续使用较少了&#xff0c;今天就以yolov6最新0.4.1分支模型为基准来开发实践目标检测项目开发。 首先看下实例效果&#xff1a; 官方…

2023最新的软件测试热点面试题(答案+解析)

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

uniapp小程序项目连接微信客服【最新/最全教程】

目录 文档微信官网文档图片微信小程序客服配置官网 效果图聊天地址手机微信电脑端 微信聊天功能实现微信小程序后台添加客服微信号以及配置代码实现参考最后 文档 微信官网文档 微信官网文档 图片 微信小程序客服配置官网 微信小程序客服配置官网 效果图 聊天地址 地址 手…