首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Linux 系統級 Oracle 監控工具箱:top、vmstat、sar、netstat 等核心命令實戰用法

     編輯:Oracle 資料庫相關知識

核心監控命令速查表

命令核心用法典型場景
top實時進程/CPU/內存/負載,q退出,s設置刷新間隔,h幫助快速定位高 CPU 進程、內存佔用 Top N
psps -aux 全進程,ps -auxw (w 可疊加 3 次) 顯示完整命令行檢查 Oracle 後台進程 (pmon、smon、dbw0、lgwr 等) 存活
killkill -9 <PID> 強制終止清理僵屍進程、釋放被佔用端口
freefree -m (MB)、free -g (GB) 顯示物理/交換分區使用確認 SGA/PGA 總量是否超過物理內存 80%
vmstatvmstat 2 每 2 秒採樣:r(運行隊列)、b(阻塞)、cpu us/sy/id/wa、內存 swpd/free/buff/cache、IO bi/bo實時診斷 CPU 瓶頸 (us+sy>80%)、內存交換 (si/so>0)、磁盤飽和 (wa>30%)
sarsar -u 2 10 CPU 歷史、sar -r 2 10 內存、sar -d 2 10 磁盤、sar -n DEV 2 10 網卡流量事後分析歷史趨勢、生成日報/周報、容量規劃基線
watchwatch -n 3 'du -h /path/to/alert.log' 每 3 秒執行命令高亮變化監控告警日志增長、trace 文件大小、Data Guard 應用延遲
sysctlsysctl -a 顯示所有內核參數,sysctl -w fs.file-max=102400 臨時修改,持久化寫 /etc/sysctl.conf調優 kernel.shmmax、fs.aio-max-nr、net.core.somaxconn 等 Oracle 關鍵參數
ulimitulimit -a 顯示進程資源限制 (open files、max user processes、stack size 等)確認 Oracle 用戶 nofile ≥ 65536、nproc ≥ 16384
netstatnetstat -anp | grep :1521 顯示監聽端口連接狀態 (ESTABLISHED/TIME_WAIT 計數)排查連接風暴、驗證防火牆規則、檢測死連接泄漏
pppstats顯示 PPP 鏈路統計 (壓縮、錯誤包、重傳)遠程備份專線/VPN 鏈路健康度監控

Oracle 專項監控組合拳

# 1. 一鍵檢查實例進程
ps -ef | grep -E "(pmon|smon|dbw|lgw|arc|ckpt|reco)" | grep -v grep

# 2. 實時監控系統資源 (每 5 秒)
vmstat 5

# 3. 歷史 CPU/內存/IO 趨勢 (每天生成報表)
sar -u -r -d 300 288 > /var/log/sar_daily_$(date +%F).log

# 4. 監控 Listener 連接數
watch -n 10 'netstat -an | grep :1521 | grep ESTABLISHED | wc -l'

# 5. 檢查共享內存參數
ipcs -m | grep oracle
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved