在 Debian 上,lsnrctl 本身是 Oracle Listener 的控制工具,它并不直接提供“备份”命令。所谓“备份 lsnrctl 相关配置”,通常是指备份 Oracle Listener 的配置文件。
下面给你几种常见、实用的备份方式。
通常位置是:
$ORACLE_HOME/network/admin/listener.ora
也可以用:
lsnrctl status
输出中能看到 Listener Parameter File 路径。
cp $ORACLE_HOME/network/admin/listener.ora \
$ORACLE_HOME/network/admin/listener.ora.bak
或带日期:
cp listener.ora listener.ora.$(date +%F)
Oracle 网络相关重要文件一般都在:
$ORACLE_HOME/network/admin/
建议一起备份:
listener.oratnsnames.orasqlnet.ora示例:
cd $ORACLE_HOME/network/admin
tar czvf listener_backup_$(date +%F).tar.gz \
listener.ora tnsnames.ora sqlnet.ora
虽然 lsnrctl 没有 backup 命令,但你可以:
lsnrctl status > lsnrctl_status_$(date +%F).txt
lsnrctl services > lsnrctl_services_$(date +%F).txt
这些可用于故障对比,但不是配置文件备份。
如果 Listener 是通过 systemd 管理的:
systemctl cat oracle-listener
可备份 service 文件(如有自定义):
/etc/systemd/system/oracle-listener.service
恢复很简单:
cp listener.ora.bak listener.ora
lsnrctl reload
# 或
lsnrctl stop
lsnrctl start
cd $ORACLE_HOME/network/admin
tar czvf listener_backup.tar.gz listener.ora tnsnames.ora sqlnet.ora
如果你愿意,可以告诉我:
我可以给你更精确的备份方案。