ubuntu

ubuntu lsnrctl故障排查方法

小樊
40
2026-01-05 16:18:19
栏目: 智能运维

Ubuntu 上 lsnrctl 故障排查步骤

一 快速定位流程

二 常见错误与修复要点

三 配置文件与日志路径速查

四 一键自检脚本示例

#!/usr/bin/env bash
set -e

echo "=== 1) 检查命令与权限 ==="
which lsnrctl || { echo "lsnrctl 未找到,请检查 ORACLE_HOME/bin 与 PATH"; exit 1; }
ls -l "$(which lsnrctl)"

echo "=== 2) 检查环境变量 ==="
for v in ORACLE_HOME ORACLE_SID PATH; do
  printf "%-12s = %s\n" "$v" "${!v}"
done

echo "=== 3) 检查监听状态 ==="
lsnrctl status || true

echo "=== 4) 检查 1521 端口占用 ==="
ss -lntp | grep -E ':(1521|152[0-9])' || echo "1521 未被占用"

echo "=== 5) 常用日志文件是否存在 ==="
ls -l "$ORACLE_HOME/diag/tnslsnr/$(hostname)/listener/alert/log.xml" 2>/dev/null || echo "XML 告警日志未找到"
ls -l "$ORACLE_HOME/network/log/listener.log" 2>/dev/null || echo "文本监听日志未找到"

将脚本保存为 check_lsnr.sh,执行:bash check_lsnr.sh

五 实用建议

0
看了该问题的人还看了