关于Oracle的rman备份操作指南
操作流程
1 登录 Oracle 并检查环境变量 可以先看下空间还有多大 df -h
powershell
su - oracle
env | grep -i oracle
# 重点确认
echo $ORACLE_SID
echo $ORACLE_HOME
which sqlplus
which rman
2 确认并开启归档模式
powershell
sqlplus / as sysdba
SQL> archive log list;
若显示 Database log mode: No Archive Mode→ 需开启归档模式:
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;
SQL> archive log list; -- 确认已开启
SQL> exit
⚠️ 开启前确保归档目录有足够空间,生产环境请在维护窗口操作。
3 配置快速恢复区(FRA)或自定义备份目录
powershell
3.1 创建目录并授权(root 或 sudo)
sudo mkdir -p /backup/oracle/fra
sudo chown -R oracle:oinstall /backup/oracle
sudo chmod -R 775 /backup/oracle
3.2 验证 oracle 用户可访问
su - oracle
cd /backup/oracle/fra
touch test.tmp && rm test.tmp
3.3 设置 FRA 参数
sqlplus / as sysdba
SQL> alter system set db_recovery_file_dest='/backup/oracle/fra' scope=spfile;
SQL> alter system set db_recovery_file_dest_size=10G scope=spfile;
SQL> shutdown immediate;
SQL> startup;
SQL> show parameter db_recovery_file_dest;
SQL> exit
注:10G 可按需调整;确认实例使用 spfile (show parameter spfile)。
4 RMAN 全库备份(热备份)
powershell
rman target /
4.1 配置备份参数(可选)
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET; 并行度与压缩视 CPU/IO 能力而定。
4.2 执行全库备份
BACKUP DATABASE PLUS ARCHIVELOG;
备份内容:所有数据文件 + 控制文件 + SPFILE + 所有可用归档日志
备份片命名规则:o1_mf_nnndf_...bkp(数据文件)、o1_mf_ncnnf_...bkp(控制文件)、o1_mf_annnn_...bkp(归档日志)
4.3 验证备份
LIST BACKUP SUMMARY;
LIST BACKUP OF DATABASE;
LIST BACKUP OF ARCHIVELOG ALL;
检查状态均为 AVAILABLE。
查看备份文件:
ls -lh /backup/oracle/fra/ORCL/backupset/