Problem Description
---------------------------------------------------
Tue Sep 01 04:05:33 2020
skgxpvfynet: mtype: 61 process 417356 failed because of a resource problem in the OS. The OS has most likely run out of buffers (rval: 4)
Errors in file /u01/app/oracle/diag/rdbms/syntong/syntong1/trace/syntong1_w001_417356.trc (incident=96021):
ORA-00603: ORACLE server session terminated by fatal error
ORA-27504: IPC error creating OSD context
ORA-27300: OS system dependent operation:sendmsg failed with status: 105
ORA-27301: OS failure message: No buffer space available
ORA-27302: failure occurred at: sskgxpsnd2
Incident details in: /u01/app/oracle/diag/rdbms/syntong/syntong1/incident/incdir_96021/syntong1_w001_417356_i96021.trc
opidrv aborting process W001 ospid (417356) as a result of ORA-603
 
Error Codes
---------------------------------------------------
ORA-00603 ORA-27504 ORA-27300 ORA-27301 ORA-27302
 
根据MOS文档查询,发现匹配文档中的105错误:
 
STATUS 105 - ENOBUFS - No buffer space available
This error means that a socket cannot be created until resources are freed.

ORA-00603: ORACLE server session terminated by fatal error

ORA-27504: IPC error creating OSD context

ORA-27300: OS system dependent operation:sendmsg failed with status: 105

ORA-27301: OS failure message: No buffer space available

ORA-27302: failure occurred at: sskgxpsnd2

See: Oracle Linux: ORA-27301:OS Failure Message: No Buffer Space Available (Doc ID 2041723.1)

查看MTU:

MTU of loopback adapter is too high. We can use the command "netstat -in" see the current MTU size

Linux: #netstat -in

Kernel Interface table
   Iface   MTU   Met   RX-OK   RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
   eth0   1500    0    1371747  0      0      0     1858   0       0     0     BMRU
   lo     65536   0      46943  0      0      0    46943   0       0     0     LRU
   virbr0 1500    0          0  0      0      0       32   0       0     0     BMRU

文档提供的解决方案:

Doc ID 2041723.1:

CAUSE

This happens due to less space available for network buffer reservation.

SOLUTION

1. On servers with High Physical Memory, the parameter vm.min_free_kbytes should be set in the order of 0.4% of total Physical Memory. This helps in keeping a larger range of defragmented memory pages available for network buffers reducing the probability of a low-buffer-space conditions.

*** For example, on a server which is having 256GB RAM, the parameter vm.min_free_kbytes should be set to 1073742 ***

On NUMA Enabled Systems, the value of vm.min_free_kbytes should be multiplied by the number of NUMA nodes since the value is to be split across all the nodes.

 
On NUMA Enabled Systems, the value of vm.min_free_kbytes = n * 0.4% of total Physical Memory. Here 'n' is the number of NUMA nodes.

2. Additionally, the MTU value should be modified as below

#ifconfig lo mtu 16436

To make the change persistent over reboot add the following line in the file /etc/sysconfig/network-scripts/ifcfg-lo :

MTU=16436

Save the file and restart the network service to load the changes

#service network restart
Note : While making the changes in CRS nodes, if network is restarted while CRS is up, it can hung CRS. So cluster services should be stopped prior to the network restart.

vm.min_free_kbytes

该参数表示Linux VM最低保留多少的空闲内存空间,当可用的内存低于配置参数时,系统会进行cache内存的回收,来进行内存的释放。

单位是kb

以下是我整理的苏大文正解决方案步骤:

SOLUTION:
 
 一、前期准备

1、检查集群及数据库运行情况

#su - grid

#crs_stat -t

#su - oracle

#sqlplus / as sysdba

SQL>select INST_ID,INSTANCE_NUMBER,INSTANCE_NAME,STATUS,DATABASE_STATUS,INSTANCE_ROLE from gv$Instance;

2、检查数据库备份情况

SQL>

col INPUT_BYTES_DISPLAY for a10
col OUTPUT_BYTES_DISPLAY for a10
col TIME_TAKEN_DISPLAY for a10
set line222
 
