Oracle10g在Linux下sqlplus無響應

kuqlan發表於2012-06-12

環境:Linux AS 4.7 32位 + Oracle10g 10.2.0.1.0

今天某個平臺上的Oracle資料庫的sqlplus無響應,資料庫掛起,敲入sqlplus / as sysdba命令後資料庫無響應。網上檢視資料得知是oracle的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

1. $ lsnrctl stop

2. $ emctl stop dbconsole --如果在建庫時無選擇OracleEM,則不必進行該步驟

3. $ sqlplus / as sysdba

4. SQL> shutdown immediate

[@more@]

[oracle@dbserv ~]$ unzip p4612267_10201_linux32bit_198days.zip

Archive: p4612267_10201_linux32bit_198days.zip

creating: 4612267/

creating: 4612267/files/

creating: 4612267/files/lib/

creating: 4612267/files/lib/libcore10.a/

inflating: 4612267/files/lib/libcore10.a/sltrg.o

creating: 4612267/etc/

creating: 4612267/etc/config/

inflating: 4612267/etc/config/inventory

inflating: 4612267/etc/config/actions

creating: 4612267/etc/xml/

inflating: 4612267/etc/xml/GenericActions.xml

inflating: 4612267/etc/xml/ShiphomeDirectoryStructure.xml

inflating: 4612267/README.txt

[oracle@dbserv ~]$ ls

10201_database_linux32.zip 4612267 database null.htm p4612267_10201_linux32bit_198days.zip testcreat.htm

[oracle@dbserv ~]$ cd 4612267/

[oracle@dbserv 4612267]$ $ORACLE_HOME/OPatch/opatch apply

Invoking OPatch 10.2.0.1.0

Oracle 中間補丁程式安裝程式版本 10.2.0.1.0

版權所有 (c) 2005, Oracle Corporation。保留所有權利。。

Oracle 主目錄 : /opt/oracle/product/10.2.0

主產品清單: /opt/oracle/oraInventory

: /opt/oracle/product/10.2.0/oraInst.loc

OPatch 版本 : 10.2.0.1.0

OUI 版本 : 10.2.0.1.0

OUI 位置 : /opt/oracle/product/10.2.0/oui

日誌檔案位置 : /opt/oracle/product/10.2.0/cfgtoollogs/opatch/opatch-2012_Jun_12_19-26-46-CST_Tue.log

ApplySession 將中間補丁程式 '4612267' 應用到 OH '/opt/oracle/product/10.2.0'

呼叫 fuser 來檢查活動的程式。

Invoking fuser on "/opt/oracle/product/10.2.0/bin/oracle"

OPatch 從產品清單中檢測到非叢集 Oracle 主目錄, 將僅對本地系統打補丁。

請關閉本地系統上在此 ORACLE_HOME 之外執行的 Oracle 例項。

(Oracle 主目錄 = '/opt/oracle/product/10.2.0')

本地系統是否已準備打補丁?

是否繼續? [y|n]

y

User Responded with: Y

為 Oracle 主目錄備份檔案和產品清單 (不是用於自動回退)

正在備份受補丁程式 '4612267' 影響的檔案以用於恢復。此操作將需要一些時間...

正在備份受補丁程式 '4612267' 影響的檔案以用於回退。此操作將需要一些時間...

正在為元件 oracle.oracore.rsf, 10.2.0.1.0 打補丁...

用 "lib/libcore10.a/sltrg.o" 更新歸檔檔案 "/opt/oracle/product/10.2.0/lib/libcore10.a"

正在為元件 oracle.rdbms, 10.2.0.1.0 打補丁...

用 "lib/libcore10.a/sltrg.o" 更新歸檔檔案 "/opt/oracle/product/10.2.0/lib/libcore10.a"

正在對目標 client_sharedlib 執行 make 命令

正在對目標 client_sharedlib 執行 make 命令

正在對目標 ioracle 執行 make 命令

ApplySession 將中間補丁程式 '4612267' 新增到產品清單

本地系統已打補丁, 可以重新啟動。

OPatch succeeded.

[oracle@dbserv 4612267]$ $ORACLE_HOME/OPatch/opatch lsinventory

Invoking OPatch 10.2.0.1.0

Oracle 中間補丁程式安裝程式版本 10.2.0.1.0

版權所有 (c) 2005, Oracle Corporation。保留所有權利。。

Oracle 主目錄 : /opt/oracle/product/10.2.0

主產品清單: /opt/oracle/oraInventory

: /opt/oracle/product/10.2.0/oraInst.loc

OPatch 版本 : 10.2.0.1.0

OUI 版本 : 10.2.0.1.0

OUI 位置 : /opt/oracle/product/10.2.0/oui

日誌檔案位置 : /opt/oracle/product/10.2.0/cfgtoollogs/opatch/opatch-2012_Jun_12_19-28-15-CST_Tue.log

Lsinventory Output file location : /opt/oracle/product/10.2.0/cfgtoollogs/opatch/lsinv/lsinventory-2012_Jun_12_19-28-15-CST_Tue.txt

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

已安裝的頂級產品 (1):

Oracle Database 10g 10.2.0.1.0

此 Oracle 主目錄中已安裝 1 個產品。

中間補丁程式 (1):

Patch 4612267 : applied on Tue Jun 12 19:27:19 CST 2012

Created on 5 Oct 2005, 13:48:00 hrs US/Pacific

Bugs fixed:

4612267

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

OPatch succeeded.

[oracle@dbserv 4612267]$

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18841027/viewspace-1058493/,如需轉載,請註明出處,否則將追究法律責任。

相關文章