`
itspace
  • 浏览: 978879 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

【zt】RAC全局等待事件分析

阅读更多
在RAC环境中,和全局调整缓存相关的最常见的等待事件是:global cache cr request,global cache busy和equeue
如spreport中的top 5 wait events中出现了global cache cr request等待事件,
那么这个等待事件是什么原因引起的呢?

首先,我们来看看这个等待事件是如何产生的,当一个进程访问需要一个或者多个块时,oracle会首先检查自己的CACHE是否存在该块,如果发现没有,就会先通过global cache赋予这些块共享访问的权限,然后再访问。假如,通过global cache 发现这些块已经在另一个实例的CACHE里面,那么这些块就会通过CACHE FUSION,在节点之间直接传递,
同时出现global cache cr request等待事件

注意:在10G中,global cache cr request 已经简称为 gc cr request

从remote cache运输块到本地cache花费的时间还得看这些块是共享还是独占模式,如果块是共享(scur)的,REMOTE CACHE就克隆信息传送过来,否则就要产生一个PI,然后再传送过去。显然,global cache cr request等待事件和db file sequential/scattered read 等待事件有着直接的关系。

通常,RAC中的进程会等待1S去尝试从本地或者远程CACHE读取数据块信息,当然,这还得依靠块处于什么样的模式。如果超过了 1S,那就表明节点之间连接慢,这个时候节点之间就使用private连接,而 客户端的连接使用public,有时候,节点之间的连接, Cache Fusion就不会通过公共网络,在这种情况下,就会有大量的global cache cr request等待事件出现,你可以使用oradebug ipc命令去验证下节点之间的连接是否使用了private network。

例如:

SQL> oradebug setmypid
Statement processed.
SQL> oradebug ipc
Information written to trace file.
SQL> oradebug tracefile_name
/home/oracle/admin/rac/udump/rac1_ora_3194.trc

SKGXPCTX: 0xb3ca990 ctx
admono 0x1e00b916 admport:
SSKGXPT 0xb3caa78 flags info for network 0
socket no 8 IP 192.168.1.1 UDP 53064
sflags SSKGXPT_UP
info for network 1
socket no 0 IP 0.0.0.0 UDP 0
sflags SSKGXPT_DOWN
active 0 actcnt 1
context timestamp 0

从上面你可以看到IP 92.168.1.1在Cache Fusion使用,而且协议是UDP默认情况下,节点之间的连接是采取TCP协议的,为了更改这个而使用告诉内部连接,你需要进行以下操作。例如,默认情况下,在LINUX操作系统上,节点之间的连接使用UDP,这个信息你可以从后台日志中看到:

cluster interconnect IPC version:Oracle UDP/IP
IPC Vendor 1 proto 2 Version 1.0
另外我们可以使用以下命令查看TCP和UDP的缓存是否不足
# netstat -s|grep overflow
        0 socket buffer overflows
        0 ipintrq overflows

为了使用高速连接,关闭ORACLE所有服务,重新连接如下:

$ make -f ins_rdbms.mk rac_on ipc_hms ioracle

如果你想重新使用UDP,则

$ make -f ins_rdbms.mk rac_on ipc_udp ioracle

当会话从开始提交一致读的请求,到它获取请求信息,这个过程它是SLEEP状态的,对我们而言,看到的就是global cache cr request等待事件,而wait time就是记录这个过程的时间。

通常,大量的global cache cr request主要有以下几个原因:

1 节点之间内部连接慢或者节点之间传输带宽窄。这个可以通过重新连接获取高速连接

2 存在热点数据块的竞争

3 CPU负载过高或者LMS后台进程不够。正常情况下,只有两个LMS后台进程从CPU那里获取资源,增加LMS进程的数量或者提高它的优先权能够帮助从CPU那里获取更多的资源。隐藏参数 _lm_lms是设置LMS进程数量的

4 大量未提交的事务或者系统磁盘设备传输慢

有关global cache的信息:
SQL> select name,value from v$sysstat where name like '%global cache%';

NAME VALUE
---------------------------------------------------------------- ----------
global cache gets 1791587
global cache get time 85911
global cache converts 179612
global cache convert time 1262
global cache cr blocks received 17189
global cache cr block receive time 31547
global cache current blocks received 4627
global cache current block receive time 763
global cache cr blocks served 16805
global cache cr block build time 72
global cache cr block flush time 25043

NAME VALUE
---------------------------------------------------------------- ----------
global cache cr block send time 54
global cache current blocks served 3529
global cache current block pin time 21
global cache current block flush time 0
global cache current block send time 15
global cache freelist waits 285
global cache defers 2
global cache convert timeouts 0
global cache blocks lost 0
global cache claim blocks lost 0
global cache blocks corrupt 0

NAME VALUE
---------------------------------------------------------------- ----------
global cache prepare failures 8
global cache skip prepare failures 3408

24 rows selected.

通过查询V$BH视图,获取当前缓冲区的信息:
SQL> select status,count(*)from v$bh group by status;

STATU COUNT(*)
----- ----------
cr 67
free 8571
scur 10636
xcur 43094

上面的2,4可通过减少PI和缓冲区的CR拷贝缓解global cache cr request等待事件,
实际上2的处理方法和处理db file sequential/scattered read 等待事件是一样的
分享到:
评论

相关推荐

    RAC故障分析与处理

    RAC 故障分析与处理 RAC(Real Application Clusters)是 Oracle 公司开发的一种高可用性集群解决方案,旨在提供高性能、可扩展性和高可用性。RAC 故障分析与处理是指对 RAC 环境中出现的故障进行分析和处理,以...

    Oraclerac数据库性能分析.pdf

    - **等待事件分析**:等待事件是识别性能问题的关键,包括I/O等待、网络延迟、锁定等待等。分析最严重的5个等待事件,可以帮助定位问题所在。 3. **SQL 分析**: - **SQL语句执行总时长排序**:通过排列SQL语句的...

    RAC节点宕机故障分析

    在这个主题中,我们将重点介绍 RAC 节点宕机故障的分析和解决方法,涵盖 ALERT 告警文件分析、事件分析、ORA-600 错误分析、Bug 分析和 LMS 进程分析等方面。 一、RAC 节点宕机故障的原因分析 RAC 节点宕机故障...

    Oracle RAC数据库架构分析与实战攻略

    ### Oracle RAC数据库架构分析与实战攻略 #### 9.1 设计高可用性架构 在设计高可用性架构时,通常需要考虑多种技术和产品,以确保系统的稳定性和连续性。其中,Oracle RAC(Real Application Clusters)是业界领先...

    精品专题(2021-2022年收藏)RAC数据库集群服务器系统性能瓶颈分析zt.doc

    例如,针对互联传输的优化,解决序列化问题,以及使用RAC-reactive工具如等待事件、系统和队列统计,以及RAC-proactive工具如AWR快照和ADDM报告。在RAC环境中,由于数据块的共享和一致性,序列化问题会更加突出,...

    监控oracle的等待事件

    为了深入分析等待事件,可以利用 v$session_wait 视图进行监控,并结合 v$session_longops 来诊断长时间运行的事务。v$session_longops 提供了关于长时间操作的详细信息,包括操作描述、目标对象等,这对于识别并...

    Oracle RAC 环境中 gc block lost 和私网通信性能问题的诊断

    Oracle RAC(Real Application Clusters)环境中,gc block lost 和私网通信性能问题是两个常见的性能瓶颈问题,本文将对这两个问题进行详细的分析和诊断。 一、gc block lost 问题 gc block lost 是 Oracle RAC ...

    深度挖掘ORACLERAC数据库架构分析与实战攻略.part2

    一共分为3个部分,共9章。第一部分介绍集群的概念与RAC的结构和原理以及存储基本知识。第二部分全面介绍RAC的安装和管理维护以及RAC的备份恢复。第三部分对RAC性能调优的方法和工具进行了分析。

    OracleRAC性能调整[归纳].pdf

    总结来说,Oracle RAC性能调整是一个复杂的过程,需要全面了解CPU和wait time的平衡、RAC特有的调整策略、Cache Fusion的工作原理、潜在性能影响因素以及等待事件的分析。通过监控和调整这些关键指标,可以有效地...

    Oracle RAC Cache Fusion介绍.pdf

    Oracle RAC Cache Fusion 介绍 Oracle RAC Cache Fusion 是一种高效的缓存机制,在 Oracle ...Cache Fusion 机制是 Oracle RAC 环境中的一种高效的缓存机制,可以提高系统的可用性和性能,降低系统的延迟和等待时间。

    【原创】20180510_RAC节点重启原因分析.zip

    本话题主要探讨2018年5月10日发生的RAC节点重启事件的原因分析,旨在帮助数据库管理员理解这类问题并采取预防措施。 首先,我们需要了解RAC的基本工作原理。RAC通过全局缓存区(Global Cache Service)和集群文件...

    深度挖掘:Oracle RAC数据库架构分析与实战攻略》.( 张顺仕,高飞,沙波 ).[PDF].rar

    《深度挖掘:Oracle RAC数据库架构分析与实战攻略》是一本深入探讨Oracle Real Application Clusters (RAC)技术的专业书籍,由张顺仕、高飞和沙波三位专家合著。Oracle RAC是Oracle数据库系统的一个重要特性,它提供...

    RAC数据库性能优化

    - **确定RAC特定的等待事件、全局入队和系统统计数据**:通过监控这些关键指标来诊断并解决问题。 - **应用最常见的RAC优化技巧**:掌握一套实用的优化技巧,包括但不限于SQL调优、资源管理等。 - **使用集群数据库...

    学习Oraclerac数据库性能分析.pdf

    在进行Oracle RAC数据库性能分析时,我们关注的关键点包括数据库负载、实例效率、共享池状况、CPU 使用情况、等待事件以及SQL 语句的执行性能。以下是对这些关键知识点的详细解释: 一、数据库性能分析概述 Oracle ...

    oracle rac 性能分析与调整

    在Oracle RAC环境下,性能分析与调整至关重要,因为系统的性能表现可能与单实例环境有所不同。以下是对Oracle RAC性能调优的深入探讨: ### RAC调优基本思路 1. **应用设计调整**:在设计阶段就应考虑RAC环境,...

    Oracle19c RAC+ RACDG配置详细部署文档

    Oracle 19c RAC (Real Application Clusters) 和 RACDG (Data Guard) 是企业级数据库解决方案,用于实现高可用性和灾难恢复。RAC允许多个实例同时访问同一个数据库,而RACDG则提供了主库与备库之间的数据保护。 在...

    Oracle rac数据库性能分析.pdf

    如果 DB Time 高,可能表示存在性能问题,需要进一步分析等待事件来确定原因。 - **实例效率**:检查每个 RAC 实例的资源利用率,包括 CPU、内存和 I/O,确保资源在集群中均匀分布,避免单点过载。 - **共享池情况...

    Oracle数据库RAC技术解决方案及分析.pdf

    Oracle数据库RAC技术解决方案及分析.pdf

    由重启引起的Oracle RAC节点宕机分析及追根溯源.docx

    通过上述分析可以看出,尽管每次宕机事件都伴随着ocssd.log中的“CSSD signal 11 in thread GMClientListener”错误记录,但未能确定具体的故障原因。考虑到故障发生在多套RAC的不同节点上,可能存在某种共性问题,...

    Oracle 11GR2 RAC节点crash故障分析

    ### Oracle 11GR2 RAC节点Crash故障分析 #### 概述 在Oracle 11GR2 RAC环境中,遇到节点Crash的情况是非常严重的问题,它可能会导致整个集群的不可用,进而影响业务系统的正常运行。本文将详细介绍一个实际案例中...

Global site tag (gtag.js) - Google Analytics