第84期 查询RAC之间私网的流量信息,监控 RAC 私网流量变化
在oracle的RAC环境中,我们可以通过DBA_HIST_IC_DEVICE_STATS试图读取 AWR 历史网卡设备统计信息, DBA_HIST_IC_DEVICE_STATS,用于查看 Oracle RAC 实例内部网卡(Interconnect,私网)的历史流量增量,筛选指定网卡实例 1、IP 段的流量信息,计算两次 AWR 快照之间的收发流量差值(MB),用来排查 RAC 私网
第83期 MySQL JSON Duality View + HeatWave Vector Search for RAG
Prerequisites: MySQL 9.7+, HeatWave enabled, vector plugin loaded.Scenario: Knowledge base documents stored in relational tables. JSON Duality View exposes nested JSON documents for LLM consumption. C
第82期 Oracle 19c RAC集群:如何在线迁移/替换 OCR 磁盘组
如果存储老旧要淘汰,新存储划了盘过来,怎么平移过去的呢? 假设新存储划了 3 块 LUN 过来,建立了一个新磁盘组叫 +NEWOCR。遇到这种绝境,平时如果没有深刻的底层认知和反复的实战演练,当场就得蒙。今天,我们将以 Oracle 19c RAC 为例,彻底盘透 OCR磁盘组。不仅告诉你它里面到底装了什么、怎么规划、日常怎么维护;最硬核的是,我还会手把手带大家模拟如何在线迁移/替换 O
第81期 批量抓取数据库中耗时最高的SQL自动生成【Active HTML格式的SQL Monitor报告】
set linesize 300 pagesize 0 SET DEF ^ TERM OFF ECHO ON AUTOP OFF VER OFF SERVEROUT ON SIZE 1000000; SET 
第80期 追踪 SQL 性能随时间变化、执行计划是否漂移、资源消耗变化
先上sql语句,在详细讲解这条sql的作用,下面这条sql,在工作中经常使用。select to_char (b.END_INTERVAL_TIME,'yyyymmddhh24mi') shijian, a.plan_hash_value plan_hash, sum (a.EXECUTIONS_DELTA) execu_d,
第79期 Oracle Buffer Busy Waits 等待事件 P3 参数详解
几年前,OTN 论坛上有人提出了这样一个问题: “谁知道在哪里可以找到所有不同等待事件的原因代码?”有时候问题需要更详细的描述才能避免混淆,否则可能会出现 “答非所问” 的情况。这位发帖者实际上是在询问direct path write(直接路径写)等待事件的 P3 参数含义,而 “原因代码” 这个说法通常让人联想到buffer busy waits(缓冲区忙等待)等待事件。这个帖子最终演变成了对
第78期 Oracle Buffer Busy Waits等待事件深入解读
缓冲区忙等待(Buffer Busy Waits)常见于 Oracle10g、11g,主要原因是向表或索引执行插入操作时产生争用。还有少数其他场景会发生争用:老式回滚段(RBS)、文件头块、空闲链表(freelists)。 在 Oracle10g 之前,还有一大诱因:读进程等待另一个读进程。即一个用户把数
第77期 ogg实现REPLICAT进程FILTER数据过滤
今天的目标是在ogg的目标端通过REPLICAT进程FILTER数据过滤的目的,OGG 过滤函数,满足条件才执行应用到目标库;不满足直接丢弃这条 trail 记录。把过滤后的数据推送到ActiveMQ中。一、语句完整解析主要实现的方式,是在目标端的oggREPLICAT进程中配置如下参数MAP TEST.LCCONT, TARGET TEST.LCCONT,FILTER(@STREQ("
第76期 明明Oracle表LCADDRESS列定义VARCHAR2(80)ORA-12899报错值太大
明明Oracle表LCADDRESS的"COMPANYADDRESS"列定义VARCHAR2(80),但是开发再执行update语句时,还是报错,ORA-12899报错"COMPANYADDRESS" 的值太大 (实际值: 82, 最大值: 80),开发同事使用update更新数据时使用如下sql时收到了ORA-12899的错误。update的sql进行了简
第75期 ORA-27104: system-defined limits for shared memory was misconfigured
oracle在安装过程或者是修改Oracle 启动实例分配 SGA 时,操作系统内核共享内存参数不满足需求,无法申请足够大小的共享内存段。报如下错误:ORA-27104: system-defined limits for shared memory was misconfigured Additional info
第74期 ogg Downstream 集成捕获max_sga_size 过小导致EXTRACT 进程ABENDING
今日在开发一个核心系统库上执行一个非常大的数据库脱敏脚本,由于脚本涉及到40多个表,开发保证要一次脱敏成功,一次,在执行40多个表的脱敏脚本时,不能一个一个表的提交数据,要等待最后一次提交,这样就造成一个非常大的事务。由于这个开发库还使用了ogg同步数据,使用的ogg Downstream 集成捕获方式,因此ogg抽取进程ABENDING,查看ogg的报错信息如下。我猜想应该是事务太大,造成的抽取
第73期 MySQL一条SELECT从回车到返回结果内部经历了什么
大家好,我是酋长彭。今天我们来做一件事情,把你每天都在敲的select语句拆开,看看从你按下回车的那一刻到屏幕上显示结果,mysql有SQL内部到底经历了哪些步骤。理解了这条链路,你对慢查询优化和索引设计的认知就会从背规则升级到懂原理。先看全景图,一条sql从客服端出发,依次经过连接器,解析器,预处理器,优化器,执行器,这五个组件都属于MySQL server,然后通过handler API跨越分
第72期 NULL 字段索引会不会失效?
如果说性能优化是数据库技术中的明珠,那么索引无疑是其中最耀眼的一颗,特别是 OLTP业务数据库。掌握了索引技术,基本上性能就不会有太大的问题。 有时我们创建了字段上的索引,但是通过执行计划却发现索引并没有被使用,还是会 使用全表扫描。随着表上数据量的增长,性能会越来越差。如果不能查明原因,就只能盲 目的靠不断扩容硬件来缓解(不是解决)这类问题,投资巨大,收益甚微。有时实在没办 法,只能通
第71期 通过SQL Monitor 实时执行监控抓取TOP N慢SQL
通过SQL Monitor 实时执行监控抓取TOP N慢SQL,首先上SQLset linesize 300 pagesize 0 SET DEF ^ TERM OFF ECHO ON AUTOP OFF VER OFF SERVEROUT&nbs
第70期 检查大名鼎鼎的SCN 急速增长漏洞的脚本
define LOWTHRESHOLD=10 define MIDTHRESHOLD=62 define VERBOSE=TRUE set veri off; set feedback off; set serverout on DECLARE verbose bo
第69期 自己手写Oracle AWR 近 3 小时 TOP5 非空闲等待事件采集脚本(二)
在上一篇的文章中《第68期 自己手写Oracle AWR 近 3 小时 TOP5 非空闲等待事件采集脚本(一)》我们详细解释了脚本的编写过程。本次主要给大家分享一下使用的案例。一、先给执行环境 + 输出样例1、执行方式复制整条脚本粘贴到 sqlplus / as sysdba 执行,必须开启输出:[oracle@zbyl ~]$ sqlplus / as&n
第68期 自己手写Oracle AWR 近 3 小时 TOP5 非空闲等待事件采集脚本(一)
最近自己手写Oracle AWR 近 3 小时 TOP5 非空闲等待事件采集脚本,用于日常做数据库维护时的小工具,具体的sql如下:set lines 400 set pages 1000 set feedback off set serverout on declare vevent varcha
第67期 通过Oracle AWR 历史性能巡检语句判断是否存在低效全表扫描问题
在做数据库巡检时,或者发现数据库CPU,内存压力过大时,可以通过Oracle AWR 历史性能巡检语句判断是否存在低效全表扫描问题。主要使用如下的sql进行排查问题。SELECT SQL_ID, EXECUTIONS_DELTA EXEC_CNT, &nb
第66期 GoldenGate 管理客户端(AdminClient)下载
GoldenGate Microservices的GoldenGate AdminClient下载, GoldenGate AdminClient工具的界面与经典的GGSCI命令行实用程序相似。GoldenGate部署通过MA服务器发布的REST API进行控制和配置。你可以从以下链接下载tar文件,并在不到一分钟的时间内使用它。很多时候,你不需要下载完整的GoldenGate软件包;你只需要下载
第65期 MySQL联合索引优化
今天收到一个生产系统的预警,CPU使用率比较高,一直报警,登陆到mysql数据库上,通过show full PROCESSLIST命令发现后台有很多sql在跑,并且执行时间都比较长。执行时间比较长的sql主要就是和 下面两个表有关系,并且表的数据量也比较大。表结构如下。CREATE TABLE `callcenter_send` ( `cal