在 Debian 上“备份 Oracle”通常包含三个层面:
下面按常见场景给你一个实用方案。
适合所有正式环境。
# 切换到 oracle 用户
su - oracle
# 进入 RMAN
rman target /
# 执行全库备份
BACKUP DATABASE PLUS ARCHIVELOG;
备份默认在 Fast Recovery Area(闪回区)。
查看备份位置:
SELECT * FROM v$recovery_file_dest;
备份文件应复制到安全位置:
cp -r /u01/app/oracle/fast_recovery_area /backup/oracle_rman
适合小规模或迁移。
expdp system/password FULL=Y DIRECTORY=DATA_PUMP_DIR DUMPFILE=full.dmp LOGFILE=expdp.log
查看目录:
SELECT * FROM dba_directories;
tar czvf oracle_home.tar.gz /u01/app/oracle
/etc/oratab
/u01/app/oracle/product/*/dbhome_1/network/admin/*.ora
/u01/app/oracle/product/*/dbhome_1/dbs/
示例:
tar czvf oracle_conf.tar.gz \
/etc/oratab \
/u01/app/oracle/product/*/dbhome_1/network/admin \
/u01/app/oracle/product/*/dbhome_1/dbs
rsync -avz /u01 /backup/server_oracle/
lvcreate --size 10G --snapshot --name oracle_snap /dev/vg00/oracle
| 项目 | 建议 |
|---|---|
| RMAN | 每天增量,每周全备 |
| 归档日志 | 实时备份 |
| 配置文件 | 每次变更后备份 |
| 异地备份 | 必须 |
impdp system/password FULL=Y如果你愿意,可以告诉我:
我可以给你更精确的备份脚本。