ubuntu lsnrctl恢复步骤
导读:Ubuntu 下 lsnrctl 恢复步骤 一 准备与环境检查 切换到 oracle 用户:执行 sudo su - oracle,确保以正确用户操作。 检查命令与路径:执行 which lsnrctl;若未找到,将 $ORACLE_HO...
Ubuntu 下 lsnrctl 恢复步骤
一 准备与环境检查
- 切换到 oracle 用户:执行
sudo su - oracle,确保以正确用户操作。 - 检查命令与路径:执行
which lsnrctl;若未找到,将 $ORACLE_HOME/bin 加入 PATH,例如:export PATH=$ORACLE_HOME/bin:$PATH。 - 校验环境变量:执行
echo $ORACLE_HOME、echo $PATH,必要时在~/.bashrc或~/.bash_profile中设置并source使其生效。 - 确认软件安装:若命令仍不可用,需确认 Oracle Database 已正确安装。
二 快速恢复流程
- 查看状态:
lsnrctl status,记录报错关键词(如 TNS-12541: No listener)。 - 停止残留进程(如有):
ps -ef | grep tnslsnr找到进程号后kill -9 < PID>。 - 启动监听:
lsnrctl start。 - 再次校验:
lsnrctl status,确认监听已启动并监听 TCP 1521 等预期端口。 - 若监听已运行但业务仍连不上,继续下一步“配置与实例联动检查”。
三 配置与实例联动检查
- 核对配置文件:检查 $ORACLE_HOME/network/admin/listener.ora 是否存在且语法正确;必要时从备份恢复或基于模板重建。
- 无备份时的应急:从相同版本环境复制可用配置,或使用安装目录中的模板创建基础 listener.ora,再按需修改。
- 实例注册验证:以管理员身份登录数据库
sqlplus / as sysdba,执行select status from v$instance;确认实例为 OPEN;必要时startup启动实例,观察监听是否自动注册服务。 - 重启监听并复核:
lsnrctl stop→lsnrctl start→lsnrctl status,确认 Services Summary 出现目标服务名。
四 常见故障与修复要点
- 权限类错误(如 TNS-12555/TNS-00525):检查 /var/tmp/.oracle 目录权限,执行
chmod 777 /var/tmp/.oracle或chown -R oracle:dba /var/tmp/.oracle后重试。 - 命令不可执行或路径错误:使用
which lsnrctl定位,修正 PATH 或使用绝对路径;必要时检查文件执行权限。 - 监听挂起或无响应(Oracle 10.2.0.1 的已知问题):
ps -ef | grep LISTENER若见多个 LISTENER 进程,kill -9多余进程后lsnrctl stop/start;长期方案为升级至 10.2.0.3+ 或在 listener.ora 中添加SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF并重启监听。 - 日志定位:查看 $ORACLE_HOME/diag/tnslsnr//listener/alert/log.xml 获取详细错误线索,按报错项逐项修复。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu lsnrctl恢复步骤
本文地址: https://pptw.com/jishu/771449.html
