AIX上:

#no –a

udp_recvspace

udp_sendspace

o 设置udp_sendspace >=[(DB_BLOCK_SIZE * DB_FILE_MULTIBLOCK_READ_COUNT) + 4096],但是不低于 65536.

比如,DB_BLOCK_SIZE=8192, DB_FILE_MULTIBLOCK_READ_COUNT=16,那么udp_sendspace>= (8192 * 16) + 4096=135168.注意这个值只是最低值,并不是Oracle要求必须设置这么大。

o 设置udp_recvspace 为 4到10倍 udp_sendpace

o 由于sb_max 必须 >= udp_recvspaceIf ,可能需要增加sb_max的值(默认为1048576)

o 如果udp的参数设置不合理,可能会产生“socket buffer overflows”,如果这个值非0, 需要增加udp_recvspace:

netstat -s | grep "socket buffer overflows"

o 参考资料:http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP100883

Minimum Software Versions and Patches Required to Support Oracle Products on IBM Power Systems (Doc ID 282036.1)

Linux上:

#More /etc/sysctl.conf

net.core.rmem_default

net.core.rmem_max

net.core.wmem_default

net.core.wmem_max

官方文档上要求的最低值:

http://docs.oracle.com/cd/E11882_01/install.112/e24321/pre_install.htm#BABDAEDB

Oracle Database Installation Guide

11g Release 2 (11.2) for Linux

E24321-07

rmem_default     262144

rmem_max     4194304

wmem_default     262144

wmem_max     1048576

可以将这几个值都设为4k:

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 4194304

net.core.wmem_max = 4194304

HP上:

请检查UDP设置是否足够大:

$ /bin/ndd -get /dev/sockets socket_udp_rcvbuf_default

$ /bin/ndd -get /dev/sockets socket_udp_sndbuf_default

确保socket_udp_rcvbuf_default至少是socket_udp_sndbuf_default的两倍。

Sun:

可以用下面的命令查看UDP设置:

ndd /dev/udp udp_xmit_hiwat

ndd /dev/udp udp_recv_hiwat

ndd /dev/udp udp_max_buf

可以用下面的命令设置这两个值为OS最大允许的:

ndd -set /dev/udp udp_xmit_hiwat

ndd -set /dev/udp udp_recv_hiwat

ndd -set /dev/udp udp_max_buf <1M or higher>

更多信息,可以参考MOS文档:

Tuning Inter-Instance Performance in RAC and OPS (Doc ID 181489.1)

第三步,查看网络情况。

比如用netstat -s 命令查看是否有bad data length, bad checksums, incomplete headers, socket buffer overflows等,注意这些值是累计的,需要查看它们在发生问题的时候是否有增加。

另外可以查看AWR中是否有 "Global Cache Blocks Lost" ,理想情况下这个值是0,如果有较大的block lost,说明网络有问题(按照MOS 文档563566.1进行网络检查)。

还可以请网管查看私网的性能情况。

第四步,检查LMS。

1. 查看LMS的trace file,查看是否有异常。

2. 查看LMS进程的优先级是否是实时的(real time)的?

比如AIX:

# ps -elf|grep lms

ps -elf|grep lms

F      S      UID      PID     PPID   C PRI NI ADDR    SZ    WCHAN    STIME    TTY  TIME CMD

240103 A   oracle  4719002        1539 -- 8ae40b590 248856            Jul 28      - 570:45 ora_lms0_rac1

priority 越小说明优先级越高,PRI小于40说明是Real Time的:

http://aix4admins.blogspot.co.uk/2011/08/commands-and-processes-process-you-use.html

3. 查看LMS的个数:

SQL>show parameter GCS_SERVER_PROCESSES

这个值决定了LMS的个数

这个值依赖于CPU的个数(cpu_count),根据11.2官方文档:

http://docs.oracle.com/cd/E11882_01/server.112/e25513/initparams094.htm#REFRN10259

Default value

If 1 - 3 CPUS, then 1

If 4 - 15 CPUs, then 2

If 16 or more CPUs, then 2 + (CPUs / 32). If the result includes a fraction, then the fraction is disregarded. For example, if you had 20 CPUs, then 2 + (20 / 32) would equal 2 GCS processes.

If CLUSTER_DATABASE is set to false, then 0

If ASM, then 1

在AIX上,有的时候CPU可能是动态增加的,那么一定要注意检查LMS进程的个数是否随之调整了。