select input_type,
       status,
       to_char(start_time,
               'yyyy-mm-dd hh24:mi:ss'),
       to_char(end_time,
               'yyyy-mm-dd hh24:mi:ss'),
       input_bytes_display,
       output_bytes_display,
       time_taken_display
  from v$rman_backup_job_details
 where start_time > date '2020-09-10'
 order by 3 desc;
 

3、备份节点一/etc/sysctl.conf文件

#cp /etc/sysctl.conf /home/oracle/pst

 

二、配置调整

集群环境需要先关闭CRS集群服务,修改网络配置会Hang住CRS;修改系统参数需要重启数据库;

顺序关闭 数据库,集群 (共三套库:syntong1,carddb1,urpdb1)

1、关闭数据库:
#su - grid
#srvctl stop instance -d syntong -i syntong1
#srvctl stop instance -d syntong -i syntong2
#srvctl stop instance -d carddb -i carddb1
#srvctl stop instance -d carddb -i carddb2
#srvctl stop instance -d urpdb -i urpdb1
#srvctl stop instance -d urpdb -i urpdb2
#which crsctl
 
2、关闭集群:
#su - root
#cd /u01/app/grid/product/11.2.0/db_1/bin/crsctl
#crsctl stop cluster -all
 

节点一:(由于节点一报错ora-2700*,因此修改节点一)

3、修改网络配置:

修改配置文件

#vi /etc/sysconfig/network-scripts/ifcfg-lo

MTU=16436

重启网络服务

# systemctl restart network

 

4、修改系统参数:

设定 vm.min_free_kbytes 参数为物理内存的0.4%

本机内存大小为131357180 Kb,则配置参数大小为131357180*0.4%≈525429

#vi /etc/sysctl.conf

vm.min_free_kbytes = 525429

生效

#sysctl -p

顺序开启 集群,数据库 (共三套库:syntong1,carddb1,urpdb1)

5、开启集群:
#su - root
#cd /u01/app/grid/product/11.2.0/db_1/bin/crsctl
#crsctl start cluster -all
 
6、开启数据库:
#su - grid
#srvctl start instance -d syntong -i syntong1
#srvctl start instance -d syntong -i syntong2
#srvctl start instance -d carddb -i carddb1
#srvctl start instance -d carddb -i carddb2
#srvctl start instance -d urpdb -i urpdb1
#srvctl start instance -d urpdb -i urpdb2

检查集群及数据库运行情况

#su - grid

#crs_stat -t

#su - oracle

#sqlplus / as sysdba

SQL>select INST_ID,INSTANCE_NUMBER,INSTANCE_NAME,STATUS,DATABASE_STATUS,INSTANCE_ROLE from gv$Instance;

三、后续观察
查看是否继续出现ORA-2700*错误:
#su - oracle
#adrci
adrci>show problem
adrci>show incident
#cd $ORACLE_BASE/diag/rdbms/syntong/syntong1/trace
#tail -f alert_syntong1.log
 
 

