服务器测评网
我们一直在努力

linux下如何查看oracle数据库监听端口?

在Linux环境下查看Oracle数据库的监听端口是数据库管理和运维中的常见操作,掌握多种方法可以灵活应对不同场景需求,本文将详细介绍通过命令行工具、配置文件查询以及网络诊断等方式定位Oracle端口的具体步骤和注意事项。

linux下如何查看oracle数据库监听端口?

使用netstat命令查看端口

netstat是Linux系统中经典的网络状态查看工具,通过它可以快速定位Oracle监听端口,需确认Oracle监听服务是否运行,执行以下命令:

ps -ef | grep tnslsnr

若发现监听进程(如tnslsnr),则使用netstat结合grep过滤Oracle相关端口:

netstat -tuln | grep :1521

其中-t显示TCP端口,-u显示UDP端口,-l仅显示监听状态,-n以数字形式显示地址和端口,Oracle默认监听端口为1521,若自定义端口,只需替换命令中的端口号即可。

通过ss命令高效查询

ss是netstat的替代工具,在性能上更优,尤其在高并发场景下表现突出,使用方法与netstat类似:

ss -tuln | grep oracle

或直接指定端口号:

linux下如何查看oracle数据库监听端口?

ss -tuln | grep :1521

ss命令的-p参数还可显示占用端口的进程ID(PID),便于进一步排查:

ss -tulpn | grep :1521

检查Oracle监听配置文件

Oracle监听器的端口配置存储在listener.ora文件中,该文件通常位于$ORACLE_HOME/network/admin目录下,通过查看该文件可获取准确的监听端口信息:

cat $ORACLE_HOME/network/admin/listener.ora
```  示例如下:  
```plaintext
LISTENER =  
  (DESCRIPTION_LIST =  
    (DESCRIPTION =  
      (ADDRESS = (PROTOCOL = TCP)(HOST = 服务器IP)(PORT = 1521))  
    )  
  )  

其中PORT参数即为监听端口,若文件中配置了多个监听地址,需逐一确认。

使用lsnrctl命令查询监听状态

Oracle提供的lsnrctl工具是管理监听器的专用命令,可直接获取监听端口及服务信息,执行以下命令进入监听控制台:

lsnrctl status

在输出结果中,找到Services SummaryListening Endpoints Summary部分,即可看到监听的协议、IP和端口号,

linux下如何查看oracle数据库监听端口?

Listening Endpoints Summary...  
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=1521)))  

若需查询特定服务的端口,可结合services参数:

lsnrctl services

通过tnsping测试端口连通性

tnsping工具不仅能测试Oracle网络服务名是否可达,还能间接反馈监听端口状态,执行以下命令:

tnspang 服务名

若监听端口正常,将返回“OK”及响应时间;若端口未开放或监听未启动,则会提示错误。

$ tnsping orcl  
TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 20-OCT-2023 10:00:00  
Copyright (c) 1997, 2023, Oracle.  All rights reserved.  
Used parameter files:  
Used TNSNAMES adapter to resolve the alias  
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=orcl))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521)))  
OK (10 msec)  

注意事项

  1. 权限问题:执行上述命令时,建议使用Oracle用户或具有sudo权限的用户,避免因权限不足导致查询失败。
  2. 防火墙设置:若端口无法访问,需检查Linux防火墙(如iptables、firewalld)是否开放相应端口,
    firewall-cmd --list-ports | grep 1521
  3. 多实例场景:若服务器运行多个Oracle实例,需通过ps -ef | grep tnslsnr确认不同监听进程对应的端口,避免混淆。

通过以上方法,可以全面、准确地定位Oracle数据库的监听端口,实际操作中,可根据环境选择最便捷的方式,并结合多种工具交叉验证,确保结果的可靠性。

赞(0)
未经允许不得转载:好主机测评网 » linux下如何查看oracle数据库监听端口?