zoukankan      html  css  js  c++  java
  • ORA07445,升级10G的经历

             上上个星期,在将公司数据库从8.1.7.4升级到10.2.0.1后,出现了很多问题,在终于顺利RUN了之后一天,AP人员反映Tnsping非常慢,有时会要2万多豪秒,大部分时间要1万多。没过多久,生产线反映刷barcode的速度很慢。到底什么问题,察看alter log,发现如下错误:
    Errors in file d:\ibm\dump\udump\ibm_ora_2788.trc:
    ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [kcbgtcr+4479] [PC:0x706507] [ADDR:0xFFFFFFFFFFFFFFFF] [UNABLE_TO_READ] [] 

    d:\ibm\dump\udump\ibm_ora_2788.trc出现如下错误
    opiino: Attach failed! error=-1 ifvp=0000000000000000

             在网上搜了很多贴子,均未找到答案。上itpub发了两个贴,也没有答案。
    向一个朋友求助,朋友在metalink上发现类似问题,并将URL 给了我。原来这是10.2.0.1的一个BUG,在稍后的版本已经解决。是10.2.0.1用户连接时占用连接池的内存较多,大概3M多,且这个BUG导致无法正常释放内存。既然找到问题,解决会比较简单。
    第一,在C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\SQLNet.ora加如下参数 
                 SQLNET.INBOUND_CONNECT_TIMEOUT = 0
            这样可以减少每个用户连接使用的连接池内存至2M
    第二,取消sga_max_size参数,降低SGA1.4G(共6G内存,原来SGA给了2.5G
    第三,重新启动oracle
    等数据库重新启动OK之后,发现CPU的使用率降低了,Tnsping恢复到正常的20豪秒。让生产线试试,反映恢复正常。
            如此正常的运作了一个星期,10.2.0.3的超大patch 也已经down下来了。计划抽时间更新patch,AP人员说好不容易OK了,不要再折腾了,快死人了。经理讲希望能够升级patch.因为既然是oraclebug,难免不会再出问题。我是一个追求完美的人。也希望能够升级patch.但一方面AP人员反对,我也没有来得及测试patch,生产线周末加班,无法停机,故没有升级。
            到了上星期日晚上, AP人员打电话到家里,反映问题复现。连回公司发现又是老问题。重新启动oracle的服务后让AP人员再试,问题依然。重新启动电脑(OS)后恢复正常。看来重新启动oracle是无法释放内存,另一方面说明必须升级patch.
            升级DB带来了很多问题,心里其实很难过的,觉得给经理带来了很多麻烦。今天会了一位资深DBA,说是升级oracle版本一般会有一季的阵痛期,我们大概经历了两周,他说其实是比较顺利的,听完之后,有了一点点欣慰

    欢迎转载,但请注明出处!
  • 相关阅读:
    UML类图和用例图
    设计模式基本原则
    c# 协变和逆变
    git本地忽略
    计算器科学概论-数据操控
    计算机科学概论-数据存储
    docker部署gitlab-ce
    sqlserver2008R2 本地不能用localhost连接
    Redis常用命令
    C# 值类型和引用类型的区别
  • 原文地址:https://www.cnblogs.com/kevinsun/p/681878.html
Copyright © 2011-2022 走看看