温馨提示×

怎样备份Debian的Oracle

小樊
40
2026-10-14 06:29:01
栏目: 云计算

在 Debian 上备份 Oracle 数据库(通常是 Oracle Database 11g/12c/19c 等),常见做法有下面几种,按推荐程度从“官方最稳妥”到“轻量临时”排序。


一、使用 RMAN 备份(强烈推荐)

RMAN(Recovery Manager)是 Oracle 官方备份工具,最安全、最完整。

1. 切换到 Oracle 用户

su - oracle

2. 进入 RMAN

rman target /

3. 执行全库备份

BACKUP DATABASE PLUS ARCHIVELOG;

默认备份位置在快速恢复区(FRA),通常是:

/u01/app/oracle/fast_recovery_area

4. 指定备份路径(可选)

BACKUP DATABASE FORMAT '/backup/oracle/full_%U.bak';

5. 备份控制文件

BACKUP CURRENT CONTROLFILE;

二、手动冷备份(数据库关闭状态)

适合非生产环境或临时迁移。

1. 关闭数据库

sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
EXIT;

2. 复制数据文件、控制文件、日志文件

cp -r /u01/app/oracle/oradata /backup/oracle/oradata
cp -r /u01/app/oracle/fast_recovery_area /backup/oracle/fra

3. 启动数据库

sqlplus / as sysdba
STARTUP;

三、使用 expdp / impdp(逻辑备份)

适合部分用户或表空间备份。

1. 创建备份目录

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;

2. 导出全库

expdp system/password FULL=Y DIRECTORY=dp_dir DUMPFILE=full.dmp LOGFILE=full.log

3. 只导出某用户

expdp system/password SCHEMAS=scott DIRECTORY=dp_dir DUMPFILE=scott.dmp

四、Debian 系统层面的辅助备份

仅作为补充,不能替代 Oracle 备份。

tar czf oracle_home.tar.gz /u01/app/oracle

⚠ 注意:运行中的数据库直接打包数据文件可能导致不一致。


五、备份后建议

  • 定期测试恢复(非常重要)
  • 备份归档日志
  • 备份 spfile / pfile
  • 异地保存备份(NFS / 云存储)

如果你能告诉我:

  • Oracle 版本(如 19c)
  • 是否生产环境
  • 是否需要自动定时备份

我可以给你一套 Debian + cron + RMAN 的自动备份方案。

0 踩