在 Debian 上备份 Oracle 数据库,常见做法分为 逻辑备份(EXPDP/IMPDP)、物理备份(RMAN) 和 操作系统级备份。下面按实用场景给你一套清晰方案。
mkdir -p /u01/backup
chown -R oracle:oinstall /u01/backup
在数据库中:
CREATE OR REPLACE DIRECTORY backup_dir AS '/u01/backup';
GRANT READ, WRITE ON DIRECTORY backup_dir TO system;
su - oracle
expdp system/password@orcl \
DIRECTORY=backup_dir \
DUMPFILE=full_$(date +%F).dmp \
LOGFILE=expdp_$(date +%F).log \
FULL=Y
impdp system/password@orcl \
DIRECTORY=backup_dir \
DUMPFILE=full_2026-01-21.dmp \
LOGFILE=impdp.log \
FULL=Y
✅ 适合:跨版本、跨平台、表级/用户级备份
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
su - oracle
rman target /
BACKUP DATABASE PLUS ARCHIVELOG;
或脚本方式:
rman target / <<EOF
BACKUP DATABASE PLUS ARCHIVELOG;
EOF
0 2 * * * /home/oracle/rman_backup.sh
✅ 适合:大规模、生产环境、可时间点恢复
sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
cp -r /u01/app/oracle/oradata /backup/oradata
cp $ORACLE_HOME/dbs /backup/dbs
STARTUP;
⚠️ 仅适合维护窗口,不推荐生产频繁使用
oracle 用户环境变量正确:export ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
| 类型 | 频率 |
|---|---|
| RMAN 全备 | 每周 |
| RMAN 增量 | 每天 |
| expdp | 每月 |
| 归档日志 | 实时 |
如果你能告诉我:
我可以给你一套可直接用的备份脚本。