今天在將一個數據庫從9204升級到9206時候(p3948480_9206_HP64),遇到一個報錯:
Exception String: Error in writing to file '/Oracle/app/oracle/PRoduct/9.2.0/lib32/libwtc9.sl'. [/oracle/app/oracle/product/9.2.0/lib32/libwtc9.sl (Text file busy)]
Exception Severity: 2
Exception handling set to prompt user with options to Retry Ignore
User Choice: Retry
Exception thrown from action: copyGroupFromJar
Exception Name: IOException2
Exception String: Error in writing to file '/oracle/app/oracle/product/9.2.0/lib32/libwtc9.sl'. [/oracle/app/oracle/product/9.2.0/lib32/libwtc9.sl (Text file busy)]
Exception Severity: 2
Exception handling set to prompt user with options to Retry Ignore
奇怪,按理說數據庫的偵聽已經停了,且數據庫已經重啟過,應該不會還有應用會使用數據庫中的文件了吧?在圖形界面點擊retry,可以繼續安裝,但是不一會又再次彈出窗口說這個文件還是在被使用。
此時,我們可以用fuser這個命令來查看是哪個進程在使用這個文件。
sn_rdb01#[/]fuser /oracle/app/oracle/product/9.2.0/lib32/libwtc9.sl
/oracle/app/oracle/product/9.2.0/lib32/libwtc9.sl: 5757m 5759m 5758m 6585m 6605m 5756m 5755m 6607m 5760m 6632m 6565m 6560m 18407m 6633m
繼續檢查這些是什么進程:
sn_rdb01#[/]ps -ef |grep 5757
report16 5757 1 0 Feb 13 ? 56:19 datastat_mms
root 27653 24491 0 23:12:57 pts/3 0:00 grep 5757
sn_rdb01#[/]
sn_rdb01#[/]
sn_rdb01#[/]ps -ef |grep 5759
report16 5759 1 0 Feb 13 ? 5:20 dataload_sms
root 27714 24491 0 23:14:31 pts/3 0:00 grep 5759
經過仔細查看,這些進程是報表應用的進程,可以用kill的方式殺掉這些進程,我們在這里采用了更為安全的方式:通知報表的維護人員停了報表應用。停完后,即可順利升級!
新聞熱點
疑難解答