温馨提示×

Linux Oracle如何备份

小樊
39
2026-07-01 04:18:50
栏目: 云计算

Linux 上备份 Oracle 数据库,常见做法主要有 RMAN 备份数据泵(expdp/impdp)冷备份热备份。实际生产环境最推荐的是 RMAN + 归档模式。下面按“最常用 → 备用方案”给你系统说明。


一、使用 RMAN(强烈推荐 ✅)

RMAN(Recovery Manager)是 Oracle 官方备份恢复工具,支持:

  • 全库 / 增量 / 归档日志备份
  • 自动管理备份集
  • 支持恢复到任意时间点(PITR)

1️⃣ 确认数据库运行模式(归档 or 非归档)

sqlplus / as sysdba
archive log list;
  • ARCHIVELOG 模式:支持热备份(生产推荐)
  • NOARCHIVELOG 模式:只能冷备份

如需开启归档:

shutdown immediate;
startup mount;
alter database archivelog;
alter database open;

2️⃣ RMAN 全库备份(最常用)

rman target /
RUN {
  BACKUP DATABASE
  PLUS ARCHIVELOG
  FORMAT '/u01/backup/full_%d_%U.bkp';
}

备份内容包括:

  • 数据文件
  • 控制文件
  • 归档日志

3️⃣ RMAN 增量备份(节省空间)

0 级备份(基准备份)

BACKUP INCREMENTAL LEVEL 0 DATABASE;

1 级增量备份

BACKUP INCREMENTAL LEVEL 1 DATABASE;

4️⃣ 单独备份归档日志

BACKUP ARCHIVELOG ALL;

5️⃣ 查看备份

LIST BACKUP;

二、使用数据泵 expdp(逻辑备份)

适合:

  • 数据迁移
  • 少量库
  • 表级 / 用户级备份

1️⃣ 创建目录

CREATE DIRECTORY backup_dir AS '/u01/backup';
GRANT READ, WRITE ON DIRECTORY backup_dir TO scott;

2️⃣ 全库导出

expdp system/password full=y directory=backup_dir dumpfile=full_%U.dmp logfile=full.log

3️⃣ 按用户导出

expdp system/password schemas=scott directory=backup_dir dumpfile=scott.dmp

⚠️ 缺点:

  • 不支持增量
  • 大数据量慢
  • 恢复不如 RMAN 灵活

三、冷备份(关闭数据库)

适用于:

  • 小型库
  • 测试环境
  • 非归档模式

步骤:

sqlplus / as sysdba
shutdown immediate;

复制以下文件:

  • 数据文件
  • 控制文件
  • 日志文件
  • 参数文件(spfile/pfile)
cp -r $ORACLE_BASE/oradata /backup/oradata
cp $ORACLE_HOME/dbs/spfile*.ora /backup/

启动数据库:

startup;

四、热备份(手动,不推荐)

仅在非 RMAN 场景下使用:

ALTER TABLESPACE users BEGIN BACKUP;
-- 复制数据文件
ALTER TABLESPACE users END BACKUP;

⚠️ 容易出错,不建议新系统使用。


五、备份策略建议 ✅(生产环境)

场景 建议
生产环境 RMAN + 归档
每晚 全备 + 归档
白天 归档日志备份
关键库 增量 + 归档
灾备 RMAN + Data Guard

六、常见 RMAN 自动化脚本(crontab)

#!/bin/bash
export ORACLE_SID=orcl
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
$ORACLE_HOME/bin/rman target / <<EOF
BACKUP DATABASE PLUS ARCHIVELOG;
EOF

七、总结一句话

生产环境首选:RMAN + ARCHIVELOG
迁移/小库:expdp
不推荐:手动热备份


如果你需要:

  • 具体版本(11g / 12c / 19c)
  • 是否 RAC / CDB
  • 备份到 NFS / 云存储
  • 恢复演练步骤

可以直接告诉我,我给你定制备份方案。

0