一、前置准备:确保远程监听器可被访问
$ORACLE_HOME/network/admin/listener.ora文件,确保LISTENER配置包含远程主机或通配符地址(允许所有接口监听)。例如:LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = your_remote_host)(PORT = 1521)) # 替换为远程服务器IP/主机名
)
)
若需监听所有接口,可将HOST设为*,但需注意安全性。iptables命令:iptables -A INPUT -p tcp --dport 1521 -j ACCEPT
service iptables save # 保存规则(CentOS 6)
systemctl restart firewalld # CentOS 7+重启防火墙
二、远程连接与基础管理
lsnrctl connect指定远程主机的监听地址和端口(若为默认端口1521可省略):lsnrctl connect your_remote_host:1521
连接成功后,可执行以下常用操作:
lsnrctl status(显示监听端口、服务名、数据库实例等信息);lsnrctl stop(需管理员权限);lsnrctl start(需管理员权限);lsnrctl reload(无需重启即可应用listener.ora变更)。三、安全加固:设置监听器管理密码
lsnrctl交互界面:lsnrctl;set current_listener your_listener_name(如LISTENER);Old password:;New password:;Reenter new password:;save_config(将密码密文写入listener.ora文件,格式为PASSWORDS_监听名称 = 密文)。stop、save_config等重要操作时需提供密码,否则会报错。例如:lsnrctl << EOF
set current_listener your_listener_name
set password your_password
stop
EOF
注意事项
stop、save_config等敏感操作有效,start操作无需密码(防止恶意启动监听器);listener.ora文件,删除PASSWORDS_监听名称行,重启监听器后密码将被重置为空;listener.ora中的PROTOCOL为TCPS)并限制访问IP,进一步提升安全性。