oracle
用户身份执行,使用以下命令切换:sudo su - oracle
ORACLE_HOME
已正确设置(指向Oracle安装目录,如/u01/app/oracle/product/19c/dbhome_1
),可通过echo $ORACLE_HOME
验证。listener.ora
默认位于$ORACLE_HOME/network/admin/
目录。cp
命令复制文件到安全目录(如/opt/oracle/backup/
),示例如下:cp $ORACLE_HOME/network/admin/listener.ora /opt/oracle/backup/listener.ora.bak_$(date +%F)
$(date +%F)
会自动添加当前日期,便于区分备份版本)lsnrctl status
命令将监听器当前状态(包括地址、端口、服务名等)导出到文本文件,便于后续核查:lsnrctl status > /opt/oracle/backup/listener_status_$(date +%F).txt
crontab
设置定时任务,例如每天凌晨2点备份:crontab -e
添加以下内容(需替换为实际备份目录):0 2 * * * cp $ORACLE_HOME/network/admin/listener.ora /opt/oracle/backup/listener.ora.bak_$(date +\%F)
lsnrctl stop
pkill -f tnslsnr
强制终止进程(谨慎使用)。listener.ora
文件复制回原目录,示例如下:cp /opt/oracle/backup/listener.ora.bak_2025-09-25 $ORACLE_HOME/network/admin/listener.ora
cat
或vi
命令检查恢复的文件内容是否符合预期(如监听地址、端口是否正确)。lsnrctl start
lsnrctl reload
lsnrctl status
命令检查监听器是否运行正常,重点关注以下信息:
LISTENER
);TCP:192.168.1.100:1521
);ORCL
);READY
(表示正常运行)。oracle
用户对$ORACLE_HOME/network/admin/
目录有读写权限。listener.ora
文件(rm $ORACLE_HOME/network/admin/listener.ora
),重启监听器后会自动生成默认配置(但需手动补充服务信息)。$ORACLE_HOME/diag/tnslsnr/<主机名>/listener/alert/log.xml
)定位错误原因。