2022年Oracle数据库备份与恢复之四RMAN .pdf
《2022年Oracle数据库备份与恢复之四RMAN .pdf》由会员分享,可在线阅读,更多相关《2022年Oracle数据库备份与恢复之四RMAN .pdf(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Oracle 数据库备份与恢复之四:RMAN(备份与恢复管理器 ) RMAN 是 ORACLE 提供的一个备份与恢复的工具,可以用来备份和还原数据库文件、归档日志和控制文件。它也可以用来执行完全或不完全的数据库恢复。RMAN 可以由命令行接口或者OEM 的 Backup Manager GUI 来控制。4.1 基本知识4.1.1 RMAN 的组件、概念1. RMAN 主要包括以下组件:Target Database :(目标数据库)就是需要RMAN 对其进行备份与恢复的数据库,RMAN 可以备份数据文件,控制文件,归档日志, spfile. (注意: RMAN 不能用于备份联机日志、初始化参数
2、文件和口令文件)Server Session :( 服务器 会话)RMAN 启动数据库上的Oracle 服务器 进程,将建立一个与目标数据库的会话。由目标数据库上的服务器进程进行备份、还原、恢复的实际操作。服务器进程RMAN 的服务进程是一个后台进程,用于与RMAN 工具与数据库之间的通信,也用于RMAN 工具与磁盘 /磁带等 I/O 设置之间的通信,服务进程负责备份与恢复的所有工作,在如下情况将产生一个服务进程:当连接到目标数据库分配一个新的通道Channel :(通道)一个通道是RMAN 和目标数据库之间的一个连接,allocate channel 命令在目标数据库启动一个服务器进程,同时
3、必须定义服务器进程执行备份或者恢复操作使用的I/O 类型。通道控制命令可以用来:控制 RMAN 使用的O/S 资源,影响并行度指定 I/O 带宽的限制值(设置limit read rate 参数)定义备份片大小的限制(设置limit kbytes )指定当前打开文件的限制值(设置limit maxopenfiles)recovery catalog : (恢复目录)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 44 页 - - - - - - - - - 用来保存备份与
4、恢复信息的一个数据库,不建议创建在目标数据库上。RMAN 利用恢复目录记载的信息去判断如何执行需要的备份恢复操作。如果不采用恢复目录,备份信息可以存在于目标数据库的control file 中。如果存放在目标数据库的control file 中,控件文件会不断增长,不能保存RMAN 的Script. CONTROL_FILE_RECORD_KEEP_TIME (default=7 ):控件文件中RMAN 信息保存的最短时间。使用恢复目录的优势:可以 存储 脚本,记载较长时间的备份恢复操作。RMAN Repository :(RMAN 恢复目录数据库)存放 recovery catalog (恢
5、复目录)的数据库。建议为恢复目录数据库创建一个单独的数据库。MML: (媒体管理库)Media Management Layer (MML)是第三方工具或软件,用于管理对磁带的读写与文件的 跟踪管理。如果你想直接通过RMAN 备份到磁带上,就必须配置媒体管理层,媒体管理层的工具如备份软件可以调用RMAN 来进行备份与恢复。2.概念述语Backup Sets (备份集合)备份集合的特性:包括一个或多个数据文件或归档日志,以oracle 专有的格式保存,有一个完全的所有的备份片集合构成,构成一个完全备份或增量备份。Backup Pieces (备份片)一个备份集由若干个备份片组成。每个备份片是一个
6、单独的输出文件。一个备份片的大小是有限制的;如果没有大小的限制,备份集就只由一个备份片构成。备份片的大小不能大于使用的文件系统所支持的文件长度的最大值。Image Copies 镜像备份镜像备份是独立文件(数据文件、 归档日志、 控制文件) 的备份。 它很类似操作系统级的文件备份。它不是备份集或备份片,也没有被压缩。Full backup Sets 全备份集合全备份是一个或多个数据文件中使用过的数据块的的备份。没有使用过的数据块是不被备份的,也就是说,oracle 进行备份集合的压缩。Incremental backup sets 增量备份集合名师资料总结 - - -精品资料欢迎下载 - -
7、- - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 44 页 - - - - - - - - - 增量备份是指备份一个或多个数据文件的自从上一次同一级别的或更低级别的备份以来被修改过的数据块。与完全备份相同,增量备份也进行压缩。File multiplexing 多个数据文件可以在一个备份集中。Recovery catalog resyncing 恢复目录同步使用恢复管理器执行backup 、copy 、restore 或者switch 命令时,恢复目录自动进行更 新,但是有关日志与归档日志信息没有自动记入恢复目录。需要进行
8、目录同步。使用resync catalog 命令进行同步。RMAN resync catalog ;Incarnation 对应物在不完全恢复完成之后,通常需要使用resetlogs 选项来打开数据库。resetlogs 表示一个数据库逻辑生存期的结束和另一个数据库逻辑生存期的开始。数据库的逻辑生存期也被称为一个对应物( incarnation )。每次使用resetlogs 选项来打开数据库后都会创建一个新的数据库对应物。4.1.2 RMAN 的使用:命令行接口与脚本数据库状态: RMAN 恢复目录数据库:必须 OPEN 目标数据库:根据不同情况,必须MOUNT 或 OPEN 1. 使用不带
9、恢复目录的RMAN 设置目标数据库的ORACLE_SID ,执行: $ rman nocatalog RMAN connect target RMAN connect target user/pwddb 2. 使用带恢复目录的RMAN $ rman catalogrman/rman RMAN connecttarget / 连接本地数据库作为目标数据库RMAN connecttarget user/pwddb /连接远程数据库或$ rman catalogrman/rman targetuser/pwddb 3. 命令行接口1、单个执行RMAN backup database ;2、运行一个命
10、令块名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 44 页 - - - - - - - - - RMAN RUN 2 copy datafile 10 to 3 /oracle/prod/backup/prod_10.dbf;4 3、运行 存储 在恢复目录中的脚本:RMAN RUN EXECUTE SCRIPT backup_whole_db ;4、运行外部脚本:$ rman catalog rman/rman target / backup_db.rman $ rma
11、n cmdfile=backup.rman msglog=backup.log RMAN backup_db.rman RMAN RUN backup_db.rman 如果在 cron 中执行,注意在脚本中设置正确的环境变量,例:#set env export ORACLE_HOME=/opt/oracle/product/9.2 export ORACLE_SID=test export NLS_LANG=AMERICAN_AMERICA.zhs16gbk export PATH=$PATH :$ORACLE_HOME/bin rman cmdfile=backup_db.rman 4. 使
12、用脚本创建或者取代脚本:RMAN create script alloc_disk 2 # Allocates one disk 3 allocate channel dev1 type disk;4 setlimit channel dev1 kbytes 2097150 maxopenfiles 32 readrate 200;5 RMAN replace script rel_disk 2 # releases disk 3 release channel dev1;5 删除脚本: RMAN DELETE SCRIPT Level0Backup ;查看脚本: RMAN PRINT SCR
13、IPT Level0Backup ;运行脚本: RMAN RUN EXECUTE SCRIPT backup_whole_db ;5. 运行 OS 命令名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 44 页 - - - - - - - - - RMAN 支持通过执行host 命令暂时退出RMAN 的命令提示符而进入到操作系统的命令环境。6. 执行 SQL语句在RMAN 的命令提示符后输入SQL 命令,然后在一对单引号(双引号亦可)中输入要执行的SQL 语句, 例如: R
14、MAN SQL ALTER SYSTEM CHECKPOINT;对于 SELECT 语句,无法得到结果。可以先执行host 再用SQLPLUS. 4.2 RMAN 的配置4.2.1 建立 Recovery Catalog恢复目录(1)在目录数据库中创建恢复目录所用表空间:SQL create tablespace rman_ts datafile /xxx/rman_ts.dbf size 20M;(2)在目录数据库中创建RMAN 用户并授权:SQL create user rman identified by rman default tablespace rman_ts temporary
15、 tablespace temp quota unlimited on rman_ts;SQL grant connect , resource ,recovery_catalog_ownerto rman;(3)在目录数据库中创建恢复目录$ rman catalog rman/rman RMAN create catalog tablespace rman_ts;(4)登记目标数据库:一个恢复目录可以注册多个目标数据库,注册目标数据库的命令为:$ RMAN catalog rman/rman target user/pwd rcdb; RMAN register database ;4.2.
16、2 查看 RMAN 的默认设置SHOW 命令必须连接目标数据库RMAN show all RMAN show channel ;/ 通道分配RMAN show device type;/ IO 设备类型RMAN show retention policy;/ 保存策略RMAN show datafile backup copies;/ 多个备份的拷贝数目RMAN show maxsetsize ; / 备份集大小的最大值RMAN show exclude ;/ 不必备份的表空间名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师
17、精心整理 - - - - - - - 第 5 页,共 44 页 - - - - - - - - - RMAN show backup optimization;/ 备份的优化4.2.3 配置 RMAN 的默认设置1. 配置备份集文件的格式(format )RMAN configure channel device type disk format/u05/oracle/rmanback/%U;备份文件可以自定义各种各样的格式,如下%c 备份片的拷贝数%d 数据库名称 %D 位于该月中的第几天(DD)%M 位于该年中的第几月(MM )%F 一个基于DBID 唯一的名称, 这个格式的形式为c-II
18、IIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII 为该数据库的DBID ,YYYYMMDD 为日期, QQ 是一个1-256 的序列 %n 数据库名称,向右填补到最大八个字符%u 一个八个字符的名称代表备份集与创建时间 %p 该备份集中的备份片号,从 1 开始到创建的文件数%U 一个唯一的文件名,代表 %u_%p_%c %s 备份集的号 %t 备份集时间戳%T 年月日格式(YYYYMMDD)2. 配置默认IO 设备类型( device type )IO 设备类型可以是磁盘或者磁带,在默认的情况下是磁盘,可以通过如下的命令进行重新配置。RMAN configure defaul
19、t device t ype to disk; RMAN configure default device t ype to sbt;注意,如果换了一种IO 设备, 相应的配置也需要做修改,如 RMAN configure device type sbt parallelism 2;3. 配置自动分配的通道( Chanel )RMAN configure channel device type disk format /U01/ORACLE/BACKUP/%U在运行块中,手工指定通道分配,这样的话,将取代默认的通道分配。RMAN Run allocate channel cq type dis
20、k format=/u01/backup/%u.bak; 通道的一些特性:读的速率限制Allocate channel rate = integer 最大备份片大小限制Allocate channel maxpiecesize = integer 最大并发打开文件数(默认16)Allocate channel maxopenfile = integer 4. 配置默认的保存策略( Retention Policy )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 44 页
21、 - - - - - - - - - 保存策略是管理备份与副本有效期或者是否有效的一种方法。恢复数据库的时候Oracle不 考 虑 失效 的 备 份。我们可以定义两种保存策略:恢复窗口备份保存策略(recovery window backup retention policy )和冗余备份保存策略( redundancy backup retention policy )备份策略保持分为两个保持策略:一个是时间策略,决定至少有一个备份能恢复到指定的日期一个冗余策略,规定至少有几个冗余的备份。恢复窗口备份保存策略这种保存策略类型的使用基于数据库可能恢复到的最早的日期。例如,假设今天是星期一,此前
22、存在 3 个备份。 第一个备份在昨天生成的,第二个备份是上星期四生成的,而最后一个备份是10 天前备份的。 假如恢复窗口是7 天,那么昨天和上星期四的备份是有效备份,而10 天前的备份会成为废弃备份。下面的命令将恢复窗口配置为7 天: RMAN configure retention policy to recovery window of 7 days;冗余备份保存策略使用这种保存策略,RMAN 会从最新备份开是保留N 个数据备份,其余的废弃。例如,如果有四个备份,而冗余数是 3,那么最早的那个备份将被废弃。下面的命令将备份策略设置为3:RMAN configure retention po
23、licy to redundancy3;设置NONE 可以把使备份保持策略失效,Clear 将恢复默认的保持策略RMAN configure retention policy to none; 例:保 证 至 少有一个 备份能恢复到Sysdate-5 的时间点 上,之 前 的备份将标 记 为 Obsolete RMAN configure retention policy to recovery window of 5 days;至少需要有三个冗余的备份存在,如果多余三个备份以上的备份将标记为冗余RMAN configure retention policy to redundancy 5 ;
24、5. 配置多个备份的拷贝数目(backup copies )如果觉得单个备份集不放心,可以设置多个备份集的拷贝,如:RMAN configure datafile backup copies for device type disk to 2;RMAN configure archivelogbackup copies for device type disk to 2;如果指定了多个拷贝,可以在通道配置或者备份配置中指定多个拷贝地点:RMAN configure channel device type disk format /u01/backup/%U, /u02/backup/%U;RM
25、AN backup datafile n format /u01/backup/%U, /u02/backup/%U;6. 设置并行备份(ARALLELISM )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 44 页 - - - - - - - - - RMAN 支持并行备份与恢复,也可以在配置中指定默认的并行程度。如:RMAN configure device type disk parallelism 4;指定在以后的备份与恢复中,将采用并行度为4,同时开启4 个通
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年Oracle数据库备份与恢复之四RMAN 2022 Oracle 数据库 备份 恢复 RMAN
限制150内