在 Debian 上备份 Oracle 数据库(通常是 Oracle Database 11g/12c/19c 等),常见做法有下面几种,按推荐程度从“官方最稳妥”到“轻量临时”排序。
RMAN(Recovery Manager)是 Oracle 官方备份工具,最安全、最完整。
su - oracle
rman target /
BACKUP DATABASE PLUS ARCHIVELOG;
默认备份位置在快速恢复区(FRA),通常是:
/u01/app/oracle/fast_recovery_area
BACKUP DATABASE FORMAT '/backup/oracle/full_%U.bak';
BACKUP CURRENT CONTROLFILE;
适合非生产环境或临时迁移。
sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
EXIT;
cp -r /u01/app/oracle/oradata /backup/oracle/oradata
cp -r /u01/app/oracle/fast_recovery_area /backup/oracle/fra
sqlplus / as sysdba
STARTUP;
适合部分用户或表空间备份。
mkdir -p /backup/oracle/dp
sqlplus / as sysdba
CREATE DIRECTORY dp_dir AS '/backup/oracle/dp';
GRANT READ, WRITE ON DIRECTORY dp_dir TO system;
expdp system/password FULL=Y DIRECTORY=dp_dir DUMPFILE=full.dmp LOGFILE=full.log
expdp system/password SCHEMAS=scott DIRECTORY=dp_dir DUMPFILE=scott.dmp
仅作为补充,不能替代 Oracle 备份。
tar czf oracle_home.tar.gz /u01/app/oracle
⚠ 注意:运行中的数据库直接打包数据文件可能导致不一致。
spfile / pfile如果你能告诉我:
我可以给你一套 Debian + cron + RMAN 的自动备份方案。