zoukankan      html  css  js  c++  java
  • ORACLE 10升级到10.2.0.5 Patch Set遇到的内核参数检测失败问题

    在测试ORACLE 10.2.0.4升级到10.2.0.5 Patch Set的过程中,遇到一个内核参数检查失败的问题,具体错误信息如下所示

     

    实验环境:

         操作系统:Oracle Linux Server release 5.7

             内存:4G

       数据库版本:10.2.0.4.0

    clip_image001

    Checking operating system requirements ...
    Expected result: One of redhat-6,redhat-5,redhat-4,redhat-3,SuSE-11,SuSE-10,SuSE-9,asianux-3,asianux-2,asianux-1
    Actual Result: redhat-5
    Check complete. The overall result of this check is: Passed
    =======================================================================
     
    Checking operating system package requirements ...
    Checking for make-3.81; found make-1:3.81-3.el5.    Passed
    Checking for binutils-2.17.50.0.6; found binutils-2.17.50.0.6-14.el5.    Passed
    Checking for gcc-4.1.1; found gcc-4.1.2-51.el5.    Passed
    Checking for libaio-0.3.106; found libaio-0.3.106-5.    Passed
    Checking for libstdc++-4.1.1; found libstdc++-4.1.2-51.el5.    Passed
    Check complete. The overall result of this check is: Passed
    =======================================================================
     
    Checking kernel parameters
    Checking for semmsl=250; found semmsl=250.    Passed
    Checking for semmns=32000; found semmns=32000.    Passed
    Checking for semopm=100; found semopm=100.    Passed
    Checking for semmni=128; found semmni=128.    Passed
    Checking for shmmax=1073741824; found shmmax=68719476736.    Passed
    Checking for shmmni=4096; found shmmni=4096.    Passed
    Checking for shmall=2097152; found shmall=4294967296.    Passed
    Checking for file-max=101365; found file-max=65536.    Failed <<<<
    Checking for VERSION=2.6.18; found VERSION=2.6.32-200.13.1.el5uek.    Passed
    Checking for ip_local_port_range=9000 - 65500; found ip_local_port_range=1024 - 65000.    Failed <<<<
    Checking for rmem_default=1048576; found rmem_default=262144.    Failed <<<<
    Checking for rmem_max=1048576; found rmem_max=262144.    Failed <<<<
    Checking for wmem_default=262144; found wmem_default=262144.    Passed
    Checking for wmem_max=262144; found wmem_max=1048576.    Passed
    Check complete. The overall result of this check is: Failed <<<<
    Problem: The kernel parameters do not meet the minimum requirements (see above).
    Recommendation: Perform operating system specific instructions to update the kernel parameters.
    =======================================================================
     
    Checking Recommended glibc version
    Expected result: ATLEAST=2.5-12 NOT_EQUALS=2.5-18 
    Actual Result: 2.5-65
    Check complete. The overall result of this check is: Passed
    =======================================================================
     
    Checking physical memory requirements ...
    Expected result: 922MB
    Actual Result: 3956MB
    Check complete. The overall result of this check is: Passed
    =======================================================================
     
    Checking available swap space requirements ...
    Expected result: 3956MB
    Actual Result: 13987MB
    Check complete. The overall result of this check is: Passed

    有点纳闷,为什么这些参数在10.2.0.1安装和升级到10.2.0.4的时候都通过检测,但是在应用补丁10.2.0.5时反而不能通过了呢?我们先看看原先的值

    clip_image002

     

    1:Checking for file-max=101365; found file-max=65536. Failed <<<<

    这个失败,很好理解,因为processes为 150,而参数65536 = 512*128 , 我们的进程数为150,大于128(fs.file-max = 512 x processes (for example 65536 for 128 processes) ,所以系统给了一个推荐值(具体怎么计算,还没弄清楚)

    SQL> show parameter processes;
     
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    aq_tm_processes                      integer     0
    db_writer_processes                  integer     1
    gcs_server_processes                 integer     0
    job_queue_processes                  integer     0
    log_archive_max_processes            integer     2
    processes                            integer     150

     

    2:Checking for ip_local_port_range=9000 - 65500; found ip_local_port_range=1024 - 65000. Failed <<<<

    这个参数,官方文档推荐就是net.ipv4.ip_local_port_range = 9000 65500 ,也没啥好说的。 The runInstaller (OUI) checks may expect this to be the old guidance of "1024 65000". The new guidance from Oracle development is "9000 65500". Please allow the runInstaller (OUI) to proceed with the new guidance from Oracle development.

     

    3:关键是下面这几个参数为啥会失败,有点纳闷?

    Checking for rmem_default=1048576; found rmem_default=262144. Failed <<<<

    Checking for rmem_max=1048576; found rmem_max=262144. Failed <<<<

    Check complete. The overall result of this check is: Failed <<<<

     

    在官方文档Requirements For Installing Oracle10gR2 On RHEL 5/OEL 5 (x86_64) (文档 ID 421308.1)里面有下面介绍,也是上面的配置值

    4. Set the kernel parameters 

    Add the following the lines in the file /etc/sysctl.conf

    kernel.shmall = physical RAM size / pagesize For most systems, this will be the value 2097152. See Note 301830.1 for more information.

    kernel.shmmax = 1/2 of physical RAM. This would be the value 2147483648 for a system with 4Gb of physical RAM. See Note 567506.1 for more information.

    kernel.shmmni = 4096

    kernel.sem = 250 32000 100 128

    fs.file-max = 512 x processes (for example 65536 for 128 processes)

    Development recommends a minimum of 327679 for active systems.

    net.ipv4.ip_local_port_range = 9000 65500

    (The runInstaller (OUI) checks may expect this to be the old guidance of 1024 65000.

    The new guidance from Oracle development is 9000 65500.

    Please allow the runInstaller (OUI) to proceed with the new guidance from Oracle development.)

    net.core.rmem_default = 262144

    net.core.rmem_max = 2097152

    net.core.wmem_default = 262144

    net.core.wmem_max = 1048576

    clip_image003

    后面在官方文档 Requirements For Installing Oracle10gR2 On RHEL 5/OEL 5 (x86_64) (文档 ID 421308.1) 里面看到,这个是ORACLE的一个bug来的,可以忽略这个错误,具体见截图

    clip_image004

     

    参考资料:

    https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=344982606646540&parent=DOCUMENT&sourceId=851598.1&id=421308.1&_afrWindowMode=0&_adf.ctrl-state=1cop5qqt49_151

    https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=438495963667013&id=1280606.1&displayIndex=1&_afrWindowMode=0&_adf.ctrl-state=820qp5uyz_4

  • 相关阅读:
    netty 解决TCP粘包与拆包问题(二)
    Socket通讯-Netty框架实现Java通讯
    SpringBoot集成Swagger,Postman,newman,jenkins自动化测试.
    Java Console/控制台 打印表格
    mysql控制台的一些技巧,显示,输入换行,语法正则等
    “妈妈,我不想学了”,你的回答改变孩子一生(怅然若失,说了一句话:“为什么当初没有人逼我?”。我不愿意学,你就不让我学啦!那时候我还小,我还不懂事,难道你也不懂事吗。要做成一件事,就必须有延迟满足的能力)
    “太子”显然沉稳不足,急于把大权抓在自己手里,做的第一件事居然是想尽一切办法铲除父亲在公司的亲信(我很久以来的疑惑,看了这段才明白,相比之下,经过玄武门之变的李世民仍然忍了裴寂三年时间是何等的聪明和了不起)
    如何分析和提高大型项目(C/C++)的编译速度?(VS2015特有的:/LTCG:incremental选项)
    Duilib学习之基础(一个SDK程序)
    使用 QWorker 做为计划任务引擎
  • 原文地址:https://www.cnblogs.com/kerrycode/p/5363854.html
Copyright © 2011-2022 走看看