求server 2008 R2 rman 备份、恢复oracle数据库(生产库)详细的流程!!

2025-06-22 11:48:25
推荐回答(1个)
回答1:

Recovery Manager(RMAN),是一种用于集备份(backup)、还原(restore)和恢复(recover)数据库于一体的Oracle 工具。能够备份整个数据库、表空间、数据文件、控制文件、归档文件以及Spfile参数文件。支持增量数据块级别的备份 和块级别的介质恢复,可以保存频繁执行的备份恢复脚本,可以实现数据库的克隆、使用RMAN建立备用数据库, 支持镜像备份与备份集,可以备份到磁盘与磁带, 管理备份与恢复任务,可增加备份并发度或限制I/O减少备份给数据库带来的影响,在备份期间检查损坏的数据块,支持在备份期间使用压缩特性来减少磁盘空间的占用。

在Windows操作系统中为rman.exe,在Unix系统中为rman。

在用rman做备份时要确定数据库archive处于Enabled状态
sqlplus>archive log list
如果不是要打开
shutdown immediate;
startup mount;
alter database archivelog;
RMAN> backup format '/u01/app/oracle/rmanbak/lf_%d_%U' archivelog all delete input;   --delete input 删除所有已经备份过的归档日志
RMAN> backup archivelog all delete input format '/u01/app/oracle/rmanbak/lf_%d_%U';
full备份:
backup format 'u01/rmbak/full_%T_%u.bak' database plus archivelog;

0级增量备份:
run{                                 
    allocate channel ch1 type disk;
    backup incremental level 0 database
    format '/u01/bk/rmbk/Inc_0_%U'
    tag=Inc_0;
    release channel ch1;}

1级增量备份:
run{                                 
    allocate channel ch1 type disk;
    backup incremental level 1 database
    format '/u01/bk/rmbk/Inc_1_%U'
    tag=Inc_1;
    release channel ch1;}
一个典型的增量备份案例:
星期天晚上  - level 0 backup performed
星期一晚上  - level 2 backup performed
星期二晚上  - level 2 backup performed
星期三晚上  - level 1 backup performed
星期四晚上  - level 2 backup performed
星期五晚上  - level 2 backup performed
星期六晚上  - level 2 backup performed

做到自动一周备份计划:
1.自动备份:备份脚本+crontab
    三个脚本名字:
    bakl0
    bakl1
    bakl2
2.执行脚本:
     rman target / msglog=bak_0.log cmdfile=bakl0
     rman target / msglog=bak_1.log cmdfile=bakl1
     rman target / msglog=bak_2.log cmdfile=bakl2
脚本:
run{                                 
    allocate channel ch1 type disk;  --备份到硬盘上,分配一个通道
    backup incremental level 0 database   --0级备份
    format '/u01/bk/rmbk/Inc_0_%u_%T'   --存放的位置
    tag=Inc_0;   --标签
    release channel ch1;  --释放通道
}