温馨提示×

如何备份debian oracle

小樊
34
2026-10-20 00:44:55
栏目: 云计算

在 Debian 上备份 Oracle 数据库,常见做法分为 逻辑备份(EXPDP/IMPDP)、物理备份(RMAN) 和 操作系统级备份。下面按实用场景给你一套清晰方案。


一、逻辑备份(最常用,推荐)

1. 使用 Data Pump(expdp)

(1)创建备份目录

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;

(2)执行导出

su - oracle
expdp system/password@orcl \
  DIRECTORY=backup_dir \
  DUMPFILE=full_$(date +%F).dmp \
  LOGFILE=expdp_$(date +%F).log \
  FULL=Y

(3)恢复示例

impdp system/password@orcl \
  DIRECTORY=backup_dir \
  DUMPFILE=full_2026-01-21.dmp \
  LOGFILE=impdp.log \
  FULL=Y

✅ 适合:跨版本、跨平台、表级/用户级备份


二、物理备份(RMAN,生产推荐)

1. 配置归档模式(必须)

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;

2. RMAN 全备

su - oracle
rman target /
BACKUP DATABASE PLUS ARCHIVELOG;

或脚本方式:

rman target / <<EOF
BACKUP DATABASE PLUS ARCHIVELOG;
EOF

3. 定时备份(crontab)

0 2 * * * /home/oracle/rman_backup.sh

✅ 适合:大规模、生产环境、可时间点恢复


三、操作系统级备份(冷备)

步骤

  1. 停止数据库
sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
  1. 拷贝文件
cp -r /u01/app/oracle/oradata /backup/oradata
cp $ORACLE_HOME/dbs /backup/dbs
  1. 启动数据库
STARTUP;

⚠️ 仅适合维护窗口,不推荐生产频繁使用


四、Debian 特有注意事项

  • 确保 oracle 用户环境变量正确:
export ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
  • 防火墙/SELinux(Debian 一般无 SELinux)

五、推荐备份策略(示例)

类型 频率
RMAN 全备 每周
RMAN 增量 每天
expdp 每月
归档日志 实时

如果你能告诉我:

  • Oracle 版本(11g / 12c / 19c)
  • 单机还是 RAC
  • 是否生产环境

我可以给你一套可直接用的备份脚本。

0 踩