“Ubuntu 上 Oracle 宕机”的原因很多,通常可以从系统层、Oracle 自身、资源、配置、运维操作几个方向排查。下面给你一个比较系统的总结,方便你对照定位。
oracle / pmon / smon 进程被系统杀掉dmesg 里有 Out of memory: Kill process排查:
dmesg | grep -i "out of memory"
free -h
检查:
swapon -s
free -h
常见满的地方:
/u01(Oracle 安装目录)/tmp后果:
检查:
df -h
df 正常但 no space left on device检查:
df -i
常见原因:
查看 alert 日志:
$ORACLE_BASE/diag/rdbms/*/*/trace/alert_*.log
常见问题:
processes 太小,连接爆了filesystemio_options 配置错误lsnrctl 挂了,连不上检查:
lsnrctl status
Oracle 需要:
kernel.shmmaxkernel.shmallfs.file-maxlimits.conf 中 nofile / nproc配置不对会导致:
检查:
uptime
last reboot
检查:
dmesg | grep -i error
journalctl -p err
kill -9 oracle
Ubuntu 自动升级:
检查:
less /var/log/apt/history.log
# 系统
uptime
free -h
df -h
df -i
dmesg | grep -i error
dmesg | grep -i oom
# Oracle
ps -ef | grep ora_
lsnrctl status
tail -200 $ORACLE_BASE/diag/rdbms/*/*/trace/alert_*.log
你可以补充:
我可以直接帮你判断是哪种宕机 + 给修复方案。