oracle查询导致 gc等待,如何诊断Oracle RAC系统中的等待事件gc cr multi block request?...相关推荐

  1. Oracle查询对应表是否在使用,oracle 中查询当前用户可以看到的表名、表对应的所有字段...

    1.oracle 查询当前用户下的表名,表注释 select t.table_name, f.comments from user_tables t inner join user_tab_comme ...

  2. oracle查询超过5000行报错,oracle系列教材 (十七)- 阶段性练习2

    8 个答案 inon 答案时间:2020-03-01 --查询部门编号大于等于50小于等于90的部门中工资小于5000的员工的编号.部门编号和工资 select employee_id,salary, ...

  3. oracle分布式事物锁,ORA-02049:超时:分布式事务处理等待锁诊断-Oracle

    正式环境有两个数据库A和B,在A库上建的dblink,业务是要将A库中的一些表,通过dblink更新到B库中去,更新的时候总是报错:ORA-02049: 超时: 分布式事务处理等待超时. 之前我写过一 ...

  4. oracle查询游标行数,如何查找Oracle PL/SQL游标中的记录数量?

    NB:我刚才重读你的问题..你要失败的.如果只有1个记录.. 我会后在某一时刻有新的更新.. ,让我们开始在这里.. 从的Oracle®数据库PL/SQL用户指南和参考 10g第2版(10.2) 型号 ...

  5. oracle查询第二个字为a,Oracle多表查询 - osc_yqnlq679的个人空间 - OSCHINA - 中文开源技术交流社区...

    本节剖析Oracle多表查询中的相关内容. 本文所用到的表为oracle中scott用户下的emp表,dept表,数据如下: 一.笛卡尔集: 概念:假设A,B是2个集合,A X B所形成的集合叫笛卡尔 ...

  6. oracle父游标和子游标,诊断Oracle high version count(高版本游标)问题

    什么是high version cursor(高版本游标)?对于一个特定的游标有多少个版本就属于高版本游标是没有明确定义的.对于不同的系统有不同 什么是high version cursor(高版本游 ...

  7. oracle查询案例,2道经典的oracle查询案例

    第一题: 第一题: 直接贴代码: select Id,Name,Money,(select Money from test1 a where a.Id = decode(b.Id - 1,0,null ...

  8. oracle查询cpu占用率高,解决oracle进程CPU占用过高问题

    解决问题的过程: 1)查看服务器CPU使用情况 输入top 会发现排在前面的都是oracle的进程,而且CPU占用率都是50以上. $top top - 16:28:41 up 4 days, 22: ...

  9. oracle查询时定义临时的变量,oracle学习笔记之临时变量的使用

    在oracle中临时变量可以用&|&&   name 的格式代表临时变量使用& 和使用&& 是有区别的 以下是一个不使用临时变量的查询语句: SQL&g ...

最新文章

  1. 小时代5-perl的INC设置分析
  2. idea 编写javafx_用JavaFX编写图块引擎
  3. 结构化数据建模——titanic数据集的模型建立和训练(Pytorch版)
  4. mysql rr和rc_MySQL Transaction--RC和RR区别
  5. spring mvc注解之@RequestBody和@RequestParm
  6. (转)Hibernate框架基础——多对多关联关系映射
  7. ASP.NET Core 新建项目(Windows) - ASP.NET Core 基础教程 - 简单教程,简单编程
  8. 3992. 树上有猴-AcWing题库
  9. Markdown桌面最佳编辑器
  10. bitset优化传递闭包
  11. 快速学习Ant Design-简介
  12. Java 分布式面试题集合
  13. 数学杂谈:高维空间向量夹角小记
  14. 账号密码管理系统html,管理员密码一般是啥
  15. 手机home键、POWER 键分别是什么
  16. macOS 中英文输入法切换终极解决方案
  17. 织梦php数据库修改密码,如何使用phpmyadmin修改织梦后台密码
  18. Java实现微信开发者-测试账号申请及配置
  19. 华为5g cpe 虚拟服务器,购买华为5G CPE Pro 2之前你需要知道这些
  20. STM32---设备电子签名

热门文章

  1. Mac上最好用的BT下载工具——Folx
  2. 电视服务器媒体流中断是什么意思,视频流媒体服务器稳定吗?出现播放中断问题怎么办?...
  3. 数学建模中所需要使用到的Matlab(从零开始介绍)
  4. 计算机专业英语 论文的框架结构,一张图看懂硕士论文框架结构
  5. AI领域真正最稀缺的人才是会庖丁解牛的那个人
  6. Spring Cloud Alibaba Nacos 分布式配置中心
  7. 23-Vue和Element基础
  8. 我为什么信主---为主作见证
  9. D语言与C++做映射时需要注意的事情
  10. Dew Lab Studio