隨筆 - 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 @ 2010-12-06 21:43 車塵馬足顯者事,酒盞花枝隱士緣 閱讀(226) | 評論 (0)編輯 收藏
          主站蜘蛛池模板: 孟连| 卢湾区| 萨迦县| 北安市| 藁城市| 白玉县| 醴陵市| 博客| 海安县| 新营市| 龙井市| 年辖:市辖区| 新闻| 留坝县| 都江堰市| 同心县| 阜城县| 喀什市| 陵水| 营山县| 云和县| 夏河县| 拉萨市| 云阳县| 青浦区| 陕西省| 宁国市| 乃东县| 常山县| 乐亭县| 巩义市| 佛教| 镇江市| 普格县| 正蓝旗| 涟水县| 神农架林区| 容城县| 衡水市| 峨边| 旬邑县|