运行lsnrctl 命令 挂机,超时TNS-12525: TNS-12535:TNS-12606:

本文描述了在使用Oracle数据库时遇到的监听超时问题,详细记录了从lsnrctl status命令长时间无响应到最终解决问题的过程。作者发现通过修改端口可以暂时绕过问题,进一步排查发现iptables防火墙规则限制了1521端口的访问,导致客户端请求超时。最终解决方案是调整iptables设置,允许所有IP访问或仅允许指定IP访问。
部署运行你感兴趣的模型镜像

运行lsnrctl  status 挂起很久报如下错误

TNS-12525: TNS:listener has not received client's request in time allowed

 TNS-12535: TNS:operation timed out

  TNS-12606: TNS: Application timeout occurred


修改监听配置,或种方法都试了

netstat -apn|grep 1521   

也kill 了进程还是没有用


后来通过修改端口发现能启动,才回想起,昨天动过iptables,在里边添加了1521端口只充许某些IP防问。

service iptables stop  暂停iptables后


一切正常,一点小问题,整了几个小时。



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69903565/viewspace-2646816/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/69903565/viewspace-2646816/

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### ### Oracle TNS-12555 和 TNS-00525 错误解决方案 Oracle 数据库连接错误 **TNS-12555** 和 **TNS-00525** 通常表示 **权限不足** 或 **操作系统权限配置错误**,尤其是在 Linux 或 Unix 环境中。该错误堆栈通常为: ``` TNS-12555: TNS:permission denied TNS-12560: TNS:protocol adapter error TNS-00525: Insufficient privilege for operation Linux Error: 1: Operation not permitted ``` 此错误表明 Oracle 监听器无法在指定的地址上启动,主要原因是监听器进程没有足够的权限绑定到相关端口或使用特定的 IPC 资源。例如,在尝试使用 `IPC` 协议监听 `(KEY=EXTPROC1521)` 时,如果 Oracle 用户没有对 `/var/tmp/.oracle` 目录的访问权限,则会导致此类错误[^3]。 #### 解决方案 1. **检查 IPC 资源权限** 如果监听器使用了 `IPC` 协议(如 `(PROTOCOL=IPC)`),则需要确保 Oracle 用户对 `/var/tmp/.oracle` 目录具有读写权限。若该目录不存在,可手动创建并设置权限: ```bash mkdir -p /var/tmp/.oracle chown oracle:oinstall /var/tmp/.oracle chmod 775 /var/tmp/.oracle ``` 该目录用于 Oracle 的本地 IPC 通信,若权限不正确,会导致监听器启动失败[^3]。 2. **检查监听器配置文件 `listener.ora`** 确保 `listener.ora` 中配置的地址和端口未被其他服务占用,且协议配置正确。例如: ```bash LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = your_host)(PORT = 1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ``` 若使用了 `IPC` 协议,确保该配置符合系统环境要求,并与 Oracle 的运行时权限匹配。 3. **以 root 权限启动监听器(临时测试)** 若怀疑是权限问题,可尝试使用 `root` 用户启动监听器以验证是否为权限限制: ```bash sudo /opt/oracle/11g/bin/lsnrctl start ``` 如果监听器成功启动,则表明 Oracle 用户权限不足,需调整系统权限配置。 4. **检查 SELinux 或 AppArmor 限制** 在某些 Linux 发行版中,SELinux 或 AppArmor 可能限制了 Oracle 进程的网络访问权限。可临时禁用 SELinux 进行测试: ```bash setenforce 0 ``` 若禁用后监听器可正常启动,则需调整 SELinux 策略或配置 Oracle 用户的上下文权限。 5. **确认 Oracle 用户具备绑定特权端口权限** 若监听器配置使用了特权端口(如 1521),但 Oracle 用户未被授权绑定这些端口,也可能导致此错误。可以通过设置 `CAP_NET_BIND_SERVICE` 权限来允许非 root 用户绑定特权端口: ```bash setcap CAP_NET_BIND_SERVICE=+eip /opt/oracle/11g/bin/tnslsnr ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值