在 Debian(以及大多数 Linux)上,lsnrctl 是 Oracle Database Listener 的管理工具,其配置主要保存在 listener.ora 文件中。备份 lsnrctl 配置,实际上就是备份 listener 相关的配置文件。
下面按常见情况说明。
Oracle 的配置文件通常在以下目录之一(取决于你的安装方式):
$ORACLE_HOME/network/admin
常见路径示例:
/u01/app/oracle/product/19.3.0/dbhome_1/network/admin
如果你不确定 ORACLE_HOME,可以先执行:
echo $ORACLE_HOME
或:
which lsnrctl
输出类似:
/u01/app/oracle/product/19.3.0/dbhome_1/bin/lsnrctl
那么配置文件就在:
/u01/app/oracle/product/19.3.0/dbhome_1/network/admin
重点备份以下文件(存在哪些就备份哪些):
listener.ora
tnsnames.ora
sqlnet.ora
其中 listener.ora 是 lsnrctl 的核心配置。
cd $ORACLE_HOME/network/admin
cp listener.ora listener.ora.bak
cp tnsnames.ora tnsnames.ora.bak
cp sqlnet.ora sqlnet.ora.bak
或一次性备份:
cp -p listener.ora tnsnames.ora sqlnet.ora /backup/oracle/network/
-p保留权限和时间戳
cd $ORACLE_HOME/network
tar czvf listener_backup_$(date +%F).tar.gz admin/
示例:
listener_backup_2026-01-21.tar.gz
lsnrctl status
或:
lsnrctl status LISTENER_NAME
查看当前监听配置内容:
lsnrctl services
在 RAC / Grid 中,listener 配置可能在:
$GRID_HOME/network/admin
或:
$ORACLE_BASE/diag/tnslsnr
此时建议同时备份:
crsctl stat res -t
和 Grid 的 listener 配置。
恢复时直接覆盖即可:
cp listener.ora.bak listener.ora
然后重启 listener:
lsnrctl stop
lsnrctl start
# 备份 listener 配置
cp $ORACLE_HOME/network/admin/listener.ora \
$ORACLE_HOME/network/admin/listener.ora.bak
如果你愿意,可以告诉我:
我可以给你更精确的备份方案。