在恢复lsnrctl
配置前,需确保具备以下条件:
oracle
);ORACLE_HOME
指向Oracle安装目录,ORACLE_SID
指向数据库实例名),可通过echo $ORACLE_HOME
和echo $ORACLE_SID
验证;sudo
执行关键命令)。若之前备份过listener.ora
文件(Oracle监听器主配置文件),可直接将其复制回原位置覆盖当前配置:
listener.ora
通常位于$ORACLE_HOME/network/admin
目录下(如/u01/app/oracle/product/19c/network/admin/listener.ora
);lsnrctl stop
终止当前监听器进程;cp
命令将备份文件复制回原位置(例如备份文件在/home/oracle/listener.ora.bak
,则执行sudo cp /home/oracle/listener.ora.bak $ORACLE_HOME/network/admin/listener.ora
);lsnrctl start
启动监听器;lsnrctl status
检查监听器是否正常运行(需显示“Listener is ready”等提示)。若未备份listener.ora
文件,可删除现有配置让Oracle自动生成默认配置:
lsnrctl stop
;mv $ORACLE_HOME/network/admin/listener.ora $ORACLE_HOME/network/admin/listener.ora.old
(避免直接删除导致数据丢失);lsnrctl start
,Oracle会根据默认模板重新生成listener.ora
文件;lsnrctl status
确认监听器状态,若仍无法启动,需参考Oracle官方文档调整默认配置。若记得listener.ora
的原有配置内容,可直接用文本编辑器修改文件:
lsnrctl stop
;vi
或nano
打开$ORACLE_HOME/network/admin/listener.ora
(如sudo vi $ORACLE_HOME/network/admin/listener.ora
);LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)))
);Esc
键输入:wq
保存文件;lsnrctl start
;lsnrctl status
确认配置生效。lsnrctl status
,需显示监听器名称、地址、端口及已注册的服务(如数据库实例);$ORACLE_HOME/diag/tnslsnr/<主机名>/listener/trace/listener.log
);ping
命令测试客户端与监听器服务器的网络连通性,确保端口(默认1521)未被防火墙阻挡(可通过sudo ufw allow 1521/tcp
开放端口)。lsnrctl
命令路径已添加至系统PATH
环境变量(如export PATH=$PATH:$ORACLE_HOME/bin
);