Oracle默认端口被占用如何连接_修改端口号操作教程

Oracle监听端口被占用导致TNS-12541错误,需检查并更换端口(如1522),同步更新listener.ora、tnsnames.ora及JDBC连接串,重启监听;EM Express需单独配置HTTP端口;Windows下还需手动开放防火墙新端口。Oracle监听端口被占用,lsnrctl start 报 TNS-12541: TNS:no listener这不是监听没启动,而是端口根本 bind 失败。oracle 默认用 1521,但很多环境(尤其是开发机、docker、或装过其他数据库)早被 java、postgresql、甚至某个残留的 oracle-xe 进程占了。先确认:运行 netstat -an | grep 1521(linux/macos)或 netstat -ano | findstr :1521(windows),看 pid 是否非零且不属于 tnslsnr。改 listener.ora 端口后仍连不上,sqlplus /@orcl 提示 ORA-12170: TNS:Connect timeout occurred只改配置文件不够,必须同步更新三处:listener.ora 中 PORT 值(如改成 1522),路径通常是 $ORACLE_HOME/network/admin/listener.oratnsnames.ora 对应服务名的 PORT 必须一致(比如 orcl 条目里 (PORT=1522))如果用 JDBC,连接串里的端口号也得改,例如 jdbc:oracle:thin:@localhost:1522:orcl改完必须重启监听:lsnrctl stop && lsnrctl start;别只 reload,它不重读端口配置。修改端口后客户端能连,但 DBA_REGISTRY 显示组件状态异常或 EM Express 打不开EM Express(https://localhost:5500/em)默认绑定在数据库监听端口上,但它是通过数据库内部服务注册的,不是靠 listener.ora 配置。端口一改,EM 就断连。解决方法只有两个:手动为 EM 指定新端口:exec DBMS_XDB_CONFIG.SETHTTPPORT(5501);,然后重启数据库(不是监听)或者干脆关掉 EM:exec DBMS_XDB_CONFIG.SETHTTPPORT(0);,避免干扰注意:DBA_REGISTRY 异常往往只是 EM 相关组件报告"未就绪",不影响核心功能,别误判成数据库损坏。 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。

相关推荐
我命由我12345几秒前
访客系统形式(有用户概念、无用户概念)
java·开发语言·前端·javascript·python·产品运营·产品经理
key_3_feng15 分钟前
评估与对齐:Agent 自我进化的护栏
前端·数据库·agent
xixingzhe216 分钟前
图表中同比与环比的区别:看趋势还是看变化?
开发语言·python
TangGeeA16 分钟前
数据库、SQL 与 DB AI
数据库·人工智能·sql
IvorySQL17 分钟前
开源数据库进校园| 11 月 3 日,IvorySQL 校园行走进浙大宁波校区:从 PostgreSQL 扩展生态到 AI 实战
数据库·postgresql·开源
福建佰胜张工32 分钟前
深度解析 Allen-Bradley 150-B135NBDA 智能电机控制器:选型、参数与工业应用
运维·数据库·单片机·嵌入式硬件·安全·自动化
forest_0933 分钟前
当 AI 搜索开始「自我进化」,谁来进化它的核实?——「已核实」结论复核器:3 条结论挖出 2 个洞(附可运行代码)
人工智能·python·机器学习·prompt·agi
`Levie37 分钟前
MySQL-数据库服务日志管理与数据闪回
数据库·mysql
香蕉大香蕉(06敬畏市场)40 分钟前
MySQL 单点详解(01)
java·数据库·mysql·面试·博客·实习
小小张说故事1 小时前
Python 的 str 为什么设计成不可变?拆开字符串驻留、字符串池,以及 += 拼接到底慢在哪
后端·python