龙空技术网

详解Oracle不同损坏级别的备份与恢复

老王谈运维 5600

前言:

此刻兄弟们对“oracle恢复到0级备份”大体比较讲究,兄弟们都需要知道一些“oracle恢复到0级备份”的相关内容。那么小编同时在网摘上网罗了一些有关“oracle恢复到0级备份””的相关知识,希望小伙伴们能喜欢,大家快快来了解一下吧!

本文出自头条号老王谈运维,转载请说明出处。

对于数据库运维人员,数据的备份和恢复非常重要。数据的丢失往往会给企业带来巨大的损失,因此在保证数据不丢失的情况来提升系统的性能是对DBA最基础的要求。

上一篇文章小编总结了Oracle不同损坏级别的恢复,介绍了不同程度的数据库损坏合适的数据恢复方式(地址:)。

今天主要讲述 Oracle 基于 rman 在各级别下的备份,包括全备、增量备份、表空间、数据文件、控制文件、归档日志文件等,方便大家在工作中可以根据实际场景实际需求,选择合适的备份方法及备份方式。

库完全备份

1.1 使用场景

在 Oracle 数据库的数据量不大的情况下。

1.2 采用备份集的方法

rman> run{allocate channel c1 device type disk;backup database FORMAT ’ /flash_recovery_area/backup_U%.backupset’plus archivelog delete input;release channel c1;}

1.3 采用数据镜像的备份方式

数据库镜像备份采用COPY命令,或BACKUP命令的AS COPY选项。例如在面面的备份示例中,进行了数据库的镜像完全备份:

rman>run{allocate channel c1 device type disk;backup as copy database plus archivelog delete input;release channel c1;}
增量备份

2.1 使用场景

Oracle 数据库的数据量较大,如果每次都全备,会比较耗时,这时通常是采用增量备份,不过需要注意的是增量备份是以0级的全备为基础的。例如:你可以周日进行一次全备,1-6进行增量备份。

2.2 使用方法

1)数据库的0级备份

rman> run{allocate channel c1 device type disk;backup incremental level=0 database plus archivelog delete input;release channel c1;}

说明:数据库的0级备份就是oracle的全备,但与普通的全备不同的是可以在0级备份基础上进行增量备份,而普通的全备此没有此功能。

2)数据库的1级备份

rman> run{allocate channel c1 device type disk;backup incremental level=1 database plus archivelog delete input;release channel c1;}

3)增量累计备份 在增量备份中,若干次的同级、上级增量备份可以被合并,称为增量的“累计”备份。下面的示例描述了进行增量累计备份的过程。所有0级备份后的1级备份被本次备份合并,备份基于磁盘进行,申请了两个磁盘通道。同时备份归档日志,备份完成后即删除:

rman>run{allocate channel c1 device c1 type disk;allocate channel c2 device c2 type disk;backup incremental level=1 Cumulative database plus archivelog delete input;release channel c1;release channel c2;}
备份数据文件

3.1使用场景

如果 Oracle 数据库中只有一个或若干表空间的数据文件数据变化频繁,则 Oracle 也支持仅对这些数据文件或对应的表空间进行备份。

3.2 使用方法

rman>run{allocate channel c1 device type disk;allocate channel c2 device type disk; backup datafile 4,5 filesperset=1release channel c1;release channel c2;} 
备份表空间

4.1 使用场景

​ 使用场景同单独备份数据文件

4.2 使用过程

rman>run{allocate channel c1 device type disk;allocate channel c2 device type disk;backup tablespace USERS FILESPERSET=1;release channel c1;release channel c2;}

通过下面的命令检查表空间的备份结果:

rman>list backup of tablespace users;
备份控制文件

5.1 使用场景

数据库的整体迁移,数据文件的目录发生改变,此时需要单独备份控制文件至跟踪文件中。

5.2 使用过程

方法一: 将控制文件自动备份功能打开:

RMAN>CONFIGURE CONTROLFILE AUTOBACKUP on;

方法二:单独地备份控制文件

RMAN>BACKUP CURRENT CONTROLFILE;

方法三:备份其他数据库文件时附带备份控制文件

RMAN>BACKUP DATABASE INCLUDE CURRENT CONTROLFILE;

检查备份结果

RMAN>list backup of controlfile;
备份归档日志

6.1 使用场景

备份数据库的时候没有备份归档日志文件,此时就需要对归档日志文件进行单独备份。

6.2 使用方法

1)查看系统归档日志信息

RMAN>list archivelog all;

2)备份所有归档

RMAN>backup archivelog all delete all input format '.......';

但是,在一般情况下,数据库备份计划一般通过在BACKUP DATABASE中指定PLUS ARCHIVELOG选项来直接进行归档文件的备份,备份期间,RMAN对当前联机重做日志文件进行归档,然后对当前未备份归档日志进行备份。这样,这个备份集将尽可能地包含了可用于恢复的素材,将数据库恢复到一个一致性的状态。

RMAN>run{alllocate channel c1 device type disk;allocate channel c2 device type disk;backup incremental level=0 database plus archivelog delete input;release channel c1;release channel c2;}

网站崩溃找不到原因?平台搭建无从下手?热门技术不想落伍?想要变强找不到资料?

加入[IT拯救联盟],让大牛和同伴拯救你,带你装x带你飞。定期干货分享、大牛专业解答、实用IT工具优选.....

私信小编“联盟”,即可加入我们~

标签: #oracle恢复到0级备份