RMAN - 备份与恢复 之一

本文深入介绍了Oracle的RMAN(恢复管理器)工具,包括其基础理论、RMAN组件与概念、使用方法如命令行接口、脚本编写,以及RMAN的配置与备份恢复策略。RMAN可用于全备份、增量备份、镜像拷贝,支持恢复目录管理和自动备份控制文件。文章详细阐述了RMAN的备份集合、备份片、恢复目录同步、删除备份、批处理和脚本执行等内容,是理解与操作Oracle数据库备份恢复的重要指南。
摘要由CSDN通过智能技术生成

1.1  基础理论

恢复可以分为完全恢复不完全恢复

完全数据库恢复是恢复到故障发生前的状态,所有已经提交的操作都进行恢复,确保数据库不丢失任何数据,完全恢复只用于归档模式。

不完全数据库恢复是将数据库恢复到备份点与介质失败点之间某个时刻的状态,并不是恢复所有提交的操作,不完全恢复可能丢失部分数据。

任何类型的恢复包括两个阶段:前滚阶段和回滚(回退)阶段。 在前滚恢复阶段(roll-forward recovery),恢复管理器应用必要的事务日志组“重做”(REDO)所有提交的不在数据库数据文件中的事务 。回滚阶段,在前滚恢复后,Oracle必须执行回滚恢复(roll-back recovery)。 由于一些未完成的事务对数据库的修改信息已经提交到数据库,为保证数据库的一致性,需要清除这些事务对数据库的修改,数据库应执行回滚操作(UNDO),强制撤销这些未完成事务。

1.2  RMAN(备份与恢复管理器)

RMAN 是ORACLE 提供的一个备份与恢复的工具,可以用来备份和还原数据库文件、归档日志和控制文件。它也可以用来执行完全或不完全的数据库恢复。RMAN可以由命令行接口或者OEM的Backup Manager GUI 来控制。

 

RMAN备份形式

  1、镜像复制(Image Copies)

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

 

  2、备份集(Backup Sets)

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

 

1.3  基本知识

1.3.1 RMAN的组件、概念

1.3.1.1   RMAN 组件

Target Database: (目标数据库)

就是需要 RMAN 对其进行备份与恢复的数据库,RMAN 可以备份数据文件,控制文件,归档日志,spfile。(注意:RMAN不能用于备份联机日志、初始化参数文件和口令文件)

Server Session: (服务器会话)

RMAN 启动数据库上的Oracle 服务器进程,将建立一个与目标数据库的会话。由目标数据库上的服务器进程进行备份、还原、恢复的实际操作。

服务器进程

RMAN 的服务进程是一个后台进程,用于与RMAN 工具与数据库之间的通信,也用于RMAN 工具与磁盘/磁带等 I/O 设置之间的通信,服务进程负责备份与恢复的所有工作,将产生一个服务进程。

Channel: (通道)

一个通道是RMAN和目标数据库之间的一个连接,"allocate channel"命令在目标数据库启动一个服务器进程,同时必须定义服务器进程执行备份或者恢复操作使用的I/O 类型。

通道控制命令可以用来:

(1) 控制RMAN 使用的O/S资源,影响并行度

(2) 指定I/O带宽的限制值(设置limit read rate 参数)

(3) 定义备份片大小的限制(设置limit kbytes)

(4) 指定当前打开文件的限制值(设置limit maxopenfiles)

recovery catalog: (恢复目录)

用来保存备份与恢复信息的一个数据库,不建议创建在目标数据库上。RMAN 利用恢复目录记载的信息去判断如何执行需要的备份恢复操作。如果不采用恢复目录,备份信息可以存在于目标数据库的control file中。如果存放在目标数据库的control file 中,控件文件会不断增长,不能保存RMAN 的Script。

CONTROL_FILE_RECORD_KEEP_TIME (default=7):控件文件中RMAN 信息保存的最短时间。

使用恢复目录的优势: 可以存储脚本,记载较长时间的备份恢复操作。RMAN Repository: (RMAN 恢复目录数据库)存放recovery catalog(恢复目录)的数据库。建议为恢复目录数据库创建一个单独的数据库。

