首页主机资讯ubuntu lsnrctl使用案例分享

ubuntu lsnrctl使用案例分享

时间2025-11-27 21:27:03发布访客分类主机资讯浏览342
导读:Ubuntu 下 lsnrctl 使用案例精选 一 环境准备与常用命令 以 oracle 用户操作,先加载环境变量(示例路径以实际安装为准): 示例:export ORACLE_HOME=/u01/app/oracle/product/...

Ubuntu 下 lsnrctl 使用案例精选

一 环境准备与常用命令

  • oracle 用户操作,先加载环境变量(示例路径以实际安装为准):
    • 示例:export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
    • 示例:export PATH=$PATH:$ORACLE_HOME/bin
  • 常用命令一览:
    • 启动/停止/重启:lsnrctl start|stop|restart [listener_name]
    • 查看状态:lsnrctl status [listener_name]
    • 热加载配置:lsnrctl reload [listener_name]
    • 服务与连接:lsnrctl services [service_name]lsnrctl connections
    • 日志与诊断:lsnrctl logfile [listener_name]tail -f $ORACLE_HOME/network/log/listener.log
    • 动态调参:lsnrctl setloglevel listener_name debuglsnrctl setenv variable value
    • 进程与内部信息:lsnrctl processeslsnrctl env

二 案例一 启动与验证监听器

  • 步骤
    1. 打开终端并切换用户:sudo su - oracle
    2. 加载环境变量:source ~/.bash_profile(或相应 profile)
    3. 启动监听器:lsnrctl start(如命名监听器:lsnrctl start LISTENER
    4. 验证状态:lsnrctl status,确认监听地址、端口与服务映射
    5. 查看日志定位问题:tail -f $ORACLE_HOME/network/log/listener.log
  • 要点
    • 若提示找不到命令,多为 ORACLE_HOME/bin 未加入 PATH
    • 启动失败优先检查 listener.ora 配置与端口占用。

三 案例二 多监听器管理与热更新

  • 场景:同时存在 LISTENER1(业务)、LISTENER2(维护/迁移)
  • 操作
    • 启动指定监听器:lsnrctl start LISTENER1lsnrctl start LISTENER2
    • 分别查看状态:lsnrctl status LISTENER1lsnrctl status LISTENER2
    • 平滑应用配置变更:编辑 $ORACLE_HOME/network/admin/listener.ora 后执行 lsnrctl reload LISTENER1(不中断现有连接)
    • 停用某监听器:lsnrctl stop LISTENER2,如需彻底移除,先停止,再删除 listener.ora 中对应条目,最后 lsnrctl start 使变更生效
  • 要点
    • 多监听器时务必在命令中明确 listener_name
    • 变更端口/协议等结构性配置,必要时使用 stop/start 替代 reload。

四 案例三 连接诊断与日志排错

  • 快速连通性验证
    • 查看监听端口与服务注册:lsnrctl status(关注监听地址与端口,如 1521
    • 列出服务与句柄:lsnrctl services(确认数据库服务是否已注册)
    • 实时跟踪日志:tail -f $ORACLE_HOME/network/log/listener.log
    • 动态提升日志级别:lsnrctl setloglevel LISTENER debug(排障后建议恢复)
  • 客户端连通性
    • 使用 sqlplus 测试:sqlplus sys/password@//host:1521/service as sysdba
    • 若监听正常但连不通,核对 listener.oratnsnames.oraHOST/PORT/SERVICE 一致性及防火墙策略
  • 要点
    • 监听正常但服务未注册,多为数据库实例未注册或 local_listener 参数不当
    • 日志路径常见为 $ORACLE_HOME/network/log/listener.log,XML 告警日志在 $ORACLE_HOME/diag/tnslsnr//listener/alert/log.xml

五 案例四 生产变更与回滚演练

  • 目标:变更 LISTENER 端口由 15211522 并安全回滚
  • 演练步骤
    1. 基线记录
      • lsnrctl status > status_before.txt
      • lsnrctl services > services_before.txt
    2. 配置变更
      • 编辑 $ORACLE_HOME/network/admin/listener.ora,将端口改为 1522
    3. 滚动切换
      • lsnrctl stop LISTENER
      • lsnrctl start LISTENER
      • lsnrctl statuslsnrctl services 校验
    4. 客户端验证
      • sqlplus sys/password@//host:1522/service as sysdba
    5. 回滚预案
      • 若异常,立即恢复 listener.ora1521lsnrctl restart LISTENER
  • 要点
    • 变更窗口内避免同时修改多台主机监听器
    • 保留回滚路径与变更记录,变更后持续观察日志 1–2 小时

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: ubuntu lsnrctl使用案例分享
本文地址: https://pptw.com/jishu/758309.html
Linux ulimit如何修改CPU时间 ubuntu lsnrctl依赖哪些库文件

游客 回复需填写必要信息