【問題處理】處理alert警告日誌中出現無法找到libocr*.so檔案問題
在Linux環境下遇到“Cannot determine all dependent dynamic libraries for /proc/self/exe”這個Bug,有關此Bug的更多描述資訊請參考MOS的“Bug 4918834”。
緊隨其後的提示資訊是,無法找到libocr10.so、libocrb10.so和libocrutl10.so檔案。記錄一下這個問題的處理方法。
1.alert中記錄的問題現象
[oracle@secdb1 bdump]$ vi alert_secdb.log
……省略其他日誌輸出內容……
Starting ORACLE instance (normal)
Cannot determine all dependent dynamic libraries for /proc/self/exe
Unable to find dynamic library libocr10.so in search paths
RPATH = /ade/aime1_build2101/oracle/has/lib/:/ade/aime1_build2101/oracle/lib/:/ade/aime1_build2101/oracle/has/lib/:
LD_LIBRARY_PATH is not set!
The default library directories are /lib and /usr/lib
Unable to find dynamic library libocrb10.so in search paths
Unable to find dynamic library libocrutl10.so in search paths
Unable to find dynamic library libocrutl10.so in search paths
……省略其他日誌輸出內容……
2.影響範圍
在Linux平臺上關於上面的錯誤對資料庫的使用沒有嚴重影響,可以暫時忽略這個報錯。
3.問題原因
這個提示資訊是Oracle在Linux平臺上的一個Bug,關於個Bug可以在MOS的“Bug 4918834”文章中得到詳細資訊。
4.處理方法
1)第一種處理方法:忽略這個報錯
因為這個提示資訊對資料庫系統的使用沒有太大的影響,因此最簡單的處理方法便是“置之不理”。
2)第二種處理方法:透過設定LD_LIBRARY_PATH環境變數解決
(1)為了保證alert檔案中記錄資訊的完美性,我們可以在Linux作業系統中,透過設定環境變數LD_LIBRARY_PATH指向“$ORACLE_HOME/lib”的方法來處理。
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
可以將上面的資訊放在“.bash_profile”檔案中使之一直生效。
(2)重新啟動資料庫
sys@secdb> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@secdb> startup;
ORACLE instance started.
Total System Global Area 314572800 bytes
Fixed Size 1219184 bytes
Variable Size 92276112 bytes
Database Buffers 218103808 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
(3)觀察alert日誌
相關報錯資訊已經不存在,一份暫時完美的alert輸出資訊展現在我們面前。
3)第三種處理方法:複製相關檔案到/usr/lib目錄下
既然提示找不到libocr10.so、libocrb10.so和libocrutl10.so這三個檔案(這些檔案存放在$ORACLE_HOME/lib目錄下),我們也可以透過將這三個檔案手工複製到/usr/bin目錄並調整許可權的方法來解決這個問題。
secdb@secdb1 /home/oracle$ su - root
Password:
[root@secdb1 ~]# cp /u01/app/oracle/product/10.2.0/db_1/lib/libocr* /usr/lib
[root@secdb1 ~]# chown -R oracle:oinstall /usr/lib/libocr*
[root@secdb1 ~]# chmod -R 755 /usr/lib/libocr*
透過重啟資料庫的方法驗證調整效果:成功,不再存在相關報錯。
5.小結
建議使用Linux作為Oracle資料庫的作業系統的朋友們檢查一下alert警告日誌中是否存在“Cannot determine all dependent dynamic libraries for /proc/self/exe”關鍵字。可以依照本文提供給大家的方法進行處理。不放過alert中任何蛛絲馬跡。
Good luck.
secooler
11.05.21
-- The End --
緊隨其後的提示資訊是,無法找到libocr10.so、libocrb10.so和libocrutl10.so檔案。記錄一下這個問題的處理方法。
1.alert中記錄的問題現象
[oracle@secdb1 bdump]$ vi alert_secdb.log
……省略其他日誌輸出內容……
Starting ORACLE instance (normal)
Cannot determine all dependent dynamic libraries for /proc/self/exe
Unable to find dynamic library libocr10.so in search paths
RPATH = /ade/aime1_build2101/oracle/has/lib/:/ade/aime1_build2101/oracle/lib/:/ade/aime1_build2101/oracle/has/lib/:
LD_LIBRARY_PATH is not set!
The default library directories are /lib and /usr/lib
Unable to find dynamic library libocrb10.so in search paths
Unable to find dynamic library libocrutl10.so in search paths
Unable to find dynamic library libocrutl10.so in search paths
……省略其他日誌輸出內容……
2.影響範圍
在Linux平臺上關於上面的錯誤對資料庫的使用沒有嚴重影響,可以暫時忽略這個報錯。
3.問題原因
這個提示資訊是Oracle在Linux平臺上的一個Bug,關於個Bug可以在MOS的“Bug 4918834”文章中得到詳細資訊。
4.處理方法
1)第一種處理方法:忽略這個報錯
因為這個提示資訊對資料庫系統的使用沒有太大的影響,因此最簡單的處理方法便是“置之不理”。
2)第二種處理方法:透過設定LD_LIBRARY_PATH環境變數解決
(1)為了保證alert檔案中記錄資訊的完美性,我們可以在Linux作業系統中,透過設定環境變數LD_LIBRARY_PATH指向“$ORACLE_HOME/lib”的方法來處理。
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
可以將上面的資訊放在“.bash_profile”檔案中使之一直生效。
(2)重新啟動資料庫
sys@secdb> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@secdb> startup;
ORACLE instance started.
Total System Global Area 314572800 bytes
Fixed Size 1219184 bytes
Variable Size 92276112 bytes
Database Buffers 218103808 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
(3)觀察alert日誌
相關報錯資訊已經不存在,一份暫時完美的alert輸出資訊展現在我們面前。
3)第三種處理方法:複製相關檔案到/usr/lib目錄下
既然提示找不到libocr10.so、libocrb10.so和libocrutl10.so這三個檔案(這些檔案存放在$ORACLE_HOME/lib目錄下),我們也可以透過將這三個檔案手工複製到/usr/bin目錄並調整許可權的方法來解決這個問題。
secdb@secdb1 /home/oracle$ su - root
Password:
[root@secdb1 ~]# cp /u01/app/oracle/product/10.2.0/db_1/lib/libocr* /usr/lib
[root@secdb1 ~]# chown -R oracle:oinstall /usr/lib/libocr*
[root@secdb1 ~]# chmod -R 755 /usr/lib/libocr*
透過重啟資料庫的方法驗證調整效果:成功,不再存在相關報錯。
5.小結
建議使用Linux作為Oracle資料庫的作業系統的朋友們檢查一下alert警告日誌中是否存在“Cannot determine all dependent dynamic libraries for /proc/self/exe”關鍵字。可以依照本文提供給大家的方法進行處理。不放過alert中任何蛛絲馬跡。
Good luck.
secooler
11.05.21
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-696029/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- standby無法使用歸檔日誌問題處理
- alert日誌中出現Private Strand Flush Not Complete的處理方法
- 關於Oracle RAC 叢集日誌無法輪循的問題處理Oracle
- alert日誌中出現ash size的警告
- oracle alert日誌亂碼處理Oracle
- ffmpeg無法接收組播流問題處理
- XML檔案處理中增加xmlns問題XML
- PHP5.2.4安裝中出現問題及處理過程PHP
- 【故障處理】RAC環境第二節點無法歸檔的詭異問題處理
- 表空間無法擴充套件問題處理套件
- 大體積XML檔案處理效能問題XML
- 【問題處理】啟動OUI丟擲libXp.so.6: cannot open shared object file問題處理UIObject
- 警告日誌檔案alert_.log
- Oracle日常問題處理-資料庫無法啟動Oracle資料庫
- 記一次AR無法拋GL問題處理
- Windows 下處理資料庫無法啟動問題Windows資料庫
- 記一次NM無法拋GL問題處理
- JSF的outputText時,無法處理換行問題JS
- Ubuntu無法解析域名DNS指向127.0.0.53問題處理UbuntuDNS
- 【問題處理】MySQL忘記root密碼的處理辦法MySql密碼
- 處理問題的方法
- perl中文處理問題
- 漢字處理問題?
- xml處理的問題XML
- 貨品問題處理
- [git] git問題處理Git
- Mac openssl 未找到 / 載入失敗問題處理Mac
- ORACLE 告警日誌alert過大的處理Oracle
- oracle系統預設臨時表空間以及redo日誌檔案問題處理Oracle
- 日誌檔案問題
- tempfile檔案過大問題處理 for logical standby
- oracle bdump 下.trc檔案過大問題處理Oracle
- 【問題處理】crsd日誌中頻現“Failed to retrieve procctx from ht”提示資訊AI
- ORA-25402 transaction must roll back 且無法找到SID來處理的問題
- 乾貨!Apache Hudi如何智慧處理小檔案問題Apache
- Python編解碼問題與文字檔案處理Python
- 大容量XML檔案處理如何解決效能問題XML
- sql server日誌檔案總結及日誌滿的處理辦法SQLServer