MML: (媒体管理库)

Media Management Layer (MML)是第三方工具或软件,用于管理对磁带的读写与文件的跟踪管理。如果你想直接通过 RMAN 备份到磁带上,就必须配置媒体管理层,媒体管理层的工具如备份软件可以调用RMAN来进行备份与恢复。

1.3.1.2   概念述语

Backup Sets (备份集合)

备份集合的特性:包括一个或多个数据文件或归档日志,以oracle 专有的格式保存,有一个完全的所有的备份片集合构成,构成一个完全备份或增量备份。

Backup Pieces (备份片)

一个备份集由若干个备份片组成。每个备份片是一个单独的输出文件。一个备份片的大小是有限制的;如果没有大小的限制,备份集就只由一个备份片构成。备份片的大小不能大于使用的文件系统所支持的文件长度的最大值。

Image Copies镜像备份

镜像备份是独立文件(数据文件、归档日志、控制文件)的备份。它很类似操作系统级的文件备份。它不是备份集或备份片,也没有被压缩。

Full backup Sets全备份集合

全备份是一个或多个数据文件中使用过的数据块的的备份。没有使用过的数据块是不被备份的,也就是说,oracle 进行备份集合的压缩。

Incremental backup sets增量备份集合

增量备份是指备份一个或多个数据文件的自从上一次同一级别的或更低级别的备份以来被修改过的数据块。与完全备份相同,增量备份也进行压缩。

File multiplexing多个数据文件可以在一个备份集中。

Recovery catalog resyncing 恢复目录同步

使用恢复管理器执行backup、copy、restore 或者switch 命令时,恢复目录自动进行更新,但是有关日志与归档日志信息没有自动记入恢复目录。需要进行目录同步。使用resync

 

1.3.2 RMAN的使用:命令行接口与脚本

数据库状态

RMAN恢复目录数据库: 必须OPEN

目标数据库: 根据不同情况,必须MOUNT或OPEN

 

1.3.2.1   连接本地数据库

 

C:\Documents and Settings\Administrator>set oracle_sid=jssweb

C:\Documents and Settings\Administrator>rman target /

 

 

或者

 

复制代码
C:\Documents and Settings\Administrator>set oracle_sid=jssweb

C:\Documents and Settings\Administrator>rman

恢复管理器: 版本9.2.0.1.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

RMAN> connect target /
复制代码

 

 

 

1.3.2.2   连接远程数据库

如果要连接的目标数据库是一个远程数据库,那么必须在建立连接时指定一个有效的网络服务名,同时你本地的tnsname.ora文件中也必须已经建立了该网络服务名的正确配置。示例如下:

 

复制代码
C:\Documents and Settings\Administrator>rman target sys/change_on_install@testdb

恢复管理器: 版本9.2.0.1.0 - Production Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved. 连接到目标数据库: TESTDB (DBID=2220262593) RMAN>
复制代码

当然,在这里你也可以同样先启动rman,再通过connect创建连接。具体示例与上类似,如果再做演示那这个环节不仅是弱,而是超弱,即使坚定如我也承受不了如此强烈的呕吐加鄙视的欲望,所以还是做罢吧

 

1.3.2.3   退出RMAN

哈哈,退出就太简单啦,敲个EXIT即可 

备注:在启动rman时可以指定日志输出,之前的示例中均没有指定,rman就将执行结果直接打印到屏幕了,如果我们以后写了一堆超长的rman批处理放在后台执行,可能会希望能够把执行日志记录下来备查,这个时候日志输出功能就用上了。这个功能也非常简单,如下:

 

C:\Documents and Settings\Administrator>rman target / log d:\logs\rman_log.txt

RMAN>

 

rman会将执行的结果直接输出到指定的d:\logs\rman_log.txt文件,一旦脚本放入后台执行出现问题,我们可以根据rman_log文件来辅助分析。

使用带恢复目录的RMAN, 只需在RMAN后加上 CATALOG即可。

 

1.3.2.4   启动、关闭数据库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值