RMAN 备份与恢复

1、RMAN
RMAN是执行备份和恢复操作的客户端应用程序。最简单的RMAN只包括两个组件:RMAN命令执行器与目标数据库。DBA就是在RMAN命令执行器中执行备份与恢复操作,然后由RMAN命令执行器对目标数据库进行相应的操作。

2、启动RMAN
运行–rman target system/nocatalog
RMAN>show all–显示当前rman配置
RMAN 备份与恢复_第1张图片

3、 RMAN会话与服务器进程通信
对RMAN的配置主要针对其通道进行。RMAN在执行数据库备份与恢复操作时,都要使用服务器进程,启动服务器进程是通过分配通道来实现的。当服务器进程执行备份和恢复操作时,只有一个RMAN会话与分配的服务器进程进行通信,如下图所示。
RMAN 备份与恢复_第2张图片
4、RMAN分配通道

RMAN>run{
allocate channel ch_1 device type DISK --分配通道ch_1 驱动方式为磁盘
format = 'd:\oraclebf\%u_%c.bak'; --备份路径及格式,路径需在磁盘中提前创建
backup tablespace system,users,tbs_gwn channel ch_1;--备份system,users,tbs_gwn表空间
}

RMAN 备份与恢复_第3张图片
5、RMAN备份策略
RMAN可以进行的两种类型的备份,即完全备份(FULL BACKUP)和增量备份(INCREMENTAL BACKP)。在进行完全备份时,RMAN会将数据文件中除空白数据块之外的所有数据块都复制到备份集中。需要注意,在RMAN中可以对数据文件进行完全备份或者增量备份,但是对控制文件和日志文件只能进行完全备份。
与完全备份相反,在进行增量备份时RMAN也会读取整个数据文件,但是只会备份与上一次备份相比发生了变化的数据块。RMAN可以对单独的数据文件、表空间、或者整个数据库进行增量备份。

6、rman模式下备份数据库

RMAN>backup database format 'D:\OracleFiles\Backup\oradb_%Y_%M_%D_%U.bak' maxsetsize 2G;

RMAN 备份与恢复_第4张图片

RMAN>list backup of database;--显示备份集

RMAN 备份与恢复_第5张图片
7、RMAN模式下,修改SQL命令

ALTER SYSTEM ARCHIVE LOG CURRENT; --对数据库中的所有实例执行日志切换
RMAN>SQL'ALTER SYSTEM ARCHIVE LOG CURRENT';

在这里插入图片描述
8、rman模式下备份表空间

RMAN>run{
allocate channel ch_1 type disk;
backup tablespace tbs_gwn
format 'F:\oraclebf\%d_%p_%t_%c.dbf';
}

RMAN 备份与恢复_第6张图片
RMAN 备份与恢复_第7张图片
9、rman模式下备份数据文件
RMAN 备份与恢复_第8张图片
RMAN 备份与恢复_第9张图片
10、rman模式下备份控制文件

RMAN>backup current controlfile;

RMAN 备份与恢复_第10张图片
RMAN 备份与恢复_第11张图片
11、rman模式下备份归档重做日志文件

RMAN>backup archivelog all delete all input;

RMAN 备份与恢复_第12张图片
RMAN 备份与恢复_第13张图片
12、rman模式下备份数据库与还原
以非归档模式为例
RMAN 备份与恢复_第14张图片
RMAN 备份与恢复_第15张图片

RMAN>run{
allocate channel ch_1 type disk;
backup database
format 'F:\OracleFiles\Backup\orcl_%t_%u.bak';
}

RMAN 备份与恢复_第16张图片

RMAN>run{
allocate channel ch_1 type disk;
restore database;
}
SQL>

RMAN 备份与恢复_第17张图片
RMAN 备份与恢复_第18张图片
RMAN 备份与恢复_第19张图片
RMAN 备份与恢复_第20张图片
RMAN 备份与恢复_第21张图片
RMAN 备份与恢复_第22张图片
RMAN 备份与恢复_第23张图片

13、RMAN模式下 基于时间的不完整恢复数据库
将数据库启动到装载模式
RMAN 备份与恢复_第24张图片
备份数据库和归档日志

RMAN>run{
allocate channel ch_1 type disk;
allocate channel ch_2 type disk;
backup database format 'F:\OracleFiles\Backup\database_%t_%u_%c.bak';
backup archivelog all format 'F:\OracleFiles\Backup\archive_%t_%u_%c.bak';
}

RMAN 备份与恢复_第25张图片
RMAN 备份与恢复_第26张图片
查询当前时间作为恢复时间点
RMAN 备份与恢复_第27张图片
表中插入数据用以验证恢复结果
RMAN 备份与恢复_第28张图片
按照时间节点还原数据库
RMAN 备份与恢复_第29张图片
RMAN 备份与恢复_第30张图片
RMAN 备份与恢复_第31张图片
还原成功后,查询数据以验证是否还原成功
RMAN 备份与恢复_第32张图片
14、SCN号 system change number
SCN是当Oracle数据库更新后,由DBMS自动维护去累积递增的一个数字。Oracle数据库中一共有4种SCN分别为:
系统检查点SCN: 系统检查点SCN位于控制文件中,当检查点进程启动时(ckpt),Oracle就把系统检查点的SCN存储到控制文件中。该SCN是全局范围的,当发生文件级别的SCN时,例如将表空间置于只读状态,则不会更新系统检查点SCN。
scn是个数字,是一串数字。 是由一个时间经过一个函数算过来的, 同样的它经过一个函数把scn转换成一个时间。 也就是scn其实就是一个时间。

你可能感兴趣的:(数据库)