苏大文正节点一 ORA-00603 ORA-27504 ORA-27300 ORA-27301 ORA-27302 BUG的更多相关文章

  1. 确成硅化+恒力+苏大文正节点2 oracle ora-4030 错误pga version:11204

    Errors in file /u01/app/oracle/oracle/diag/rdbms/orcl/orcl/trace/orcl_j000_61543.trc (incident=18009 ...

  2. 深入理解DOM节点类型第七篇——文档节点DOCUMENT

    × 目录 [1]特征 [2]快捷访问 [3]文档写入 前面的话 文档节点document,隶属于表示浏览器的window对象,它表示网页页面,又被称为根节点.本文将详细介绍文档节点document的内 ...

  3. 解决持久化数据太大,单个节点的硬盘无法存储的问题;解决运算量太大,单个节点的内存、CPU无法处理的问题

    需要学习的技术很多,要自学新知识也不是一件容易的事,选择一个自己比较感兴趣的会是一个比较好的开端,于是,打算学一学分布式系统. 带着问题,有目的的学习,先了解整体架构,在深入感兴趣的细节,这是我的计划 ...

  4. jQuery文档节点处理,克隆,each循环,动画效果,插件

    文档节点处理 //创建一个标签对象 $("<p>") //内部插入 $("").append(content|fn) ----->$(&quo ...

  5. java中XML操作:xml与string互转、读取XML文档节点及对XML节点增删改查

    一.XML和String互转: 使用dom4j程式变得很简单 //字符串转XML String xmlStr = \"......\"; Document document = D ...

  6. solr schema.xml文档节点配置

    首先,讲解一下/usr/local/solr/collection1/conf/schema.xml的配置,此文档功能类似于配置索引数据库. Field:类似于数据库字段的属性(此文统一使用用“字段” ...

  7. Java获取XML节点总结之读取XML文档节点

    dom4j是Java的XML API,用来读写XML文件的.目前有很多场景中使用dom4j来读写xml的.要使用dom4j开发,需要下载导入dom4j相应的jar文件.官网下载:http://www. ...

  8. javascript文档节点

    创建文本节点 document.createTextNode() 创建新文本节点,该方法接收一个参数,即要插入节点中的文本信息. <script> //创建一个div节点 var elem ...

  9. LAXCUS大数据操作系统节点挂掉后的处理

    昨天回公司加班跑一个LAXCUS大数据应用,JVM直接挂了,没有留下任何异常信息,查看代码,也没有内存泄漏的问题.百思不得姐,只好去求教LAXCUS大数据操作系统的技术客服,客服查看了故障节点配置.日 ...

随机推荐

  1. 2020.5.23 第三篇 Scrum冲刺博客

    Team:银河超级无敌舰队 Project:招新通 项目冲刺集合贴:链接 目录 一.每日站立会议 二.项目燃尽图 三.签入记录 3.1 代码/文档签入记录 3.2 主要代码截图 3.3 程序运行截图 ...

  2. Manico--自定义应用快速切换

    快速切换应用的app,使用非常频繁,奈何还是没有钱! 这玩意儿虽然免费,但是时不时跳一个弹框让你购买,也是够烦的,然后我们正好利用逆向工具,对着玩意儿进行破解,让它不再弹框! 下载安装Hopper D ...

  3. 2020.08.14小bug

    页面下面的滚动条怎么清除 css overflow-x: hidden;

  4. 数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解

    数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解 对数组有不了解的可以先看看我的另一篇文章,那篇文章对数组有很多详细的解析,而本篇文章则着重讲动态数组,另一篇文章链接 ...

  5. Welcome To CUG_YZL's cnblogs

    Welcome To CUG_YZL's cnblogs  My name is YZL, studied in China University of Geosciences Wuhan now.W ...

  6. 【Android】AndroidStudio(Eclipse)如何使用天天模拟器进行调试apk应用。

    作者:程序员小冰,GitHub主页:https://github.com/QQ986945193 新浪微博:http://weibo.com/mcxiaobing 大家都知道,我们这些Android开 ...

  7. Android开发之数据存储——SharedPreferences基础知识详解,饿补学会基本知识,开发者必会它的用法。

    一.数据存储选项:Data Storage --Storage Options[重点] 1.Shared Preferences Store private primitive data in key ...

  8. Android开发之使一打开activity等界面Edittext获取焦点,弹出软键盘java代码实现

    // 获取编辑框焦点 editText.setFocusable(true); //打开软键盘 IInputMethodManager imm = (InputMethodManager)getSys ...

  9. xml selectnodes

    [xML ]SelectNodes的用法 之前简单找个SelectNodes的例子看了看,写了读取XML文件节点的程序,但是节点数目有限制,后来仔细看看,是自己没完全弄清SelectNodes的用法, ...

  10. python笔记-正则表达式

    什么是正则表达式: 正则表达式是一个特殊的字符序列,能帮助我们方便的检查一个字符串是否与某种模式匹配(定义往往都很枯燥) 也称之为”模式“,即可用于检查一个给定的字符串是否符合某种模式 举例: 我们定 ...