在 Ubuntu 上配置 Oracle 监听(Listener),通常用于 Oracle Database(如 11g / 12c / 19c)。下面按最常见场景给你一个完整步骤说明。
oracle 用户ORACLE_HOME、ORACLE_SID)su - oracle
$ORACLE_HOME/network/admin/listener.ora
示例路径(19c):
/u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/19.3.0/dbhome_1)
(SID_NAME = orcl)
)
)
⚠️
HOST可写:
localhost(仅本地)- 服务器 IP(远程可连)
- 主机名(需
/etc/hosts正确)
lsnrctl start
查看状态:
lsnrctl status
看到:
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=...)(PORT=1521)))
说明成功。
如果你装了 X11:
netca
按向导:
Ubuntu 默认不自动启动 Oracle
lsnrctl start
创建:
sudo vi /etc/systemd/system/oracle-listener.service
内容:
[Unit]
Description=Oracle Listener
After=network.target
[Service]
Type=forking
User=oracle
Environment=ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
ExecStart=/u01/app/oracle/product/19.3.0/dbhome_1/bin/lsnrctl start
ExecStop=/u01/app/oracle/product/19.3.0/dbhome_1/bin/lsnrctl stop
[Install]
WantedBy=multi-user.target
启用:
sudo systemctl enable oracle-listener
sudo ufw allow 1521lsnrctl start
ALTER SYSTEM REGISTER;
✅ listener.ora 正确
✅ lsnrctl start
✅ 端口开放
✅ 防火墙放行
如果你告诉我:
我可以给你更精确的配置。