`
liuzhaomin
  • 浏览: 204322 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

一步一步学RMAN第三篇 RMAN备份演练初级篇

阅读更多

前面我们已经知道了如何进入rman,以及rman的一些基本命令,相信大家定会觉着rman操作的简单,事实也确实如此,但万不要因此小视rman的强大,简单往往意味着灵活,灵活对于那些有心人则意味着主动权尽在掌握。

一、RMAN备份形式

  1、镜像复制(Image Copies)

镜像复制实际上就是数据文件、控制文件或归档文件的复制,与用户通过操作系统命令建立的文件复制实质一样,只不过RMAN是利用目标数据库中的服务进程来完成文件复制,而用户则是用操作系统命令。所以镜像复制的方式体现不出RMAN的优势,也并非我们讨论的重点,大家了解一下即可(啥?想知道镜像复制咋用?卡,问村长去~~~~~)。

  2、备份集(Backup Sets)

备份集是通过RMAN创建的逻辑备份对象。一个备份集中可以包含多个数据文件、控制文件或归档文件。备份集在物理上是由多个备份片段组成,每个备份片段是一个操作系统文件。

二、RMAN命令执行方式

  在进入演练之前,大家还有必要了解运行rman命令的方式,就目前已知的情况,共有4种运行方式。

  1、单个执行(没啥说的,之前的示例都是这种方式)

RMAN>backup database;

  

  2、批处理(呵呵,跳票的补上)

RMAN>RUN{

.......................

.......................

}

  批处理方式实质是将原来单个执行的命令组合到一起,并放在run{}之间,这种方式最大的好处是所有在run中的命令被视为一个作业,如果作业中任何一条命令执行失败,则整个命令停止执行,即失败命令后的其它命令都不会再被执行。这种方式是最常使用的方式,特别对于后台执行。

  3、运行脚本(又能细分为几种方式如下:)

C:\>rman TARGET / @backup_db.rman

RMAN> @backup_db.rman

RMAN> RUN { @backup_db.rman }

  运行存储在恢复目录中的脚本(需要首先为rman创建恢复目录)

RMAN> RUN { EXECUTE SCRIPT backup_whole_db };

  看看,够灵活吧。

  4、操作系统脚本(linux,windows环境下小有差异,但只是操作系统命令的不同)

C:\>rman cmdfile=backup_db.rman

明眼人看的出来,后两种其实是前面两种加上操作系统命令的综合应用。

三、对数据库进行全备

  1、使用backup database命令执行备份

RMAN> BACKUP DATABASE;

  执行上述命令后将对目标数据库中的所有数据文件进行备份,由于没有显式指定FORMAT参数,rman会自动为每个备份片段命名,并保存在ORACLE_HOME/database目录下。

  当然,也可以通过显式指定format参数来自定义备份片段的命令规则,比如:

RMAN> BACKUP DATABASE FORMAT 'D:\BACKUP\%U';

(关于%U的格式说明,请参考本篇外传。Ooo,外传好像还没写,没关系没关系,大家表着急,我保证大家在有生之年一定等的到的。)

2、通过list命令查看刚刚创建的备份信息:

RMAN> list backup of database;

正在使用目标数据库控制文件替代恢复目录

备份集列表

===================

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间

------- ---- -- ---------- ----------- ------------ ----------

11      Incr 0  827M       DISK        00:01:30     26-6月 -07

BP 关键字: 11   状态: AVAILABLE   标记:TAG20070629T150701

段名:D:\BACKUP\0CILGG8L_1_1

  备份集 11 中的数据文件列表

  文件 LV 类型 Ckp SCN    Ckp 时间   名称

  ---- -- ---- ---------- ---------- ----

  1    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\SYSTEM01.DBF

  2    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\UNDOTBS01.DBF

  3    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\DRSYS01.DBF

  4    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\EXAMPLE01.DBF

  5    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\INDX01.DBF

  6    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\ODM01.DBF

  7    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\TOOLS01.DBF

  8    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\USERS01.DBF

  9    0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\XDB01.DBF

  10   0  Incr 5233577896 26-6月 -07 F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA;

四、备份表空间

只要实例启动并处于加载状态,不论数据库是否打开,都可以在rman中对表空间进行备份,而且不需要像手动备份那样先'ALTER TABLESPACE ... BEGIN BACKUP'。例如:

RMAN> backup tablespace jweb;

启动 backup 于 26-6月 -07

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在启动 full 数据文件备份集

通道 ORA_DISK_1: 正在指定备份集中的数据文件

输入数据文件 fno=00010 name=F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA

通道 ORA_DISK_1: 正在启动段 1 于 26-6月 -07

通道 ORA_DISK_1: 已完成段 1 于 26-6月 -07

段 handle=F:\ORAHOME1\DATABASE\0JIM0BBV_1_1 comment=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:15

完成 backup 于 26-6月 -07

启动 Control File and SPFILE Autobackup 于 26-6月 -07

段 handle=D:\BACKUP\C-3391142503-20070704-00 comment=NONE

完成 Control File and SPFILE Autobackup 于 26-6月 -07

同样,我们在使用backup tablespace也可以通过显式指定format参数自定义备份片段名称。

我们再通过LIST BACKUP 查看一下备份:

RMAN> LIST BACKUP OF TABLESPACE JWEB;

发现有两份备份片段,复习一下2章的内容,删除其中一个备份(删除的方法非常多,下例使用删除backupset,有心的朋友不妨自己尝试一下通过其它方式删除指定备份片段)。

RMAN> DELETE BACKUPSET 18;

五、备份指定数据文件

首先可以先通过数据字典DBA_DATA_FILES查询出表空间对应的数据文件及其序号,例如:

select file_name,file_id,tablespace_name from dba_data_files

然后再通过BACKUP DATAFILE备份指定序号的数据文件,例如:

RMAN> BACKUP DATAFILE n;

如果要查看指定数据文件的备份,可以用:

RMAN> LIST BACKUP OF DATAFILE n;

注:n=指定的的数据文件序号,如果需要备份的数据文件有多个,n=多个序号,中间以逗号分隔即可。

六、备份控制文件

控制文件在ORACLE中的重要性是毋庸置疑的,你看,连RMAN都给予特殊的照顾,在RMAN中备份控制文件的方式是最多的。

1.最简单的方式,通过CONFIGURE命令将CONTROLFILE AUTOBACKUP置为ON。

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

然后你再通过rman做任何备份操作的同时,都会自动对控制文件做备份。

2.在自动备份打开的情况下,备份任意表空间操作时,RMAN均会自动对控制文件做备份。

3.手动执行备份命令。

RMAN> BACKUP CURRENT CONTROLFILE;

4.执行BACKUP时指定INCLUDE CURRENT CONTROLFILE参数,例如:

RMAN> BACKUP DATABASE INCLUDE CURRENT CONTROLFILE;

如果要查看备份的控制文件,可以通过:

RMAN> LIST BACKUP OF CONTROLFILE;

七、备份归档日志文件

归档日志对于数据库介质恢复相当关键,其虽然不像控制文件那样一旦损坏则数据库马上崩溃但重要性丝毫不减。归档日志文件能确保我们将数据库恢复到备份之前的任意时刻。在RMAN中备份归档日志有两种方式:

1、利用BACKUP ARCHIVELOG命令备份

RMAN> BACKUP ARCHIVELOG ALL;

2、在BACKUP过程中利用PLUS ARCHIVELOG参数备份,例如:

RMAN> BACKUP DATABASE PLUS ARCHIVELOG;

则在备份数据库的同时自动对所有归档文件进行备份。这种方式与上种有什么区别呢,区别太明显了,BACKUP.....PLUS ARCHIVELOG命令在备份过程中会依次执行下列步骤:

1>.运行ALTER SYSTEM ARCHIVE LOG CURRENT语句对当前redolog进行归档。

2>.执行BACKUP ARCHIVELOG ALL命令备份所有已归档日志。

3>.执行BACKUP命令对指定项进行备份。

4>.再次运行ALTER SYSTEM ARCHIVE LOG CURRENT对当前redolog归档。

5>.对新生成的尚未备份的归档文件进行备份。

在完成归档日志文件备份后,我们通过需要删除已备份过的归档文件(归档文件记录下了数据库进行过的所有操作,如果您的数据库操作频繁而且量大,那归档文件大小也是相当恐怖,备份后删除释放存储空间是相当有必要地)。RMAN提供了DELETE ALL INPUT参数,加在BACKUP命令后,则会在完成备份后自动删除归档目录中已备份的归档日志。

完成备份之后,可以通过下列命令查看已备份的归档日志片段:

RMAN> LIST BACKUP OF ARCHIVELOG ALL;

综述:上述示例中出现的命令格式较多,但细细看来是否能发现些格式上的规律?比如查看备份基本都是LIST BACKUP OF备份项名称,如果想自定义片段的话则在备份命令后加上FORMAT参数(后三项没有列举加format参的示例,大家千万表以为是不可以哟,俺都说乐rman是超灵活地泥,大家一定要多多尝试,反正执行的是备份操作不是删除,又搞不坏目标数据库,你还有啥可担心的泥)。

分享到:
评论

相关推荐

    [三思笔记] 一步一步学RMAN

    三、rman备份演练初级篇 四、rman备份演练进阶篇 五、rman外传-基础资料篇1 六、实战rman备份 七、rman外传-基础资料篇2 八、演练rman恢复 九、实战rman恢复(1)丢失控制文件的恢复 十、实战rman恢复(2)恢复到异机 11...

    [三思笔记]一步一步学RMAN

    《[三思笔记]一步一步学rman(03)-rman备份演练初级篇.doc》 《[三思笔记]一步一步学rman(04)-rman备份演练进阶篇.doc》 《[三思笔记]一步一步学rman(05)-rman基础知识补充(1).doc》 《[三思笔记]一步一步学rman(06)-...

    一步一步学RMAN进入rman[1].zip

    进入实战阶段,"[三思笔记]一步一步学RMAN(03)-rman备份演练初级篇.doc" 和 "[三思笔记]一步一步学RMAN(04)-rman备份演练进阶篇.doc" 将带你进行实际的备份和恢复操作。初级篇可能涵盖简单的全库备份,增量备份,...

    [三思笔记]一步一步学RMAN完整版oracle备份恢复

    [三思笔记]一步一步学RMAN完整版oracle备份恢复 [三思笔记]一步一步学RMAN完整版oracle备份恢复

    一步一步学RMAN oracle备份RMAN使用教程

    三、rman备份演练初级篇 四、rman备份演练进阶篇 五、rman外传-基础资料篇1 六、实战rman备份 七、rman外传-基础资料篇2 八、演练rman恢复 九、实战rman恢复(1)丢失控制文件的恢复 十、实战rman恢复(2)恢复到异机 11...

    一步一步学RMAN

    ### 一步一步学RMAN #### 一、RMAN简介与基础知识 **RMAN**(Recovery Manager)是Oracle数据库提供的一款强大的数据备份与恢复工具。它不仅能够支持各种类型的备份需求,还可以进行灾难恢复,是Oracle DBA必备的...

    三思笔记 一步一步学rman.pdf

    《三思笔记 一步一步学RMAN》:深入解析RMAN备份与恢复机制 RMAN(Recovery Manager),作为Oracle数据库的官方备份与恢复工具,其重要性不言而喻。在《三思笔记 一步一步学RMAN》这份资料中,作者以轻松幽默的文风...

    一步一步学RMAN(排版修改版)

    一步一步学RMAN(排版修改版)

    rman备份初级演练

    总的来说,"rman备份初级演练"是一次对Oracle数据库管理基础技能的锻炼,通过这些基础练习,我们可以掌握RMAN的基本操作,为更复杂的数据库管理和恢复场景打下坚实基础。记住,理论与实践相结合是学习任何技术的最佳...

    一步一步学RMAN完整版Oracle备份恢复

    RMAN在Oracle备份和恢复流程中的重要性不言而喻,它不仅支持传统备份,比如物理备份和逻辑备份,还能进行增量备份,并且能够直接读取数据库文件,提供更为详细的备份信息。 首先,要使用RMAN进行备份和恢复,必须...

    三思笔记--rman chm版本

    第三篇 RMAN备份演练初级篇 第四篇 RMAN备份演练进阶篇 第五篇 RMAN基础知识补充 一 第六篇 实战RMAN备份 第七篇 RMAN基础知识补充 二 第八篇 演练RMAN恢复 第九篇 实战rman恢复(1)丢失控制文件的恢复 第十篇 实战...

    一步一步学rman

    【RMAN】是Oracle数据库的恢复管理器(Recovery Manager),它主要用于数据库的备份、恢复以及维护任务。本文将逐步介绍如何使用RMAN。 首先,使用RMAN进行任何操作前,必须启动实例并加载数据库。这是RMAN工作的...

    一步一步学Rman 三思笔记

    在“一步一步学RMAN 三思笔记”这个资料中,你将深入了解到如何有效利用RMAN来保护你的Oracle数据库,确保数据的安全性和可用性。 一、RMAN的基础概念 1. RMAN备份类型:包括全备份、增量备份和差异备份。全备份会...

    一步一步学oracle10 RMAN

    通过这个“一步一步学RMAN”教程,你将学习如何配置RMAN环境,创建备份策略,执行备份和恢复操作,以及如何利用恢复目录来优化管理。实践中,你将掌握RMAN的各种命令和参数,理解其工作原理,为实际的数据库管理打下...

    跟三思一步步学习Rman

    接下来,《[三思笔记]一步一步学RMAN(03)-rman备份演练初级篇.doc》和《[三思笔记]一步一步学RMAN(04)-rman备份演练进阶篇.doc》通过实例讲解了RMAN的备份演练。初级篇通常涵盖基本的全库备份和单个数据文件备份,而...

    一步一步学RMAN(写给初级入门者)

    ### 一步一步学RMAN(写给初级入门者) #### RMAN简介 RMAN(Recovery Manager)是Oracle数据库管理系统提供的一款强大的数据备份与恢复工具。它不仅能够支持各种类型的备份需求,还能有效处理数据库级别的灾难恢复...

    教你一步一步学RMAN(三思笔记)

    3. 在`run`块中,指定备份类型,如`backup database`进行全库备份,或者`backup tablespace`备份特定表空间。 4. 可以添加选项,如`incremental level 0`指定增量级别,`format`定义备份文件的命名格式。 5. 结束`...

    一步一步学RMAN做oracle数据库备份与恢复

    ### RMAN 在 Oracle 数据库备份与恢复中的应用详解 #### 一、RMAN 简介及重要性 RMAN(Recovery Manager)是 Oracle 提供的一种强大的工具,用于管理和自动化 Oracle 数据库的备份、恢复以及灾难恢复过程。它不仅...

Global site tag (gtag.js) - Google Analytics