隨筆 - 3  文章 - 1  trackbacks - 0
          <2010年12月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿

          隨筆檔案

          文章分類

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          Oracle10g Bug 4612267 補丁安裝備忘錄


          當時,執行uptime,發現系統已經運行了250天,而且正好是周一,郁悶死了(周末2天系統沒人用)。

          一、bug癥狀和描述

          癥狀:
          當主機運行時間達198天或248天,cpu占用率就突然達到100%。此時操作系統命令可以執行,但Oracle的命令象lsnrctl、sqlplus、dbca等都會被hang住,不能執行。

          Oracle官方對該bug的描述:
          #-------------------------------------------------------------------------
          # Interim Patch for Base Bugs: 4612267
          #-------------------------------------------------------------------------
          #
          # DATE: Wed Oct 5 10:17:13 2005
          # -------------------------------
          # Platform Patch for : Linux x86
          # Product Version # : 10.2.0.1
          # Product Patched    : ORACORE
          #
          # Bugs Fixed by this patch:
          # -------------------------
          # 4612267:OCI CLIENT IS IN AN INFINITE LOOP WHEN MACHINE UPTIME HITS 248 DAYS
          #-------------------------------------------------------------------------

          備注:
          事實上只要Linux x86主機運行天數是是24.8的倍數都有可能引發該bug,因為time()函數值為null,造成無限死循環,從而耗盡cpu。

          解決辦法三種:
          1) 重啟主機;
          2) 打patch set,如升級到10.2.0.4;
          3) 對該bug單獨打臨時patch 4612267。
          第一種方法沒有徹底解決問題,以后照舊;第二種方法,升級時間長,且要求停庫很久,當前生產環境暫不適合;本文采用第三種方法。

          參考文檔:
          Doc ID: 338461.1 SQL*Plus 10.2.0.1 Hangs, When System Uptime Is Long Period of Time
          Doc ID: 4612267.8 Bug 4612267 - OCI client spins when machine uptime >= 249 days

          二、先停監聽、dbconsole和數據庫


          $ lsnrctl stop
          $ emctl stop dbconsole
          $ sqlplus / as sysdba
          SQL> shutdown immediate

          注意:dbconsole是在已經裝了Oracle EM的情況下要停止,如果未安裝則無需干涉。

          三、安裝patch

          $ mkdir $ORACLE_BASE/patches
          $ cd $ORACLE_BASE/patches
          $ rz    (SecureCRT里上傳 p4612267_10201_LINUX.zip 文件, 其它上傳方式也可以)
          $ unzip p4612267_10201_LINUX.zip  
          $ cd 4612267/
          $ $ORACLE_HOME/OPatch/opatch apply
          Invoking OPatch 10.2.0.1.0
          ...
          Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
          (Oracle Home = '/u01/app/oracle/product/10.2.0/db_1')

          Is the local system ready for patching?

          Do you want to proceed? [y|n]
          y    (此處輸入y)
          User Responded with: Y
          ...
          ApplySession adding interim patch '4612267' to inventory

          The local system has been patched and can be restarted.

          OPatch succeeded.

          四、驗證patch

          $ $ORACLE_HOME/OPatch/opatch lsinventory
          Invoking OPatch 10.2.0.1.0

          Oracle interim Patch Installer version 10.2.0.1.0
          Copyright (c) 2005, Oracle Corporation. All rights reserved..


          Oracle Home       : /u01/app/oracle/product/10.2.0/db_1
          Central Inventory : /u01/app/oracle/oraInventory
             from           : /u01/app/oracle/product/10.2.0/db_1/oraInst.loc
          OPatch version    : 10.2.0.1.0
          OUI version       : 10.2.0.1.0
          OUI location      : /u01/app/oracle/product/10.2.0/db_1/oui
          Log file location : /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch-2009_Jan_13_11-06-27-HKT_Tue.log

          Lsinventory Output file location : /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory-2009_Jan_13_11-06-27-HKT_Tue.txt

          --------------------------------------------------------------------------------
          Installed Top-level Products (2):

          Oracle Database 10g                                                  10.2.0.1.0
          Oracle Database 10g Products                                         10.2.0.1.0
          There are 2 products installed in this Oracle Home.


          Interim patches (1) :

          Patch 4612267      : applied on Tue Jan 13 11:05:10 HKT 2009
             Created on 5 Oct 2005, 13:48:00 hrs US/Pacific
             Bugs fixed:
               4612267


          --------------------------------------------------------------------------------

          OPatch succeeded.

          五、啟動數據庫、監聽和dbconsole

          $ sqlplus / as sysdba
          SQL> startup
          $ lsnrctl start
          $ emctl start dbconsole

          六、如果有需要,還可以刪除patch,刪除前先停庫

          $ cd $ORACLE_BASE/patches/4612267
          $ $ORACLE_HOME/OPatch/opatch rollback -id 4612267
          Invoking OPatch 10.2.0.1.0
          ...
          Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
          (Oracle Home = '/u01/app/oracle/product/10.2.0/db_1')

          Is the local system ready for patching?

          Do you want to proceed? [y|n]
          y    (此處輸入y)
          User Responded with: Y
          ...
          RollbackSession removing interim patch '4612267' from inventory

          The local system has been patched and can be restarted.

          OPatch succeeded.

          此時再執行上面的驗證patch命令就會發現該patch已經刪除了。

          --End--

          posted on 2010-12-06 21:43 車塵馬足顯者事,酒盞花枝隱士緣 閱讀(226) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 无极县| 宁都县| 淅川县| 乐至县| 察雅县| 睢宁县| 汉寿县| 贡嘎县| 明星| 宝应县| 工布江达县| 巫溪县| 灵山县| 泾源县| 虞城县| 长兴县| 靖安县| 利川市| 蒲江县| 漳州市| 松江区| 大安市| 抚顺县| 甘泉县| 福建省| 安徽省| 陕西省| 滁州市| 中西区| 罗定市| 东乌珠穆沁旗| 乌什县| 灵丘县| 民乐县| 朝阳市| 南安市| 定南县| 涟源市| 龙门县| 陕西省| 琼结县|