管理的备份和恢复.ppt
《管理的备份和恢复.ppt》由会员分享,可在线阅读,更多相关《管理的备份和恢复.ppt(128页珍藏版)》请在三一办公上搜索。
1、手工备份恢复的缺点1、产生大量的重做日志2、需要手工记录大量的信息每个备份文件的位置、备份时间每个数据文件的位置等等Oracle提供了recovery manager工具,简称RMAN使得我们的备份工作极大的简化1、备份数据文件、归档日志、控制文件、spfile2、自动维护备份相关的元数据,例如备份文件的名称、完成备份的SCN号3、以数据块为单位进行备份,只备份使用过的数据块4、对备份出来的文件进行压缩5、自动检测数据块是否损坏6、支持增量备份等等,配置RMANRMAN的体系结构,RMAN可执行程序,Recover.bsp,目标数据库,Recovery catalog 数据库,MML,磁盘,闪
2、回恢复区,磁带库,1、RMAN要进行备份的数据库叫做目标数据库2、RMAN是一个客户端程序,需要建立到目标数据库的客户端连接,并在目标数据库上创建对应的服务器进程以及session,RMAN输入的各个命令,从客户端传递到服务器,由服务器进程负责执行,RMAN只能使用专用服务器连接,不能使用共享服务器连接3、备份过程中,RMAN读取目标数据库的控制文件,从而获得目标数据库里包含哪些数据文件、归档日志文件、以及各个检查点SCN,指导RMAN完成备份和恢复的具体操作4、RMAN获得了需要备份的文件列表以后,在将数据备份到备份介质上时,需要建立到这些备份介质的通道(channel)。一旦建立通道。数据
3、就会从该通道备份到指定的备份介质上,每次备份恢复,我们都可以创建多个通道以加快速度。5、RMAN将通道作为目标数据库上的服务器进程,会为每个通道都创建一个对应的服务器进程,同时,通道的类型就决定了要将数据库备份到哪种介质上,两种通道类型磁盘通道和磁带通道磁盘和闪回恢复区使用的都是磁盘通道磁带使用的磁带通道,需要借助MML(media management library),RMAN可以把备份的数据通过MML传递到磁带上,6、RMAN备份过程中,会产生较多的服务器进程(RMAN客户端以及通道),需要的内存较多,对于初始化参数sessions和processes都要相应的增加7、RMAN信息库(r
4、man repository),RMAN备份过程中产生的元数据,包括备份文件的名称、路径、完成备份的时间、检查点SCN等数据,RMAN信息库可以存放在两个位置目标数据库的控制文件恢复目录(recovery catalog)8、控制文件里面存放的记录分为两类可删除的记录(归档日志文件的历史记录以及RMAN备份的元数据)不可删除记录(数据文件、联机日志文件列表等)如果需要在控制文件中存放新的记录,则可以删除那些可删除部分,从而提供可用空间,注意:如果RMAN备份的元数据被删除,RMAN的备份数据就失去意义,因此RMAN备份的元数据很重要9、可以通过设置初始化参数controlfile_record
5、_keep_time来决定控制文件中可删除部分,该参数默认是7天,表示控制文件始终保持最近7天的可删除记录,7天前的备份信息、归档日志文件历史记录被删除,如果设置为0,表示不删除历史记录,那么控制文件的增长将会失控。因此RMAN的备份周期不能超过7天,10、RMAN提供了恢复目录用来存放RMAN信息库,RMAN恢复目录由几个表和存储过程组成,这些对象存放在一个schema下面,因为表用来存放RMAN备份的元数据,因此可以永久的保留下去,而不需要删除历史记录11、RMAN恢复目录是可选的,不是必须的,元数据通过目标数据库的控制文件传递到恢复目录,RMAN的元数据始终都存放一份在目标数据库的控制文
6、件中,不会因为恢复目录的存在而删除,使用RMAN完成备份以后,会将控制文件的RMAN元数据同步到恢复目录,默认情况下,控制文件中的信息保留7天,恢复目录永久保留。RMAN还可以同时为多个目标数据库服务,在同一个恢复目录里面,可以保留多个目标数据库的RMAN元数据12、如果使用恢复目录,则在使用RMAN时,除了建立到目标数据库的连接以外,还必须建立到恢复目录所在数据库的连接,在恢复目录数据库里面创建对应的服务器进程和session13、RMAN工具本身由两部分组成RMAN可执行程序:这是一个命令接口,提供了交互的界面,能够解释我们的RMAN命令,返回结果。在工作中,完成的实质性工作很少脚本文件r
7、ecover.bsp:备份恢复的实质性工作是由目标数据库的程序包完成的,对目标数据库的相应程序包的调用则是由文件recover.bsp实现的,bsp文件,里面全部是各种PL/SQL脚本块,事实上,RMAN界面输入的各种命令,都会被转换成对bsp文件中各个PL/SQL块的调用,并将相关的PL/SQL块传递到目标数据库上去执行,从而完成数据库的备份恢复操作,bsp才是RMAN工具的核心。bsp中包含的PL/SQL块,主要调用了目标数据库中以下两个程序包dbms_rcvman:用来读取目标数据库的控制文件信息,并将这些信息传给rman,从而rman可以获取要备份的文件列表,以及其他一些信息dbms_
8、backup_restore:完成具体的备份恢复工作,并在控制文件中写入备份的元数据两个数据包已经硬编码到数据库软件中,因此数据库在关闭的情况下也可以使用RMAN,14、RMAN备份恢复过程中,可能会需要关闭和启动数据库,因此在目标数据库上,必须使用具有sysdba权限的用户身份进行连接,如果没有使用操作系统认证,那么要注意密码文件不要丢失,密码文件应该定期的备份15、RMAN备份的最小单位是数据块,不是数据文件,RMAN备份时,总是一个数据块一个数据块的读取和写入,RMAN可以与DBWr进程协调一致,如果在备份过程中,发现是一个脏的数据块,可以等到DBWr进程将内存的内容刷新到数据文件以后,
9、才备份该脏数据块,因此不会出现分离数据块的情况,同时避免了使用begin backup,也就不会产生过多的重做日志,和手工的备份是两种机制16、RMAN只会对使用过的数据块进行备份,可以在数据库关闭时备份,RMAN备份时,从物理层面来判断数据块是否被使用,也就是说,只要某个数据块的头部被格式化过,RMAN就认为该数据块被使用过,就会备份该数据块,例如我们删除了一个大表,但是RMAN的备份不会减小多少,因为删除表的时候,只是将数据字典中的信息进行了删除,表实际所占用的数据块并没有被删除,数据块物理上还有数据,因此RMAN还会进行备份。,快速闪回区(flash recovery area)Orac
10、le 10g数据库中,为RMAN备份文件设置了默认的路径,也就是快速闪回区。该区域是文件系统上的一个目录,也可以是ASM的某个磁盘组RMAN的备份可以不存放在这个目录区中,但是闪回恢复区有很多的好处1、简化对RMAN备份文件的管理,这个区域的文件都是OMF文件,文件的名称和大小都是oracle自动管理2、该区域的空间管理也是自动进行的当RMAN需要在该区域创建新的文件,但是空间不足,oracle会自动根据配置的冗余策略,删除不再需要的备份文件如果该区域出现空间压力,会在告警日志中(alter.ora)记录该信息,我们可以根据告警,适当的增加该区域的大小、修改RMAN备份的冗余策略,两个参数,设
11、置目录和大小,必须先设置大小,再设置目录,只是改变了目录,已经有的文件并没有移动过来。闪回恢复区可以存放rman备份文件、控制文件、联机重做日志文件、以及闪回数据库日志文件等,Oracle设置了闪回恢复区,反映了Orale 的一个趋势,数据库自动化管理所有的工作。设置了闪回恢复区以后,我们只需要设置好冗余策略、控制大小,目录位置。剩余的工作Orale都会自动的搞定。,Used表示已占用的空间大小的百分比(相对2G)Reclaimable表示通过删除必须要的备份文件所能回收空间的百分比Number表示文件的总数通过database control图形界面可以更加直观的查看利用情况。,使用conf
12、igure命令配置RMAN1、RMAN用户需要sysdba权限,我们最好不要使用sys用户,因此给RMAN建立一个专用账号,2、连接目标数据库的几种方式,认证部分,本例使用的是操作系统认证,以sys的权限进行了登陆target,表示连接的是目标数据库,而且本例指的是本机的数据库实例,最终连接到了本机数据库实例ORCL中,如果是在另外一台机器上使用RMAN客户端,那么可以使用上面的连接方式。,RMAN的选项中,两个选项经常使用1、log2、cmdfile,RMAN所有的输出都不会显示在屏幕上,而是显示在日志文件中,参数append表示在原来的日志基础上追加日志信息,不是覆盖。如果rman是晚上自
13、动运行,那么就需要添加log选项,作为一个日志记录,很重要的参数。,另外一个参数是cmdfile表示使用rman连接到数据库,然后立即执行cmdfile文件里的命令,该命令可以是任何合法的RMAN命令。,上面的两个参数是经常使用的参数。,RMAN命令的分类1、独立的命令在rman提示符下面,输入一条命令,立即执行2、任务形式的命令以rman 形式执行,所有要执行的命令都放在两个之间,执行时,RUN模块里面的所有命令必须都成功,整个任务才算成功,其中任何一条命令失败,则整个任务失败并回滚,不会执行其中的任何一条命令。从9i开始,可以将一些常用的配置选项设置为默认值,每次备份时,就不需要再进行这些
14、配置,直接进行备份,configure命令进行默认配置,配置的选项包括1、自动备份控制文件2、自动启动某个类型的通道(磁盘或者磁带)3、备份的冗余策略4、默认的备份类型:备份集(backup set)or镜像副本(image copy)5、备份片的大小,Configure的配置保存在控制文件中,原有的默认配置硬编码到了RMAN只可执行命令中,因此数据库在没有mount的时候,show命令都可以查看这些默认值,但是对我们设置的值,在这里看不见。,我们要配置某个选项的时候,不需要记住具体的命令,因为使用show all以后,命令都出来了。通过dbconsole也可以查看具体的选项。,1、自动备份控
15、制文件1、每次使用RMAN进行备份,都会自动备份控制文件和spfile2、修改了数据库结构,立刻自动备份控制文件,可以配置控制文件备份所在的目录和文件名字,默认使用的是闪回区,使用闪回区的时候,文件名字使用的OMF,即使设置了文件名字,也不起作用,因此需要改变目录。,c-IIIIIIIIII-YYYYMMDD-QQ c-DBID-控制文件备份日期-序列号,16禁止00-ff,因此每天的备份数量不能超过256个,数据库结构发生变化。,控制文件没有自动的生成备份。,将数据库改为归档模式。,再次修改表空间的结构。,控制文件自动生成,因此这个功能还是很有意义的。,自动启动某个类型的通道这是RMAN配置
16、中最重要的地方,也是必须配置的地方通道表示将数据复制到备份介质的物理通道,通道类型则说明将数据复制到磁带还是磁盘,可以定义默认的通道类型,默认我们将数据备份到磁盘上。我们也可以备份到磁带上,就爱那个disk替换为sbt,就表示备份到磁带上。,指定同时自动创建多少个通道,上面指定了三个通道,加快了备份速度。上面的配置中说明,默认使用磁盘作为备份介质,同时启用三个磁盘通道进行备份。,这次备份作业,手工的创建了一个通道,覆盖了前面指定的默认设置:磁盘+3个通道。如果是RAC,那么可以指定在哪个实例上启动通道。单实例不需要指定。,参数format,说明该通道生成的备份文件的名称格式,通道生成的备份文件
17、的名称和格式。%c:备份片的副本数%d:数据库名称%D:位于该月的第几天%M:位于该年的第几个月%n:数据库名称,向右填补到最大8个字符%u:一个8个字符的名称,代表备份集和创建时间%p:该备份集的备份片号,从1开始到创建的文件数%U:一个唯一的名字%u_%p_%c%s:备份集的编号%t:备份集的时间戳%T:年月日格式(YYYY-MM-DD),参数maxopenfiles:表示当发出backup命令的时候,一个通道能够处理的文件的最大个数,默认为8参数maxpiecesize:创建的备份片(备份出来的物理文件)的大小Parms ENV=:表示将数据备份到磁带上时,到磁带的通道的一些参数配置,对
18、于不同的厂商,其Parms的值也是不同的上面都是一些和通道有关的参数1、默认的设备类型2、默认启动的通道数量3、备份时手工分配通道4、RAC环境中指定在那个实例上启动通道(connect)5、format指定了生成的文件名和备份路径6、一个通道最大能够处理的文件个数7、备份片的大小8、如果通道是磁带,那么需要配置一些和厂商有关的参数,分配了三个通道,因为只有一个数据文件,只在通道2上创建了一个备份集,这个备份集包括一个备份片。控制文件和spfile单独备份到了一个位置,生成了文件,删除了一些我们不需要的配置。,每个备份片的大小是20M。,备份集(backup set)默认的备份类型是备份集,生
19、成备份集的时候,RMAN会将不同的数据文件里使用过的数据取出后,放在同一个物理文件里,也可以放在不同的物理文件里。产生的物理文件叫做备份片(backup piece),备份片的逻辑组合叫做备份集,备份集只是一个名字而已,将物理文件逻辑的组合在一起一般来说,一个通道生成一个备份集,启动了三个通道,那么就生成三个备份集。如果启动了备份文件的自动备份,那么控制文件所在的备份文件会单独的生成一个备份集,不会与数据文件所在的备份集合并在一起,另外,如果指定了每个备份集包含的数据文件的个数(filesperset),那么即便只有一个通道,也有可能生成多个备份集。控制文件所在的备份集以操作系统操作系统块作为
20、最小单位数据文件所在的备份集以数据库作为最小单位,因此不能放在一个备份集中如果指定了备份片的大小,比如2G,要备份的数据文件占5G,那么在备份集中会生成3个物理文件(3个备份片),其中两个为2G,一个为1G备份集的数量通常取决于下面的几个参数是否启用了控制文件的自动备份,启用则备份集多1个启用了几个通道,一个通道一个备份集每个备份集包含的数据文件的个数,可能出现一个通道多个备份集的情况备份片的数量则取决于备份集的数量和最大备份片的数量,镜像副本这与手工通过操作系统的复制命令备份数据文件类似。一个数据文件生成一个镜像副本文件,整个复制过程是rman进行的,rman一个数据块一个数据块的复制,rm
21、an会检测每一个数据块是否出现损坏,不需要将表空间设置成为begin backup,镜像副本中包含使用过的数据块,也包含从未使用过的数据块。生成镜像副本的好处在于恢复速度相对备份集来说,更快一些。,备份的冗余策略 recovery window哪些文件必须备份?默认值是7.保留下来的备份,必须能够将数据库恢复到指定时间之内的任意一个时刻,指定这个参数为7,则表示保留的备份文件能够将数据库恢复到最近7天中的任何一个时刻。为了能够将数据库恢复到7天之内的任何一个时刻,那么备份文件必须满足保留7天。这样当我们需要恢复到7天之内的任何一个时刻的时候,找到满足条件的数据文件,配合日志进行恢复。如果我们只
22、保留了最近4天的备份,那么如果我要恢复到6天前的一个时刻,那么就不能够实现。,redundancy表示要保留的,能够将数据库恢复到最新状态的完整的备份文件的个数。根据策略,不再需要的备份文件则被认为是obsolete。,数据库会保存两套完整的备份。两个冗余策略配置只能一个生效。,使用RMAN完成备份1、使用RMAN进行备份以前,首先要做的就是看一下配置,这一步很重要,我们希望使用的是备份集。,默认使用diskdisk的并行度是3(3个通道),而且是备份集的形式通道的format定义,备份片的大小,使用RMAN进行备份时,我们使用backup命令,该命令可以独立的放在RMAN提示符里面,也可以放
23、在RUN里面,最简单的命令如下RMANbackup database;,1、分配通道,输入数据文件到指定的通道2、在通道上创建备份集和段(备份片),一个备份集上可能有多个段(备份片),这取决于备份片的大小一个通道上也可能有多个备份集,取决于备份片的大小。,因为我们启动了控制文件的自动备份,因此在备份的最后,单独的生成一个备份集。通过上面的操作提示,我们的到下面的结果。操作日志具体见backup.log1、分配通道、数据文件输入通道,创建备份集、备份片2、控制文件创建备份集、备份片,如果数据库是非归档模式,我们需要启动数据库到mount状态,然后执行backup 命令,因为rman需要读取目标数
24、据库的控制文件。如果数据库是归档模式,数据库在打开时可以备份。,依然是分配了三个通道。文件的名字和存放位置发生了改变。,备份片的名字和位置取决于format。,等等,上面只是备份了一个表空间,而不是整个数据库。,只是备份了一个数据文件。,手工指定多个通道,分配了两个通道,按照指定将1、3、5分配给了c1,将2、4分配给了c2然后备份了控制文件和spfile最后执行了一条SQL语句,将所有的备份片放在同一个目录下面。Format参数可以在指定通道的时候指定,也可以在backup命令中指定。如果不指定datafile的分配,那么rman会根据数据文件的大小,大致进行分配,尽量保持两个通道分配的平均
25、。手工分配通道以后,会将默认的通道覆盖掉,默认通道的分配取决于参数parallelism,备份集支持压缩,压缩比例大约是5:1.,设置标记tag为每一个备份集或者镜像副本文件所取的名称。在恢复和list的时候,我们可以非常清楚的知道某个备份的意义。,Tag标记具体的加在了段上。,这一次备份所有的备份片(可能是多个通道生成的多个备份集),都使用同一个tag。,默认情况下,RMAN在备份时总是会检查数据块是否发生物理损坏,如果是为了加快备份速度而不希望RMAN进行数据块的物理检查时,可以关闭这个选项。,默认情况下,RMAN不会检查数据块是否发生逻辑损坏,backup时可以启用逻辑损坏检查。,RMA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 管理 备份 恢复
链接地址:https://www.31ppt.com/p-6485639.html