global cache cr request
当一个进程访问需要一个或者多个块时,它会首先检查自己的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
为了使用高速连接,关闭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 等待事件是一样的,这里不在叙述。
global cache cr request的更多相关文章
- HttpContext对象下的属性Application、Cache、Request、Response、Server、Session、User
概述: HttpContext封装关于单个HTTP请求的所有HTTP特定信息. HttpContext基于HttpApplication的处理管道,由于HttpContext对象贯穿整个处理过程,所以 ...
- [分享]Google 全球 IP 地址库[Google Global Cache IPs]
Google 全球 IP 地址库 IP 地址来源:http://www.kookle.co.nr,共计4351个. Bulgaria 93.123.23.1 93.123.23.2 93.123.23 ...
- IP Addresses of Google Global Cache
Bulgaria 93.123.23.1 93.123.23.2 93.123.23.3 93.123.23.4 93.123.23.5 93.123.23.6 93.123.23.7 93.123. ...
- Oracle RAC 全局等待事件 gc current block busy 和 gc cr multi block request 说明--转载(http://blog.csdn.net/tianlesoftware/article/details/7777511)
一.RAC 全局等待事件说明 在RAC环境中,和全局调整缓存相关的最常见的等待事件是global cache cr request,global cache busy和equeue. 当一个进程访问需 ...
- 一条sql导致数据库整体性能下降的诊断和解决的全过程
今天早上一来,数据库load就比往常高了许多.想想数据库唯一的变化是昨天早上我曾经重新分析过数据库对象. [@more@] 发现数据库load很高,首先看top发现没有特别异常的进程,在数据库中适时抓 ...
- Oracle Statspack报告中各项指标含义详解~~学习性能必看!!!
Oracle Statspack报告中各项指标含义详解~~学习性能必看!!! Data Buffer Hit Ratio#<#90# 数据块在数据缓冲区中的命中率,通常应该在90%以上,否则考虑 ...
- 这里的*号实际表示就是RAC中所有实例都使用
您的位置: ITPUB个人空间 » cc59的个人空间 » 日志 发布新日志 我的日志我的足迹我的收藏 unix/linuxHA随笔backup&restoreperformance tuni ...
- 老白关于rac性能调优的建议(10gRAC)
RAC应用设计方面需要在底层做很有设计.虽然ORACLE的售前人员总是说RAC的扩展性是透明的,只要把应用分到不同的节点,就可以平滑的扩展系统能力了.而事实上,RAC的CACHE FUSION机制决定 ...
- 如何诊断oracle数据库运行缓慢或hang住的问题
为了诊断oracle运行缓慢的问题首先要决定收集哪些论断信息,可以采取下面的诊断方法:1.数据库运行缓慢这个问题是常见还是在特定时间出现如果数据库运行缓慢是一个常见的问题那么可以在问题出现的时候收集这 ...
随机推荐
- 总结:Ruby里是值传递还是引用传递
在ruby中一切都是对象,而你向方法中传递的实质上是对象的引用( object-reference).ruby中变量都是对象的引用. 先来看 def pref2(agr) agr.downcase e ...
- Android开发笔记(10)——使用Fragment传递
转载请注明:http://www.cnblogs.com/igoslly/p/6911165.html 由于最近废寝忘食地在开发App,没来得及及时做总结,没有用很高级的部件,勉强也使用一些功能完成了 ...
- 使用CMD建立指定格式的文件
一.建立空文件的几种方法1.cd.>a.txtcd.表示改变当前目录为当前目录,即等于没改变:而且此命令不会有输出.>表示把命令输出写入到文件.后面跟着a.txt,就表示写入到a.txt. ...
- Windows 下MySQL zip 安装
主要步骤: 1.下载解压到安装的文件夹 2.配置环境路径 3.配置my.ini文件,设置程序路径和数据存储路径 4.以管理员身份启动Mysqld install(提示sevice安装成功) 5.启动M ...
- [ller必读] LoveLive! 必备技能之 Python Pillow 自动处理截图
起因 喜欢的歌,静静地听:喜欢的人,远远的看.30天前,就是3月14号,我情不自禁地走近了<LoveLive!学院偶像祭>,这是我的第一张卡片(见下图).第二天也就是3月15日,海未生日了 ...
- Percona Xtrabackup导出/导入单表
默认情况下,InnoDB表不能通过直接复制表文件的方式在mysql服务器之间进行移植,即便使用了innodb_file_per_table选项.而使用Xtrabackup工具可以实现此种功能,不过,此 ...
- tomcat多实例的部署
解压部署tomcat程序创建2个实例的工作目录mkdir -p /usr/local/tomcat8_instance/tomcat1mkdir -p /usr/local/tomcat8_insta ...
- 重置root管理员密码(RedHat、CentOS、Fedora)
重启Linux系统主机并出现引导画面时,按下键盘上的e键进入内核编辑界面. 在Linux16参数这行后面追加"rd.break"参数,然后按下Ctrl+x组合键来运行修改后的内核程 ...
- ldap 禁止匿名登录(5)
[root@zabbix1 ~]# cat disable_anon.ldif dn: cn=config changetype: modify add: olcDisallows olcDisall ...
- cxdbtreelist的处理点滴
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAuAAAAE8CAIAAAAOqJOXAAAgAElEQVR4nOy9eXAcV37n+bwzf21sbO ...