ITPUB??ì3
2010数据库技术大会
ITPUB论坛 » Oracle数据库管理 » 清理apache 共享内存引起的oracle宕机,有类似应用的请大家注意


您有 1 条公共消息
  • 来自: 公共消息 标题: 3-5月ITPUB数据库 ... 内容: ITPUB与3月和5月分别安排了Oracle 11g DBA和Oracle性能优化培训,以及 ...

    标题: 清理apache 共享内存引起的oracle宕机,有类似应用的请大家注意
    离线 shangdi
    老会员



    精华贴数 0
    个人空间 0
    技术积分 1218 (1794)
    社区积分 21 (9059)
    注册日期 2004-2-2
    论坛徽章:1
    会员2007贡献徽章     
          

    发表于 2007-4-13 11:16 
    清理apache 共享内存引起的oracle宕机,有类似应用的请大家注意

    我的平台是redhat as 3 ,oracle 9204.
    其他应用是apache,resin等。
    因为以前发现apache运行时间长以后会出现共享内存不足的错误,具体错误信息如下:

    [Fri Apr 13 06:00:03 2007] [error] shm.create(): error creating shm 2 No such file or directory
    [Fri Apr 13 06:00:03 2007] [error] shm.create(): error creating shm /home/apache/logs/shm.file
    [Fri Apr 13 06:00:03 2007] [warn] pid file /home/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
    [Fri Apr 13 06:00:03 2007] [emerg] (28)No space left on device: Couldn't create accept lock

    因此,我写了一个脚本,来定时检测并清理。一直很有效。
    前一段时间,新开了一个小应用,也是apache的应用,由于没地方放了,就放到oracle机器上了,一直运行比较好;
    今天早上接到信息,说新开的这个apache应用服务停止了,打开log一看,又是共享内存的问题,二话不说,把原来的脚本在系统上跑了一遍,restart apache,ok。系统可以了。
    过了几分钟。问题大了,说oracle服务宕了。赶紧检查,ps -ef|oracle  服务都没了,看alterlog发现如下信息:
    Errors in file /opt/oracle/admin/sc1/bdump/sc1_reco_5195.trc:
    ORA-27157: OS post/wait facility removed
    ORA-27300: OS system dependent operation:semop failed with status: 43
    ORA-27301: OS failure message: Identifier removed
    ORA-27302: failure occurred at: sskgpwwait1
    Fri Apr 13 10:10:46 2007
    Errors in file /opt/oracle/admin/sc1/bdump/sc1_smon_5193.trc:
    ORA-27157: OS post/wait facility removed
    ORA-27300: OS system dependent operation:semop failed with status: 43
    ORA-27301: OS failure message: Identifier removed
    ORA-27302: failure occurred at: sskgpwwait1
    Fri Apr 13 10:10:46 2007
    RECO: terminating instance due to error 27157
    Fri Apr 13 10:10:46 2007
    Errors in file /opt/oracle/admin/sc1/udump/sc1_ora_23824.trc:
    ORA-27153: wait operation failed
    ORA-27300: OS system dependent operation:semop failed with status: 22
    ORA-27301: OS failure message: Invalid argument
    ORA-27302: failure occurred at: sskgpwwait2
    Fri Apr 13 10:10:46 2007
    Errors in file /opt/oracle/admin/sc1/bdump/sc1_lgwr_5189.trc:

    知道是系统问题导致oracle宕机了。想到刚才的操作,怀疑把oracle的共享内存也给误清理了,好在db能正常启动,把数据库启动后,检查共享内存:
    [root@oracle]# ipcs -s

    ------ Semaphore Arrays --------
    key        semid      owner      perms      nsems     
    0x00000000 4849664    nobody    600        1         
    0x00000000 4882433    nobody    600        1         
    0x00000000 4915202    nobody    600        1         
    0x00000000 4947971    nobody    600        1         
    0x00000000 4980740    nobody    600        1         
    0xbeae576c 5111813    oracle    640        201      
    0xbeae576d 5144582    oracle    640        201      
    0xbeae576e 5177351    oracle    640        201      
    0xbeae576f 5210120    oracle    640        201      
    0xbeae5770 5242889    oracle    640        201      
    0x00000000 5275658    nobody    600        1         
    0x00000000 5308427    nobody    600        1         
    0x00000000 5341196    nobody    600        1         
    0x00000000 5373965    nobody    600        1         
    0x00000000 5406734    nobody    600        1         
    0x00000000 5439503    nobody    600        1         
    0x00000000 5472272    nobody    600        1         
    0x00000000 5505041    nobody    600        1

    果然有oracle的共享内存,而我的脚本没有判断。如果只是删除apache用户的共享内存,可以这样

    ipcs -s | grep apache | perl -e 'while (<STDIN> { @a=split(/\s+/); print `ipcrm sem $a[1]`}'

    如果大家谁的应用和我这个类似,一定注意。


    只看该作者    顶部
    离线 yukeqing
    天天向上



    精华贴数 0
    个人空间 0
    技术积分 54 (30857)
    社区积分 0 (1156952)
    注册日期 2006-10-8
    论坛徽章:0
          
          

    发表于 2007-4-13 11:36 
    学习...


    __________________
    做个有心人,时时超越自我!
    只看该作者    顶部
    离线 eygle
    天下有雪


    精华贴数 65
    个人空间 0
    技术积分 207954 (1)
    社区积分 6464 (305)
    注册日期 2001-10-8
    论坛徽章:84
    现任管理团队成员2007年度ITPUB杰出贡献年度精华徽章ITPUB元老ITPUB维基人2009架构师大会纪念徽章
    参与2009年中国云计算大会纪念ITPUB北京2009年会纪念徽章八级虎吧徽章2010新春纪念徽章2010年世界杯参赛球队:希腊2010年世界杯参赛球队:加纳

    发表于 2007-4-13 11:55 
    这样的脚本,二话不说就跑,也太大意了。


    __________________
    只看该作者    顶部
    离线 shangdi
    老会员



    精华贴数 0
    个人空间 0
    技术积分 1218 (1794)
    社区积分 21 (9059)
    注册日期 2004-2-2
    论坛徽章:1
    会员2007贡献徽章     
          

    发表于 2007-4-13 13:10 
    是很大意,跑的时候忘记oracle也有共享内存的事情了。


    只看该作者    顶部
    离线 rollingpig
    版主


    精华贴数 6
    个人空间 103
    技术积分 29998 (35)
    社区积分 2422 (670)
    注册日期 2001-10-18
    论坛徽章:42
    现任管理团队成员2006年度最佳技术回答ITPUB北京九华山庄2008年会纪念徽章2010新春纪念徽章生肖徽章2007版:鼠IT宝贝
    生肖徽章2007版:猪     

    发表于 2007-4-13 13:17 
    至少apache 和 oracle应该运行在不同用户底下,而run clear ipc 的脚本时,应该由apache用户来run,而不是由root来run


    __________________
    欢迎访问乐恒的空间
    9/12隆重推出周岁照

    提问的智慧 for Oracle[展开版]
    提问的智慧Oracle版
    0。尝试在google,论坛,metalink,online document里搜索。
    1。写清楚你的执行log,报错信息,写清楚DB version , OS
    2。Instance 方面的问题,请贴出alertlog
    3。network的问题,贴出server的listener.ora , sqlnet.ora 并运行lsnrctl service, 贴出client的tnsnames.ora , sqlnet.ora ,并运行tnsping
    4。DB总体性能问题,请于peak time做statspack,并上传statspack report。同时附上CPU/MEM配置,以及CPU IDLE/free menory的情况
    5。SQL性能问题,列出当前SQL,以及PLAN。同时应提供表结构,index情况,Table的record数。CBO/RBO,table是否analyze等信息。
    6。确保你的问题是Oracle相关。
    欢迎访问乐恒的空间
    只看该作者    顶部
    离线 Toms_zhang
    会员


    精华贴数 3
    个人空间 12
    技术积分 20318 (59)
    社区积分 2025 (761)
    注册日期 2002-8-31
    论坛徽章:65
    现任管理团队成员2010新春纪念徽章2010新春纪念徽章2009新春纪念徽章2008新春纪念徽章 
          

    发表于 2007-4-13 13:24 
    拿来主义的后果!


    __________________
    只看该作者    顶部
    离线 shangdi
    老会员



    精华贴数 0
    个人空间 0
    技术积分 1218 (1794)
    社区积分 21 (9059)
    注册日期 2004-2-2
    论坛徽章:1
    会员2007贡献徽章     
          

    发表于 2007-4-13 15:12 


    QUOTE:
    最初由 rollingpig 发布
    至少apache 和 oracle应该运行在不同用户底下,而run clear ipc 的脚本时,应该由apache用户来run,而不是由root来run

    应该由apache用户来run,而不是由root来run

    这是正解。。。一直用root做事。习惯不好


    只看该作者    顶部
     
        

    相关内容


    CopyRight 1999-2006 itpub.net All Right Reserved.
    北京皓辰网域网络信息技术有限公司. 版权所有
    E-mail:Webmaster@itpub.net
    网站律师 隐私政策 知识产权声明
    京ICP证:060528号 联系我们