UNIX 指令是 Oracle DBA 日常運維的利器。本文精選五大高頻場景,提供可直接複製執行的指令範例。
find . -print | grep -i dbmspool.sql # 輸出:./Oracle/product/9.1.2/rdbms/admin/dbmspool.sql
find . -print | xargs grep v\$process # 輸出所有包含 v$process 的腳本檔案與行號
find . -mtime -14 -print # 適用於清理 BACKGROUND_DUMP_DEST / USER_DUMP_DEST 下的舊追蹤檔
find . -size +1024 -print # 注意:-size 單位為 KB,+1024 = 1MB 以上 # 防止檔案系統滿載導致資料庫掛起
cat $ORACLE_HOME/unix.prd | \
nawk -F\" '{ printf ("%-40s %-10s %-20s\n", $6, $2, $4) }' | \
grep '^[^ ]'
find $ORACLE_BASE -name \"*.trc\" -mtime +7 -exec rm {} \;:刪除 7 天前的 trace 檔du -sk $ORACLE_BASE/* | sort -nr | head -20:找出佔用空間最大的 20 個目錄ps -ef | grep pmon | grep -v grep:快速確認實例是否運行BACKGROUND_DUMP_DEST:背景進程 trace、alert logUSER_DUMP_DEST:用戶進程 traceCORE_DUMP_DEST:核心轉儲檔案熟練這些指令,能大幅縮短故障排查與日常巡檢時間。