ubuntu

Ubuntu lsnrctl常见错误及解决方法

小樊
36
2025-12-24 23:51:10
栏目: 智能运维

Ubuntu 上 lsnrctl 常见错误与排查步骤

一 快速自检清单

二 常见错误与对应解决

症状 可能原因 解决要点
command not found 未安装 Oracle 客户端/服务端;PATH 未包含 $ORACLE_HOME/bin;命令拼写错误 安装相应组件;将 export PATH=$PATH:$ORACLE_HOME/bin 写入 ~/.bashrc/etc/profile 并执行 source;用 which lsnrctl 校验
权限不足/Operation not permitted 当前用户非 oracle;或 /var/tmp/.oracle 权限/属主异常 切换到 oracle 用户;执行 ls -ld /var/tmp/.oracle,必要时 chown -R oracle:dba /var/tmp/.oraclechmod 777 /var/tmp/.oracle
TNS-12555/TNS-12560/TNS-00525 启动监听时权限被拒(常见于 /var/tmp/.oracle 权限问题) 同上,修复 /var/tmp/.oracle 的属主/权限后重启监听
TNS-12514 监听未识别请求的服务;listener.ora 未静态注册 SID;数据库未向监听注册 listener.oraSID_LIST_LISTENER 中静态注册数据库 SID;确保数据库实例启动后由 PMON 动态注册;重启监听再测
ORA-12162 ORACLE_SID 未设置或设置错误 执行 export ORACLE_SID=<你的SID>(写入 ~/.bashrc 持久化),再运行 sqlplus / as sysdba
无法远程连接 1521 监听未启动;listener.ora 端口配置错误;Ubuntu 防火墙/云安全组未放行 lsnrctl start 并用 lsnrctl status 确认监听端口为 1521;核对 listener.ora 中的 (PORT=1521);开放防火墙/安全组策略

三 关键配置文件与示例

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname_or_ip)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = ORCL)            # 替换为你的 SID
      (ORACLE_HOME = /opt/oracle/product/11g)  # 替换为你的 ORACLE_HOME
    )
  )

四 实用命令速查

export ORACLE_HOME=/opt/oracle/product/11g
export ORACLE_SID=ORCL
export PATH=$PATH:$ORACLE_HOME/bin

五 仍无法解决时的定位思路

0
看了该问题的人还看了