第84期 查询RAC之间私网的流量信息,监控 RAC 私网流量变化
在oracle的RAC环境中,我们可以通过DBA_HIST_IC_DEVICE_STATS试图读取 AWR 历史网卡设备统计信息, DBA_HIST_IC_DEVICE_STATS,用于查看 Oracle RAC 实例内部网卡(Interconnect,私网)的历史流量增量,筛选指定网卡实例 1、IP 段的流量信息,计算两次 AWR 快照之间的收发流量差值(MB),用来排查 RAC 私网
第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 之前,还有一大诱因:读进程等待另一个读进程。即一个用户把数
第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
第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
第64期 ORA-00600: internal error code, arguments: [qosdExpStatRead
ORA-00600: internal error code, arguments: [qosdExpStatRead: expcnt mismatch]报错解决办法。
第62期 Oracle通过DBA_HIST_SQLSTAT 追踪SQL历史性能问题
DBA_HIST_SQLSTAT 是 Oracle AWR(自动负载仓库)中记录 SQL 执行统计历史的核心视图,保存了被采样的 SQL 在各快照区间的性能数据。所有指标都分 _TOTAL(实例启动以来累计) 和 _DELTA(快照区间增量) 两类。配合 AWR 快照,精准定位慢 SQL、分析性能趋势、溯源性能抖动、做 SQL 优化复盘,生产 DBA 日常高频用法。下面介绍一下这个DBA_HIST
第61期 ogg数据同步进程OCI Error ORA-30036错误处理方案
开发同事要求执行数据变更,由于本数据库数据量非常大,数据库中有很多大表。数据量大约有9.1T。开发同事执行的sql,大部分是ddl的变更。并且数据库中配置有ogg数据同步。执行ddl变更后,ogg数据同步进程变的异常了。说明一下:执行ddl的是在A用户下执行的,ogg数据同步的表是B用户的。因此应该初步判断和执行DDl没有关系。并不是数据变更造成的数据同步异常。查看ogg异常信息。异常信息中主要包
第59期 Oracle 索引与filter(与nested loop类似) 生产优化案例
Oracle 索引与 Filter(类 Nested Loop)优化:生产案例 + 实操 Demo在 Oracle 中,FILTER(过滤)操作是优化器的核心执行路径之一,逻辑上与 Nested Loop(嵌套循环)高度相似—— 都是 “外层驱动 + 内层过滤”,但FILTER更侧重 “先筛选外层结果集,再用结果集过滤内层数据”,而索引是让FILTER/Nested Loop 高效执行的关键(减少
第57期 如何排查Oracle数据库中某个sql的性能是否退化还是提升了
当Oracle数据库整体性能下降时,需要进行排查和跟踪,以确定问题的根本原因并采取适当的措施。本文将介绍一些常用的方法和技术,帮助您诊断和解决Oracle数据库性能下降的问题。一、识别目标SQL使用SQL语句排查Oracle数据库SQL性能退化/提升的完整方法:查询高负载的SQL,有很多种方法。-- 1. 查找高负载SQL SELECT sql_id,
第56期 Oracle索引的八种使用模式
索引,使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。当表中有大量记录时,若要对表进行查询,第一种搜索信息方式是全表搜索,是将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录,这样做会
第55期 Oracle数据库查询有多个执行计划的sql
在oracle数据库中,一个sql语句有多个执行计划,意味着这个sql语句不稳定,有可能出现有时查询快,有时查询慢,比如这个sql在某一个列上有索引,大家认为有索引了,sql查询肯定会很快,但是即便有索引,但是在oracle数据库中,索引扫描有很多种方式,索引的访问模式有八种。1.INDEX UNIQUE SCAN 效率最高,主键或唯一索引,走树结构。2.INDEX FA