Oracle10g Bug 4612267 補丁安裝備忘錄
當(dāng)時,執(zhí)行uptime,發(fā)現(xiàn)系統(tǒng)已經(jīng)運行了250天,而且正好是周一,郁悶死了(周末2天系統(tǒng)沒人用)。
一、bug癥狀和描述
癥狀:
當(dāng)主機(jī)運行時間達(dá)198天或248天,cpu占用率就突然達(dá)到100%。此時操作系統(tǒng)命令可以執(zhí)行,但Oracle的命令象lsnrctl、sqlplus、dbca等都會被hang住,不能執(zhí)行。
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主機(jī)運行天數(shù)是是24.8的倍數(shù)都有可能引發(fā)該bug,因為time()函數(shù)值為null,造成無限死循環(huán),從而耗盡cpu。
解決辦法三種:
1) 重啟主機(jī);
2) 打patch set,如升級到10.2.0.4;
3) 對該bug單獨打臨時patch 4612267。
第一種方法沒有徹底解決問題,以后照舊;第二種方法,升級時間長,且要求停庫很久,當(dāng)前生產(chǎn)環(huán)境暫不適合;本文采用第三種方法。
參考文檔:
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
二、先停監(jiān)聽、dbconsole和數(shù)據(jù)庫
$ lsnrctl stop
$ emctl stop dbconsole
$ sqlplus / as sysdba
SQL> shutdown immediate
注意:dbconsole是在已經(jīng)裝了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.
五、啟動數(shù)據(jù)庫、監(jiān)聽和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.
此時再執(zhí)行上面的驗證patch命令就會發(fā)現(xiàn)該patch已經(jīng)刪除了。
--End--
|
posted @
2010-12-06 21:43 車塵馬足顯者事,酒盞花枝隱士緣 閱讀(222) |
評論 (0) |
編輯 收藏
使用 UE 打開 class 文件,第一行內(nèi)容:
00000000h: CA FE BA BE 00 00 00 32 00 A9 07 00 02 01 00 37 ; 漱壕...2.?....7
前四個字節(jié)為固定的 CA FE BA BE ,接下來的四個字節(jié)為次版本號(0000)和主版本號(00032)。
32:JDK1.6
31:JDK1.5
30:JDK1.4
2F:JDK1.3
posted @
2010-09-02 22:22 車塵馬足顯者事,酒盞花枝隱士緣 閱讀(322) |
評論 (0) |
編輯 收藏