




免费预览已结束,剩余16页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ORACLE RMAN 备份恢复一、为什么要用RMANRMAN是Recovery Manager的简称,也就是恢复管理器,是ORACLE的备份恢复工具。我们上几章所讲的备份恢复,是用户管理的备份恢复。用户管理的备份恢复已经可以完成各种备份恢复操作,为什么还要用RMAN呢?最重要的一点是,当数据文件比较多,而且有时新增数据文件、有时减少数据文件。备份的时间一长,有时候我们自己都容易忘记谁被备份了,而谁还没有备份。如果我想让每个数据文件都有两份备份,那么哪个数据文件的备份数量还达不到要求。等等,这些问题,在用户管理的备份恢复下,因为你备份了谁,在ORACLE中并没有记录,你必须去操作系统中查阅磁盘文件,如果数据文件比较多,这将是一个非常繁锁的过程。而且,也很容易出现遗漏。我见过一家企业,因为备份策略是以前就建好的,没有使用RMAN,运行了很久,没有出过什么问题,因此也没有人敢提出升级到RMAN。数据库管理就是这样,如果它运行的好好的,性能、安全性上都能满足需要,就没有必要动它。谁知道改变它会有什么后果呢。这家企业的备份策略使用了大量的操作系统Shell脚本、ORACLE中SQL*Plus脚本,自己建立了很多表,每备份一次,都把备份的数据件名记进表中,需要知道数据文件、控制文件的备份情况时,就去统计表。其实这基本上实现了简单的RMAN的功能。但是方便用户管理备份,这只是RMAN诸多优点中的一项,RMAN的备份性能要高于用户管理的备份,RMAN可以实现块级恢复等等,这些功能就不要利用脚本自己就可以实现的了。总之,经过8i、9i、10G几代的发展,RMAN已经成为了ORACLE中的最要的备份恢复工具,我们有什么备份恢复操作,要尽量使用RMAN来完成。好,下面,我们就开始介绍RMAN的使用。二、如何进入RMAN使用RMAN和使用SQL*Plus一样。只是在连接SYS用户时,不需要AS SYSDBA。D:Documents and SettingsJJBOBO1set oracle_sid=uplookingD:Documents and SettingsJJBOBO1rman target /恢复管理器: Release 10.2.0.1.0 - Production on 星期三 5月 28 14:07:20 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到目标数据库: FOUR10G (DBID=2924364082)Target的作用,是报诉ORACLE,我们所连接的是目标数据库。我们也可以在进行RMAN之后再连接:RMAN connect target /已连接到目标数据库当然,也可以把“ / ”换为SYS/密码。但是不能像SQL*Plus那样,把CONNECT省略为CONN。其实在RMAN中,无论用什么用户连接,RMAN都将自动的加上去AS SYSDBA。所有,我们就不必再加AS SYSDBA了。我们可以在RMAN中执行一些与备份恢复密切相关的数据库操作。如关闭数据库或打开数据库:RMAN shutdown immediate;使用目标数据库控制文件替代恢复目录数据库已关闭数据库已卸载Oracle 实例已关闭这也证明了虽然没有加上AS SYSDBA,但是仍然以管理用户连接到了RMAN。因为只有管理用户,才能执行关闭、打开数据库的操作。但是,与备份恢复没有任何关系的操作,是不能在RMAN中执行的。比如说,创建一个表:RMAN create table aaa(id number);RMAN-00569: = ERROR MESSAGE STACK FOLLOWS =RMAN-00571: =RMAN-00558: 分析输入命令时出错RMAN-01009: 语法错误: 找到 identifier: 应为: catalog, global, script 中的一个RMAN-01008: 错误标识符: tableRMAN-01007: 在第 1 行第 8 列, 文件: standard input如果你想创建表,最好还是到SQL*Plus中吧。哪里才是执行数据库操作的地方,RMAN是用来备份恢复的。如果没有设置ORACLE_SID环境变量,我们也可以在RMAN中通过监听器连接:RMAN TARGET 用户名/密码连接描述符或在RMAN中:CONNECT TARGET 用户名/密码连接描述符无论通过不通过监听器连接,RMAN都会自动的为用户加上AS SYSDBA。也就是说,只要用RMAN成功的连接,都具有管理权限。三、目标数据库控制文件与恢复目录目标数据库,我们使用RMAN要对哪个数据库进行备份,哪个数据库就是目标数据库。RMAN有一项重要功能,就是记录各种文件的备份信息,以便用户随时了解各个文件的备份情况。备份信息会被RMAN自动的记入目标数据库的控制文件中。控制文件中存储RMAN备份信息的区域是循环使用的,以初始化参数control_file_record_keep_time的值为准。这个参数的值默认是7天,也就是说控制文件中的RMAN信息,最多保留7天就会被新的信息覆盖。这个参数的设置,也是影响控制文件大小的重要因素之一。但是,将RMAN的备份信息保留在目标数据库中,是非常不安全的。如果目标数据库的控制文件损坏了,RMAN将因为读不出来备份信息,而无法进行恢复。通常建议将信息再存储到另外一个数据库中,这个数据库一般被称为恢复目录。作为恢复目录的数据库,其实恢复目录在它里面只建一个表空间,这个数据库还可以像正常数据库一样另外存放其他信息。并不是只能用来存放另一个数据库RMAN的备份信息。好了,我们讲了两个概念,目标数据库和恢复目录。目标数据库就是我们要备份的数据库,而恢复目录是存放目标数据库备份信息的数据库。下面,我们说一下恢复目录的配置。四、配置恢复目录第一步当然先要有一个数据库了,我额外创建了一个RCAT数据库,下面我们用它来作恢复目录。在实际的情况下,恢复目录数据库最好是和目标数据库分别存在在不同的存储设备中。下面,启动RCAT数据库。步1:创建存储目标数据库备份信息的表空间sid=25 pid=20 create tablespace cattbs datafile f:oracleoradatarcatcattbs_1.dbf size 20m;Tablespace created.这个表空间并不是专用的,它的名字你可随便定。它也可以存储其他信息。但是建议只用它存储目标数据库的备份信息。步2:创建RCAT1用户sid=22 pid=15 create user rcat1 identified by abcde default tablespace cattbs quota unlimited on cattbs;用户已创建。用户名当然也是随变定的。它的缺省表空间一定要是刚才创建的CATTBS。步3:授予权限:sid=22 pid=15 grant connect,recovery_catalog_owner to rcat1;授权成功。恢复目录用户,一定要有recovery_catalog_owner角色。此角色是专门针对恢复目录的,它向用户授予了很多特权。步4:在RMAN中创建恢复目录在RMAN中,连接到恢复目录数据库:RMAN connect catalog rcat1/abcdercat;连接到恢复目录数据库注意,刚才我们讲的连接,都是CONNECT TARGET,Target是目标的意思,就是连接目标数据库。如果要连接恢复目录数据库,将Target换成Catalog即可。在RMAN中,创建恢复目录:RMAN create catalog tablespace cattbs;恢复目录已创建注意这里的表空间名必须和在恢复目录数据库中创建的,用于存放备份信息的表空间一样。其实这一步就是通知RMAN,将备份信息除了存到目标数据库控制文件外,还要送往恢复目录数据库的CATTBS表空间。步5:向恢复目录中注册目标数据库在注册前,注意用RMAN同时连接两个数据库:connect target sys/ifclwxconnect catalog rcat1/abcdercat;注册命令很简单:RMAN register database;注册在恢复目录中的数据库正在启动全部恢复目录的 resync完成全部 resync到此为止,恢复目录的配置就算完成了。以后,每次进入RMAN时,在登录到目标数据库后,再登录到恢复目录数据库,RMAN就会将备份信息写恢复目录中,也就是写进RCAT数据库RCAT1用户的缺省表空间CATTBS中。五、incarnation这个单词的中文的意思是化身,它是针对恢复目录而言的。一个恢复目录数据库,可以注册进多个目标数据库。每一个目标数据库都是一个incarnation,也就是化身。另外,同一目标库在恢复目录中也可以多个化身。只要目标库进行了不完全恢复,并以Resetlogs打开了数据库,哪么在恢复目录中,就必须重新注册目标库。重新注册后,目标库就又有了一个incarnation。一个incarnation,就是一个目标数据库在恢复目录中的代表。Resetlogs后,日志序列号从1开始重新计算,日志流被打断、重置。对于备份恢复体系来说,Reseglogs后的数据库,相当于一个全新的数据库。因此,在恢复目录中,要重新注册一次这个对于备份恢复来说全新的数据库。使用list incarnation命令,可以查看恢复目录中的化身:RMAN list incarnation;数据库原型列表DB 关键字 Inc 关键字 DB 名 DB ID STATUS 重置 SCN 重置时间- - - - - - -1 2 FOUR10G 2924364082 CURRENT 1 28-5月 -08关键字列,就是目标数据库的化身号。而DB ID列,则是它的数据库ID。我们可以在SQL*Plus中,查询V$DATABASE的DBID列,也可以得到数据库的ID编号。这个编号是在创建数据库时由ORACLE指定的。sid=25 pid=20 select dbid, name from v$database; DBID NAME- -2924364082 FOUR10G六、同步在RMAN中的备份信息,会被默认送往目标数据库的控制文件中。尽管RMAN也会把信息自动的写入恢复目录中,但我们还要应该每隔N天,将目标数据库控制文件中的信息,手动的同步到恢复目录中。同步的命令非常简单,只需要在RMAN中,同时连接目标库和恢复目录库,再使用resync catalog命令即可:RMAN resync catalog;正在启动全部恢复目录的 resync完成全部 resync每隔N天同步,这个N天通常应该设置为control_file_record_keep_time参数的值。如果此参数设为7,也就是我们应该至少每7天同步一次目标库控制文件和恢复目录中的信息。因为控制文件中的信息在7天后有可能被覆盖,因此,我们应该至少每7天同步一次。否则恢复目录中的信息将有可能不完整。七、恢复目录库中的视图其实ORACLE是把备份信息写进了目录库中的一些表内,我们可以通过“RC_”系列视图来查询这些表例如,我们连接到目录库RCAT1:idle conn rcat1/abcdercat已连接。idle select * from rc_database; DB_KEY DBINC_KEY DBID NAME RESETLOGS_CHANGE# RESETLOGS_TIME- - - - - - 1 2 2924364082 FOUR10G 1 2008-05-28 09:59:14RC_DATABASE显示了注册到恢复目录中的目标库。这个视图显示的信息和list incarnation几乎一样。其实list incarnation命令就是读取的RC_DATABASE视图。第 二 节 RMAN备份一、RMAN的备份及备份管理,是有点复杂的。这也是我们的重点内容。而RMAN的恢复,就极简单了。其实只要备份做的好,恢复本就是一件非常简单的事。只有那些处处漏洞、满目苍夷的数据库,一旦出现问题,才需要高深的恢复技巧。比如,绕过ORACLE读已经无法正常打开数据库的数据文件。而对于有着良好的备份策略的数据库,恢复操作,从来都是很简单的事。二、RMAN相关的名词1通道 : 它是目标库到存储存设备的连接途径。RMAN的备份恢复都是由服务器进程完成的,通道就是服务器进程和存储设备间建立的连接。2备份片 : RMAN备份时所产生的备份文件。每一个备份文件,就叫一个备份片。备份片中的数据,可以来自数据文件、控制文件、归档日志文件。一个备份片有可能是多个文件备份数据的组合,或者一个数据文件可以跨越多个备份片,也就是一个数据文件可以被分割成多个备份片。3备份集 :一个通道将对应一个备份集,一个备集中,包含多个备份片。备份集是一个逻辑概念,在操作系统中,你是找不到备份集相关的信息的。在操作系统中,你可以找到备份片,一个备份片就是一个操作系统文件。在ORACLE中,又把多个备份片对应的文件组合起来,比如说1、3、5号文件组合起来,构成备份集1,等等。备份集只存在在概念上。因此,它是备份片的逻辑组合。上图的备份过程中,建立了两个通道,因此在存储设备中,就有两个备份集。备份集1包含了数据文件1、4、5的备份。它里面有两个备份片,分别是片1和片2,其中片1包含数据文件1的备份,和数据文件4的一部分备份。而片2包含数据文件4的另一半备份,和数据文件5的备份。备份集2只有一个备份片,其中包含了三个数据文件的备份。4备份类型:RMAN共有两大类备份类型,一类被称为映像拷贝,另一类是增量备份。下面,我们先从映像拷贝开始。三、映像拷贝1映像拷贝也叫映像副本。它其实和直接的用操作系统拷贝命令复制文件差不多。使用它可以备份数据文件、控制文件和归档日志文件。不能备份重做日志文件。下面我们来看一下映像拷贝的使用。一个标准的映像拷贝应该如下完成:(放)上面这段脚本包含两个命令,第2行的命令是分配通道,通道名是D1,这个通道名是随变起的。类型是DISK,磁盘。类型还可以是磁带:?。这是第一条命令,结束处以“;”分号标记。接着,从第3行到第8行是一条命令,这就是我们的映像拷贝命令。也就是说,RMAN的命令都以分号结束。一个分号就是一条命令。在映像拷贝命令中,我们以第4行为例,它的意思是将1号文件映像拷贝到E:ORACLEBACKUP处,映像备份的文件名是SYSTEM01.DBF。1号文件本来就是SYSTEM01.DBF,这个我们在DBA_DATA_FILES中的FILE_ID列,或V$DATAFILE的FILE#列都有记录。映像拷贝后,备份文件的名字并不一定要和原文件一样。这个名字也是随变起的。我在这里是为了方便记忆,才和原文件名相同的。另外,DATAFILE后的文件号也可以换成文件名:Datafile F:oracleoradatafour10gsystem01.dbf to to e:oraclebackupSYSTEM01.DBF ,在RMAN中,有一条简单的命令可以列出目标库中的所有数据文件和它的文件编号:RMAN report schema;数据库方案报表永久数据文件列表=文件大小 (MB) 表空间 回退段数据文件名称- - - - -1 240 SYSTEM YES F:ORACLEORADATAFOUR10GSYSTEM01.DBF2 80 UNDOTBS1 YES F:ORACLEORADATAFOUR10GUNDOTBS01.DBF3 60 SYSAUX NO F:ORACLEORADATAFOUR10GSYSAUX01.DBF4 10 USERS NO F:ORACLEORADATAFOUR10GUSERS01.DBF临时文件列表=文件大小 (MB) 表空间 最大大小 (MB) 临时文件名称- - - - -1 16 TEMP 32767 F:ORACLEORADATAFOUR10GTEMP01.DBF第一列就是文件编号。注意,我们只用备份永久数据文件就行,不用备份临时文件。脚本中的第8行是备份控制文件。因为这个脚本包含了两条命令,所有这两条命令要用“RUN ”括起来。如果只有一条命令,是不秘加“RUN ”的上面这段脚本可以在目标库打开、或关闭时执行。如果备份时,目标库未打开,这就相当于冷备。而如果是在数据库打开时进行的备份,就相当于热备了。用RMAN热备不再需要将表空间设为热备状态。这比手动管理中的热备,将表空间置为热备状态,在总体性能上要好一些。如果要备份归档日志,将上面的DATAFILE换成ARCHIVELOG :Copy archivelog 归档日志文件名 to 备份归档日志文件名下面我们执行一下上面的脚本:RMAN run2 allocate channel d1 type disk;3 copy4 datafile 1 to e:oraclebackupSYSTEM01.DBF,5 datafile 2 to e:oraclebackupUNDOTBS01.DBF,6 datafile 3 to e:oraclebackupSYSAUX01.DBF,7 datafile 4 to e:oraclebackupUSERS01.DBF,8 current controlfile to e:oraclebackupcontrolbak.ctl;9 分配的通道: d1通道 d1: sid=31 devtype=DISK启动 backup 于 28-5月 -08通道 d1: 启动数据文件副本输入数据文件 fno=00001 name=F:ORACLEORADATAFOUR10GSYSTEM01.DBF输出文件名 = E:ORACLEBACKUPSYSTEM01.DBF 标记 = TAG20080528T211003 recid = 1 时间戳 = 655938622通道 d1: 数据文件复制完毕, 经过时间: 00:00:25通道 d1: 启动数据文件副本输入数据文件 fno=00002 name=F:ORACLEORADATAFOUR10GUNDOTBS01.DBF输出文件名 = E:ORACLEBACKUPUNDOTBS01.DBF 标记 = TAG20080528T211003 recid = 2 时间戳 = 655938637通道 d1: 数据文件复制完毕, 经过时间: 00:00:07通道 d1: 启动数据文件副本输入数据文件 fno=00003 name=F:ORACLEORADATAFOUR10GSYSAUX01.DBF输出文件名 = E:ORACLEBACKUPSYSAUX01.DBF 标记 = TAG20080528T211003 recid = 3 时间戳 = 655938643通道 d1: 数据文件复制完毕, 经过时间: 00:00:07通道 d1: 启动数据文件副本输入数据文件 fno=00004 name=F:ORACLEORADATAFOUR10GUSERS01.DBF输出文件名 = E:ORACLEBACKUPUSERS01.DBF 标记 = TAG20080528T211003 recid = 4 时间戳 = 655938648通道 d1: 数据文件复制完毕, 经过时间: 00:00:03通道 d1: 启动数据文件副本复制当前控制文件输出文件名 = E:ORACLEBACKUPCONTROLBAK.CTL 标记 = TAG20080528T211003 recid = 5 时间戳 = 655938651通道 d1: 数据文件复制完毕, 经过时间: 00:00:04完成 backup 于 28-5月 -08释放的通道: d1备份完毕后,检查E:ORACLEBACKUP目录,多了5个文件。映像拷贝不创建备份集,每一个文件的备份都是一个备份片。其实这和用操作系统拷贝命令差不多。不过在热备时,不需要将表空间置于热备状态。可以使用LIST COPY命令查看备份结果:RMAN list copy ;数据文件副本列表关键字 文件 S 完成时间 Ckp SCN Ckp 时间 名称- - - - - - -111 1 A 28-5月 -08 162186 28-5月 -08 E:ORACLEBACKUPSYSTEM01.DBF112 2 A 28-5月 -08 162195 28-5月 -08 E:ORACLEBACKUPUNDOTBS01.DBF113 3 A 28-5月 -08 162199 28-5月 -08 E:ORACLEBACKUPSYSAUX01.DBF114 4 A 28-5月 -08 162202 28-5月 -08 E:ORACLEBACKUPUSERS01.DBF控制文件副本列表关键字 S 完成时间 Ckp SCN Ckp 时间 名称- - - - - -115 A 28-5月 -08 162204 28-5月 -08 E:ORACLEBACKUPCONTROLBAK.CTL每个备份文件都有一个唯一的标识,就是最前面的关键字列。这一列对于RMAN很重要,但对于我们没有什么意义。我们说一下重要的列。第三列有一个S列,它是备份片的状态,A表示Available,也就是可用的,有效的。除了A外,还有值U,Unavailable,不可用的。E,Expired,过期的。其意义,我们后面再讲。2手动分配通道上面的脚本中,allocate channel d1 type disk是手动分配通道。我们前面讲过,通道是服务器进程和存储设备的连接途径。我们可以在备份时分配多个通道,启用多个服务器程,并行的进行备份操作。通道的数量,就决定了备份的并行度。我们可以在COPY命令前,多执行allocate channel 命令,每次通道名不能相同,这样就可以开启多个通道了。上图中的脚本开启了四个通道,也就是备份操作的并行度将是4。RAMN将启用4个服务器进程,同时的完成备份操作。注意在使用并行备份的时候,要考虑主机的硬件环境,如果备份用的存储设备只有一块硬盘,我们将并行度定为4不但不会提高性能,反而会降低性能。ORACLE中所有的并行操作,都要考虑主机的CPU个数、存储设备的能力,如果只有一颗单核心CPU,一块硬盘,但是并行度却开为4。这就好像只有一个人,却同时有4个人不停的向你问题。你是希望A、B、C、D排好队一个一个的来,还是先回答A一句,再回答B、C、D,然后再转回来回答A。关于通道,在ORACLE内部,代表的服务器进程和存储设备的连接途径,这是内部的事情,我们其实不需要管。对于我们DBA来说,通道的数量意味着并行度。除了手动的分配通道外,我们还可以自动的分配通道:3自动分配通道如上脚本,就是使用了自动分配的通道,其中命令:“configure device type disk parallelism 2”, 就是配置自动通道的命令。这条命令将并行度定为2,也就要是启用两条通道。下面执行上面的脚本:RMAN run2 configure device type disk parallelism 2;3 copy4 datafile 1 to e:oraclebackupSYSTEM01.DBF,5 datafile 2 to e:oraclebackupUNDOTBS01.DBF,6 datafile 3 to e:oraclebackupSYSAUX01.DBF,7 datafile 4 to e:oraclebackupUSERS01.DBF,8 current controlfile to e:oraclebackupcontrolbak.ctl;9 新的 RMAN 配置参数:CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;已成功存储新的 RMAN 配置参数释放的通道: ORA_DISK_1正在启动全部恢复目录的 resync完成全部 resync启动 backup 于 29-5月 -08分配的通道: ORA_DISK_1通道 ORA_DISK_1: sid=31 devtype=DISK分配的通道: ORA_DISK_2通道 ORA_DISK_2: sid=18 devtype=DISK通道 ORA_DISK_1: 启动数据文件副本输入数据文件 fno=00001 name=F:ORACLEORADATAFOUR10GSYSTEM01.DBF通道 ORA_DISK_2: 启动数据文件副本输入数据文件 fno=00002 name=F:ORACLEORADATAFOUR10GUNDOTBS01.DBF输出文件名 = E:ORACLEBACKUPSYSTEM01.DBF 标记 = TAG20080529T082519 recid = 12 时间戳 = 655979144通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:28通道 ORA_DISK_1: 启动数据文件副本输入数据文件 fno=00003 name=F:ORACLEORADATAFOUR10GSYSAUX01.DBF输出文件名 = E:ORACLEBACKUPUNDOTBS01.DBF 标记 = TAG20080529T082519 recid = 11 时间戳 = 655979144通道 ORA_DISK_2: 数据文件复制完毕, 经过时间: 00:00:28通道 ORA_DISK_2: 启动数据文件副本输入数据文件 fno=00004 name=F:ORACLEORADATAFOUR10GUSERS01.DBF输出文件名 = E:ORACLEBACKUPSYSAUX01.DBF 标记 = TAG20080529T082519 recid = 13 时间戳 = 655979155通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:10通道 ORA_DISK_1: 启动数据文件副本复制当前控制文件输出文件名 = E:ORACLEBACKUPUSERS01.DBF 标记 = TAG20080529T082519 recid = 14 时间戳 = 655979156通道 ORA_DISK_2: 数据文件复制完毕, 经过时间: 00:00:09输出文件名 = E:ORACLEBACKUPCONTROLBAK.CTL 标记 = TAG20080529T082519 recid = 15 时间戳 = 655979160通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:03完成 backup 于 29-5月 -08我们可以看到,RMAN自动启动了两条通道。自动配置通道中,我们无法再为通道命名,RMAN将自动将通道名定为ORA_DISK_n。RMAN的备份顺序是,启动通道1,备份1号文件,同时启动通道2,备份2号文件。1号通道工作完毕后备份3号文件,2号通道复制完毕备份4号文件。1号通道备份完3号文件后,备份控制文件。手动分配通道命令必须放在RUN 中,它只对 大括号中的命令起作用,在大括号中的命令执行完毕后,手动分配的通道会自动释放。看一下我们第一段脚本的执行后的显示信息,在执行开始你可以看到:“分配通道 D1”,在执行的最后,可以看到“释放通道D1”。而在使用CONFIGURE DEVICE,自动分配通道时,在脚本执行完毕,并没有释放分配的通道。CONFIGURE DEVICE命令分配的通道,将一直保留到再次使用configure device 命令改变并行度。像这样其效果可以长久保持的命令,也可以不必放在RUN 中,可以单独放在RMAN命令行上执行:而且,下一次再进入RMAN进行备份时,如果并不改变并行度,我们可以不必使用CONFIGURE DEVICE重新配置通道,直接使用COPY进行映像拷贝就行了。RMAN将保存CONFIGURE DEVICE的配置结果,直到你再次使用CONFIGURE DEVICE改变它。使用CONFIGURE DEVICE命令,我们不但可以设置默认的并行度。还可以设置默认的存储设备类型:configure device type sbt parallelism 2 ;如上命令将设备类型定为SBT,也就是磁带,同时将并行度定为2。4通道配置我们可以使用CONFIGURE CHANNEL命令,配置通道的默认参数:DEVICE TYPE DISK|SBT :设备类型,磁盘或磁带RATE n :限制通道每秒读数据的速度。N的单位可以是字节、K、M或G,注意,不能是KB、MB或GB。如果n的值为1000K,也就是每秒最多从磁盘读取1000K字节。这样做的目的是为了避免RMAN占用过多的磁盘资源,而影响目标库正常的使用。MAXOPENFILE n :限制同是打开的文件数MAXPIECESIZE n :最大的备份片大小。如果备份片太大,超过了操作系统的限制,使用此限制,可以将备份片切割开,分成多个备份片,也就是分成多个操作系统文件。比如,此限制定为“MAXPIECESIZE 2G”,也就是一个备份片最大2G。现在有一个备份共有6G,RMAN将自动把它切开,分为三个备份片,每个都是2G。比如,下面的命令将通道类型设置为写磁盘,速度限制为每秒1500K,最大备份片为2G:CONFIGURE CHANNEL DEVICE TYPE DISK RATE 1500K MAXPIECESIZE 2G;四、增量备份:0级增量备份备份命令非常简单,总的来说,有两种形式: backup incremental level 0 database :差异型增量备份 backup incremental level 0 cumulative database :累积型增量备份待会再说这两种增量备份的区别。我们可以看到,在这两条备份命令中,我们并没有找到备份的目的地和备份相关文件的名字。名字和位置我们可以在通道中利用FORMAT选项指定。在指定名字时,我们必须使用一些格式字符,来保证备份片文件名的唯一性。如果我们将名字指定为AAA。将设备份要生成四个备份片,每一个备份片都是一个操作系统文件。那么,第一个备份片名字是AAA,第二个备份片也叫AAA,这样,第二个备份片的文件将覆盖第一个备份片的文件。这就是保证备份片字名唯一性的重要性。有如下的格式字符可以使用:d :数据库名称 %s :备份集编号。这是由RMAN自动生成,第一个备份集是1,第二个备份集是2,这样依次递增。重建控制文件后此编号从1重新开始。%p :备份片编号%u :由备份时间和备份集编号生成%c :备份片复本数%U :生成一个唯一的由u_%p_%c组成的唯一的文件名,如果你没有指定文件名,这个将是默认值。下面我们来制作一个0级差异型增量备份:(1)、差异型增量备份:RMAN configure device type disk parallelism 2;RMAN CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT = e:oraclebackupbakone_%U;RMAN backup incremental level 0 database;( 显示信息略 )通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:39通道 ORA_DISK_1: 启动增量级别 0 数据文件备份集通道 ORA_DISK_1: 正在指定备份集中的数据文件备份集中包括当前控制文件通道 ORA_DISK_1: 正在启动段 1 于 29-5月 -08通道 ORA_DISK_2: 已完成段 1 于 29-5月 -08( 显示信息略 )在备份集中包含当前的 SPFILE通道 ORA_DISK_2: 正在启动段 1 于 29-5月 -08通道 ORA_DISK_2: 已完成段 1 于 29-5月 -08段句柄=E:ORACLEBACKUPBAKONE_0LJHJ66H_1_1 标记=TAG20080529T110822 注释=NONE通道 ORA_DISK_2: 备份集已完成, 经过时间:00:00:03完成 backup 于 29-5月 -08我们可以在显示的信息中看到“备份集包括当前控制文件”,一般情况下,只要备份集中包括SYSTEM表空间的数据文件,将随之自动备份控制文件。另外,0级备份还会自动包含参数文件SPFILE的备份。List backup 命令可以显示备份结果,显示结果如下:因为RMAN在备份时,各种类型的文件一般会分开存放在不同的备份片中。数据文件只能和数据文件在一个备份片中,归档日志也只能和归档日志在一起,控制文件和参数文件可以合并到一个备份片中。因此,我们的备份共成生了四个备份片,也就是有四个操作系统文件。上面的显示的结果共有四部分,分别对应了四个备份片。第一个备份片,也就是图上圈1部分,操作系统文件名是E:ORACLEBACKUPBAKONE_0IJHJ657_1_1,也就是段名。它在备份集240中。我们上面的备份使用了两个通道,备份集240是对应1号通道。2号通道和1号通道并行启动,但我的主机是单CPU,因此2号通道实际比1号通道稍晚一些启动。它所创建的备份集是241。它里面的第一个备份片是E:ORACLEBACKUPBAKONE_0JJHJ658_1_1。1号通道备份完数据文件后,和它关联的服务器进程又开始备份控制文件,它又生成了一个新的备份片:E:ORACLEBACKUPBAKONE_0KJHJ66E_1_1。在逻辑上,由于同属1号通道,它和上面的E:ORACLEBACKUPBAKONE_0IJHJ657_1_1同属一个备份集。最后,2号通道备份完它的数据文件后,它的服务器进程开始备份参数文件,参数文件的备份片属于241号备份集。在你启动多个通道时,ORACLE会把要备份的数据文件,自动的协调分配给每个通道,尽量使每个通道完成的工作量差不多。比如上面我们两条通道,四个数据文件。其中SYSTEM01.DBF有240M左右,UNDOTBS01.DBF有80M,SYSAUX01.DBF:60M,USER01.DBF:16M。在备份时RMAN会将最大SYSTEM01.DBF和最小的USER01.DBF分在一个通道中,而让UNDOTBS01.DBF和SYSAUX01.DBF用另一个通道。这样,两个通道即使没有完全的平摊工作量,它们的工作量也相差不多了。我们可以到备份目的地E:ORACLEBACKUPBAK目录中,看一下这两个备份集四个备份片文件合计的总大小,共占250M磁盘空间。而在目标数据库中,这四个文件合计有390M。也就是在备份后,数据文件总的所需磁
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装载机司机岗位标准化技术规程
- 油品储运调合工岗位安全技术规程
- 硬质合金成型工工作质量达标率考核试卷及答案
- 血液制品工合规化技术规程
- 2025年南平邵武市立医院护理岗位招聘模拟试卷参考答案详解
- 2025广东广州市增城区教育局招聘广州增城外国语实验中学教师10人(编制)模拟试卷及完整答案详解一套
- 2025内蒙古大唐锡林浩特电厂招聘消防车驾驶员1人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025湖南永州市宁远县人民医院公开招聘备案制专业技术人员50人考前自测高频考点模拟试题及答案详解(新)
- 2025德州齐河县事业单位“人才回引计划”考前自测高频考点模拟试题有答案详解
- 2025江苏镇江市卫生健康委员会所属镇江市第一人民医院招聘50人考前自测高频考点模拟试题及一套完整答案详解
- 大型展会突发事件应急预案
- 广东省茂名市2023-2024学年高一上学期数学期中试卷(含答案)
- 《建筑工程设计文件编制深度规定》(2022年版)
- 山西建投集团考试真题
- JT-T-325-2018营运客运类型划分及等级评定
- JT-T-844-2012港口设施保安设备设施配置及技术要求
- 湘教版版八年级上册地理知识点复习总结
- 2069-3-3101-002WKB产品判定准则-外发
- (正式版)JBT 14587-2024 胶体铅酸蓄电池 技术规范
- 美国发布2024版《关键和新兴技术清单》(英)
- 敬老院改造工作计划书
评论
0/150
提交评论