Oracle 解决 监听 端口占用

本文介绍如何在CMD面板中通过命令操作Oracle监听器状态,包括启动监听器及解决监听端口被占用的问题。

在CMD面板内先输入:lsnrtl

  1. 输入 status可以查看现在监听器的状态。
  2. 使用 start 可以启动 监听。


错误解决:

TNS-00512 地址已被使用。


  1. CMD 面板中输入:netstat -aon|findstr "1521" 找到占用端口的PID
  2. 然后在任务管理器中找到该进程,然后修改端口。
在Windows系统下,当Oracle监听端口(如默认的1521)被占用或被系统保留,导致Oracle监听器无法正常启动时,可以采取以下措施解决该问题: ### 1. 检查端口占用情况 使用 `netstat` 命令查看端口是否占用: ```bash netstat -aon | findstr :1521 ``` 如果命令未返回任何结果,说明端口可能被Windows系统保留[^1]。 ### 2. 检查Windows保留端口范围 Windows系统可能会在启动时随机预留一部分端口供系统使用。可以通过以下命令查看当前的保留端口范围: ```bash netsh interface ipv4 show excludedportrange protocol=tcp ``` 如果发现1521端口在保留范围内,则需要调整系统保留的端口范围,以避免冲突。 ### 3. 修改系统保留端口范围 通过以下命令调整系统保留端口范围,将1521排除在保留范围之外: ```bash netsh interface ipv4 set dynamicport tcp start=49152 num=16384 ``` 上述命令将TCP动态端口分配范围设置为49152到65535,确保1521端口不被系统占用[^1]。 ### 4. 修改Oracle监听端口 如果不想更改系统端口范围,也可以修改Oracle监听器使用的端口。编辑 `listener.ora` 文件,修改监听端口: ```plaintext LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 8080)) ) ) ``` 保存后重启Oracle监听服务,使其使用新的端口[^2]。 ### 5. 重启Oracle监听服务 修改配置后,需重启Oracle监听服务以使更改生效。可以通过以下方式重启服务: - 打开“服务”管理器(通过“运行”输入 `services.msc`)。 - 找到 `OracleOraDb11g_home1TNSListener` 或类似名称的服务。 - 右键选择“重启”。 ### 6. 验证监听状态 使用 `lsnrctl` 命令验证监听器状态: ```bash lsnrctl status ``` 如果显示监听器正在运行且端口正确,则说明问题已解决。 ### 7. 防止未来端口冲突 为避免未来再次出现类似问题,建议: - 将Oracle监听端口设置为非默认端口(如8080、8090等)。 - 确保系统保留端口范围与数据库服务端口无冲突。 - 定期检查端口使用情况,防止其他应用程序占用监听端口[^1]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值