在 Linux 上“备份 Oracle 配置”通常指备份 Oracle 软件配置、数据库参数、监听配置、用户环境、控制文件与重要元数据,而不是只备份数据文件。下面按最常用、最安全的方式给你一个完整清单。
ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
建议备份:
$ORACLE_HOME/network/admin/
$ORACLE_HOME/dbs/
重点文件:
listener.oratnsnames.orasqlnet.orainit<ORACLE_SID>.ora 或 spfile<ORACLE_SID>.oraorapw<ORACLE_SID>(密码文件)示例:
tar czvf oracle_net_cfg.tar.gz $ORACLE_HOME/network/admin
tar czvf oracle_dbs.tar.gz $ORACLE_HOME/dbs
sqlplus / as sysdba
CREATE PFILE='/backup/pfile_<SID>_<date>.ora' FROM SPFILE;
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
或指定文件:
ALTER DATABASE BACKUP CONTROLFILE TO '/backup/controlfile.trc';
lsnrctl status
lsnrctl save_config
备份目录:
$ORACLE_HOME/network/admin/listener.ora
$ORACLE_HOME/network/admin/tnsnames.ora
/home/oracle/.bash_profile
/etc/oratab
/etc/sysctl.conf
/etc/security/limits.conf
rman target /
CONFIGURE CONTROLFILE AUTOBACKUP ON;
BACKUP CURRENT CONTROLFILE;
BACKUP SPFILE;
这能确保 参数文件 + 控制文件 可恢复。
rman target /
BACKUP DATABASE PLUS ARCHIVELOG;
| 类型 | 频率 |
|---|---|
| 配置文件 | 每次变更后 |
| 参数文件/控制文件 | 每天 |
| RMAN 备份 | 按业务要求 |
✅ listener.ora
✅ tnsnames.ora
✅ spfile / pfile
✅ orapw 文件
✅ controlfile trace
✅ /etc/oratab
如果你愿意,可以告诉我:
我可以给你定制版备份脚本。