這是Oracle數據庫日常運維中很常見的一個場景,安裝目錄滿有時不光會導致無法記錄最新數據庫的日志信息,導致遇到問題無法查到最新的日志信息,還會引發一些奇怪的問題。
所以日常巡檢要保證Oracle的安裝目錄要有一定的空閑空間。
如果已經巡檢發現安裝目錄滿了,可以按照這樣的思路來解決。
1.切到安裝目錄下
cd $ORACLE_BASE
2.用下面的命令,逐層找出大文件或文件夾
du -sk * |sort -rn
舉例說,比如最終查到/u01/app/oracle/diag/rdbms/jyzhao/jyzhao/trace這個目錄的空間大小占比最大。
3.移動或刪除不必要的文件
由於此目錄都是oracle的一些跟蹤和日志文件,可以刪除,但考慮最近日志可能會在其他故障問題處理中查看的需求,故只刪除7天以前的日志。
cd /u01/app/oracle/diag/rdbms/jyzhao/jyzhao/trace
find . -mtime +7 | xargs rm -rf
如果N多年都沒清理過,那么此目錄的文件數量會很多,對應刪除的時間也會很長,可以關注上面刪除的進程是否還在:
ps -ef|grep find
注:Oracle安裝目錄的下的各種文件和子目錄比較多,建議由DBA來操作判斷,避免由於不了解造成誤刪除重要文件形成事故。
4.建議
①建議項目規范時,給oracle的安裝目錄至少50G可用空間,且不要存放其他無關文件。
②如有必要,可以寫定時腳本刪除一定時間之前的跟蹤和日志文件。alert<SID>.log
也可以定期打包。