温馨提示×

ubuntu oracle端口如何改

小樊
45
2026-10-07 17:10:12
栏目: 云计算

在 Ubuntu 上修改 Oracle 数据库监听端口(默认是 1521)一般分为以下几个步骤。下面以 Oracle 19c / 11g / 12c 常见环境为例。


一、确认当前 Oracle 端口

lsnrctl status

查看输出中的:

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xxx)(PORT=1521)))

二、修改监听端口

方法 1:使用 netca(图形化,推荐)

sudo su - oracle
netca
  • 选择 Listener Configuration
  • 修改已有监听
  • 修改 TCP Port
  • 保存并重启监听

方法 2:手动修改 listener.ora

  1. 找到监听配置文件(通常在 $ORACLE_HOME/network/admin/listener.ora)
cd $ORACLE_HOME/network/admin
vi listener.ora

示例(改成 1522):

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
    )
  )

三、重启监听

lsnrctl stop
lsnrctl start

确认:

lsnrctl status

四、修改 tnsnames.ora(如有使用)

如果客户端或本机使用 tnsnames.ora:

vi $ORACLE_HOME/network/admin/tnsnames.ora

示例:

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

五、修改数据库注册端口(重要)

如果是 动态监听注册,需要让数据库知道新端口:

sqlplus / as sysdba
ALTER SYSTEM SET LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1522))' SCOPE=BOTH;
ALTER SYSTEM REGISTER;

六、防火墙(如果是远程访问)

sudo ufw allow 1522/tcp

或(iptables):

sudo iptables -I INPUT -p tcp --dport 1522 -j ACCEPT

七、验证连接

sqlplus system/password@//localhost:1522/orcl

常见问题

✅ 端口被占用

netstat -tunlp | grep 1522

✅ 监听起不来

  • 检查 HOST 是否正确(不要用错 IP)
  • 看 listener.log

如果你能告诉我:

  • Oracle 版本
  • 单机还是 RAC
  • 本地还是远程连接

我可以给你更精确的配置示例。

0 踩