


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、rman 快速入门指南1. what is rman? 什么是 rman?32. terminology 专业词汇解释32.1. backup sets 备份集合32.2. backup pieces 备份片32.3. image copies 镜像备份32.4. full backup sets 全备份集合32.5. incremental backup sets 增量备份集合32.6. file multiplexing42.7. recovery catalog resyncing 恢复名目同步43. the recovery catalog 恢复名目43.1. 恢复名目的概念43.2.
2、 建立恢复名目43.3. 使用恢复名目的优势54. starting rman 启动 rman54.1. 使用不带恢复名目的 rman64.2. 使用带恢复名目的 rman64.3. 使用 rman65. 注册或者注销目标数据库65.1. 注册目标数据库65.2. 注销目标数据库76. 将已有的备份操作86.1. 加入名目数据库86.2. 从名目数据库中删除87. 在非归档模式下备份97.1. 数据库完全备份的例子97.2. 备份表空间的例子107.3. 备份单独数据文件107.4. 备份数据文件117.5. 备份把握文件118. 归档模式下的备份118.1. backing up archi
3、ved logs 备份归档日志118.2. backing up the online logs 备份联机日志129. incremental backups 增量备份139.1. level 0增量备份策略的基础139.2. 使用增量备份的案例1310. recovery 恢复1410.1. database open,datafile deleted 数据库打开时,文件被删除1410.2. complete restore (lost online redo) and rollforward- database closed完全还原(丢失联机日志)并且前滚 - 数据库关闭1410.3. r
4、estore of a subset of datafiles, complete recovery 还原数据文件的子集,完全恢复1511. scripts 脚本1512. corruption detection1613. channels 通道1614. report & list commands1714.1. list1714.2. report1715. 小提示181. what is rman? 什么是 rman?rman 可以用来备份和还原数据库文件、归档日志和把握文件。它也可以用来执行完全或不完全的数据库恢复。留意:rman 不能用于备份初始化参数文件和口令文件。rma
5、n 启动数据库上的 oracle 服务器进程来进行备份或还原。备份、还原、恢复是由这些进程驱动的。rman 可以由oem 的backup manager gui 来把握,但在本文章里不作重点争辩。2. terminology 专业词汇解释2.1. backup sets 备份集合备份集合有下面的特性:Ø 包括一个或多个数据文件或归档日志Ø 以 oracle 专有的格式保存Ø 有一个完全的全部的备份片集合构成Ø 构成一个完全备份或增量备份2.2. backup pieces 备份片一个备份集由若干个备份片组成。每个备份片是一个单独的输出文件。一个备份片的大
6、小是有限制的;假如没有大小的限制, 备份集就只由一个备份片构成。备份片的大小不能大于使用的文件系统所支持的文件长度的最大值。2.3. image copies 镜像备份镜像备份是独立文件(数据文件、归档日志、把握文件)的备份。它很类似操作系统级的文件备份。它不是备份集或 备份片,也没有被压缩。2.4. full backup sets 全备份集合全备份是一个或多个数据文件中使用过的数据块的的备份。没有使用过的数据块是不被备份的,也就是说,oracle 进行备份集合的压缩。2.5. incremental backup sets 增量备份集合增量备份是指备份一个或多个数据文件的自从上一次同一级别
7、的或更低级别的备份以来被修改过的数据块。 与完全备份相同,增量备份也进行压缩。2.6. file multiplexing不同的多个数据文件的数据块可以混合备份在一个备份集中。2.7. recovery catalog resyncing 恢复名目同步使用恢复治理器执行 backup、copy、restore 或者 switch 命令时,恢复名目自动进行更新,但是有关日志与归档日志信息没有自动记入恢复名目。需要进行名目同步。使用resync catalog 命令进行同步。rman>resync catalog;rman-03022:正在编译命令:resync rman-03023:正在执
8、行命令:resyncrman-08002:正在启动全部恢复名目的 resync rman-08004:完成全部 resync3. the recovery catalog 恢复名目3.1. 恢复名目的概念恢复名目是由rman 使用、维护的用来放置备份信息的仓库。rman 利用恢复名目记载的信息去推断如何执行需要的备份恢复操作。恢复名目可以存在于oracle 数据库的方案中。虽然恢复名目可以用来备份多个数据库,建议为恢复名目数据库创建一个单独的数据库。恢复名目数据库不能使用恢复名目备份自身。3.2. 建立恢复名目第一步,在名目数据库中创建恢复名目所用表空间:sql> create tabl
9、espace rman_ts datafile ”d:oracleoradatarmanrman_ts.dbf” size 20m;表空间已创建。其次步,在名目数据库中创建rman 用户并授权:sql> create user rman identified by rman default tablespace rman_ts temporary tablespace temp quota unlimited on rman_ts;用户已创建。sql> grant recovery_catalog_owner to rman ;授权成功。sql> grant connect,
10、 resource to rman ;授权成功。第三步,在名目数据库中创建恢复名目c:>rman catalog rman/rman恢复治理器:版本 8.1.6.0.0 - production rman-06008:连接到恢复名目数据库rman-06428:未安装恢复名目rman>create catalog tablespace rman_ts;rman-06431:恢复名目已创建留意:虽然使用rman 不肯定必需恢复名目,但是推举使用。由于恢复名目记载的信息大部分可以通过把握文件来记载,rman 在恢复数据库时使用这些信息。不使用恢复名目将会对备份恢复操作有限制。3.3. 使
11、用恢复名目的优势Ø 可以存储脚本;Ø 记载较长时间的备份恢复操作;4. starting rman 启动 rmanrman 为交互式命令行处理界面,也可以从企业治理器中运行。为了使用下面的实例,先检查环境符合:Ø the target database is called “his“ and has the same tns aliasØ user rman has been granted “recovery_catalog_owner “privilegesØ 目标数据库的连接用户为internal 帐号,或者以其他sysdba 类型帐号连
12、接Ø the recovery catalog database is called “rman“ and has the same tns aliasØ the schema containing the recovery catalog is “rman“ (same password)在使用rman 前,设置nls_date_format 和 nls_lang 环境变量,很多rman list 命令的输出结果是与日期时间相关的,这点在用户期望执行以时间为基准的恢复工作也很重要。下例是环境变量的示范:nls_lang= simplified chinese_china.
13、zhs16gbk nls_date_format=dd-mon-yyyy hh24:mi:ss为了保证 rman 使用时能连接恢复名目,恢复名目数据库必需打开,目标数据库至少要 started(unmount),否则 rman 会返回一个错误,目标数据库必需置于归档模式下。4.1. 使用不带恢复名目的 rman设置目标数据库的 oracle_sid ,执行:% rman nocatalog rman> connect targetrman> connect target internal/<password>his4.2. 使用带恢复名目的 rman% rman rma
14、n_ts rman/rmanrman rman> connect target% rman rman_ts rman/rmanrman target internal/<password>his4.3. 使用 rman一旦连接到目标数据库,可以通过交互界面或者事先存储的脚本执行指定rman 命令, 下面是一个使用rman 交互界面的实例:rman> resync catalog;rman-03022:正在编译命令:resync rman-03023:正在执行命令:resyncrman-08002:正在启动全部恢复名目的 resync rman-08004:完成全部 re
15、sync使用脚本的实例:rman> execute script alloc_1_disk;创建或者替代存储的脚本:rman> replace script alloc_1_disk 2> allocate channel d1 type disk; 3> 5. 注册或者注销目标数据库5.1. 注册目标数据库数据库状态:Ø 恢复名目状态:打开Ø 目标数据库:加载或者打开目标数据库在第一次使用rman 之前必需在恢复名目中注册:第一步,启动恢复治理器,并且连接目标数据库: c:>rman target internal/oraclehis cat
16、alog rman/rmanrman 恢复治理器:版本 8.1.6.0.0 - productionrman-06005:连接到目标数据库:his (dbid=3021445076)rman-06008:连接到恢复名目数据库其次步,注册数据库:rman> register database;rman-03022:正在编译命令:register rman-03023:正在执行命令:register rman-08006:注册在恢复名目中的数据库rman-03023:正在执行命令:full resyncrman-08002:正在启动全部恢复名目的resync rman-08004:完成全部r
17、esync5.2. 注销目标数据库rman 供应了一个注销工具,叫 dbms_rcvcat 工具包,请留意一旦注销了该目标数据库,就不行以使用恢复名目中含有的备份集来恢复数据库了。为了能注销数据库,需要获得数据库的标识码(db_id)和数据库键值(db_key)。其中连接目标数据库时将会获得db_id。c:>rman target internal/oraclehis catalog rman/rmanrman恢复治理器:版本 8.1.6.0.0 - productionrman-06005:连接到目标数据库:his (dbid=3021445076)rman-06008:连接到恢复名目
18、数据库其中dbid=3021445076,利用dbid=3021445076 查询数据库键值码: 连接到目标数据库,查询db 表:sql> select * from db;db_keydb_idcurr_dbinc_key130214450762获得 db_key1,这样,该目标数据库 db_key1,dbid=3021445076,利用两个值使用dbms_rcvcat工具包就可以注销数据库:sql> execute dbms_rcvcat.unregisterdatabase(1,3021445076);pl/sql 过程已成功完成。至此,注销数据库操作完成。6. 将已有的备份
19、操作6.1. 加入名目数据库数据库状态:Ø 恢复名目:打开Ø 目标数据库:加载或者打开假如存在 8.x 版本以前创建的备份数据想注册到目标数据库,可以接受如下手工方式加入到恢复名目中,rman> catalog datafilecopy ”/oracle/system01.dbf”;使用如下命令显示恢复名目中包含的文件rman> list copy of database;6.2. 从名目数据库中删除第一步:查看备份信息:rman>list backup;rman-03022:正在编译命令:list备份集列表关键字recid标记lv集合标记集合计数完成时间
20、110425013644550501364446206-8 月 -03备份段列表关键字 pc# cp# 状态完成时间段名110611available06-8 月 -03d:oracleora81database02eu4dmu_1_1数据文件包括列表文件 名称lv 类型 检查点 scn检查点时间3d:oracleoradatahisusers01.dbf0full 16005206-8 月 -03备份集的关键字为 1104。其次步:定义delete 通道:rman>allocate channel for delete type disk;rman-03022:正在编译命令:alloc
21、ate rman-03023:正在执行命令:allocate rman-08030:安排的通道:deleterman-08500:通道 delete:sid=19 devtype=disk第三步:删除backupset 备份集rman>change backupset 1104 delete;rman-03022:正在编译命令:change rman-08073:已删除备份段rman-08517 : 备 份 段handle=d:oracleora81database02eu4dmu_1_1recid=2 stamp=50 1364447rman-03023:正在执行命令:partial
22、resyncrman-08003:启动部分恢复名目的 resync rman-08005:完成部分 resync留意:部分执行删除备份集、备份片或者维护恢复名目的命令,需要先指定通道,如:rman>allocate channel for delete type disk;或者rman>allocate channel for maintenance type disk;7. 在非归档模式下备份数据库状态:Ø 恢复名目: 打开Ø 目标数据库:例程启动或者数据库加载恢复名目数据库需要打开,目标数据库必需启动(或者加载)。由于目标数据库不在归档模式下,所以当进行备份
23、恢复操作的时候数据库无法打开。不行以将表空间置于热备份模式上进行等同于文件系统级的拷贝,假如在非归档模式,数据库打开的状态下不能进行数据文件的备份。7.1. 数据库完全备份rman> run 2> # backup the complete database to disk 3> allocate channel dev1 type disk;4> backup5>full6>tag full_db_backup7>format ”/oracle/backups/db_t%t_s%s_p%p”8>(database);9> release
24、channel dev1; 10> 行#2: 表明该行为注释行(是注释符)3&9: see section 15 channels 通道定义5: full backup (default if full or incremental not specified)完全备份模式(缺省模式) 6: meaningful string (<=30 chars)(备份集标识,<30 个字符)7: filename to use for backup pieces, including substitution variables.备份片使用的文件名,可以包含代替变量。8: in
25、dicates all files including controlfiles are to be backed up 表明备份全部数据文件包括把握文件通过下面的命令显示恢复名目中记载的备份集信息:rman> list backupset of database;7.2. 备份表空间rman> run 2> allocate channel dev1 type disk; 3> backup4>tag tbs_users_read_only5>format ”/oracle/backups/tbs_users_t%t_s%s”6>(tablespac
26、e users)7> 使用下列命令来显示恢复名目中该表的备份信息:rman> list backupset of tablespace users;假设users 表空间在备份后被置为read only 表空间,以后的全库备份就可以不用备份该表空间,为了达到这个目的,可以在以后的备份中指定”skip readonly”。留意,目标数据库不需要肯定打开,只要加载就可以,由于表空间的信息存储在把握文件中。7.3. 备份单独数据文件rman> run 2> allocate channel dev1 type ”sbt_tape”; 3> backup4>form
27、at ”%d_%u”5>(datafile ”/oracle/dbs/sysbigdb.dbf”); 6> release channel dev1;7> 行#2: 使用mml(media manager layer)安排磁带驱动器,必需指定类型为sbt_tape;留意由于没有指定标识,所以标识为空;使用下面的命令显示恢复名目中备份的表空间:rman> list backupset of datafile 1;7.4. 备份数据文件rman> run 2> allocate channel dev1 type ”sbt_tape”;3> copydat
28、afile”/oracle/dbs/temp.dbf”to ”/oracle/backups/temp.dbf”;4> release channel dev1; 5> 使用下面的命令显示恢复名目中的文件拷贝:rman> list copy of datafile ”/oracle/dbs/temp.dbf”;拷贝数据文件和备份数据文件是不一样的,数据文件拷贝是一个该文件的镜像。文件的备份产生一个备份集。7.5. 备份把握文件rman> run 2> allocate channel dev1 type ”sbt_tape”; 3> backup4>f
29、ormat ”cf_t%t_s%s_p%p”5>tag cf_monday_night6>(current controlfile); 7> release channel dev1;8> 留意:数据库完全备份将自动备份把握文件。8. 归档模式下的备份数据库状态:恢复名目:打开目标数据库:例程启动,数据库加载或者打开备份操作使用的命令与非归档模式下基本一样。8.1. backing up archived logs 备份归档日志下面的脚本备份归档日志:rman> run 2> allocate channel dev1 type disk; 3> ba
30、ckup4>format ”/oracle/backups/log_t%t_s%s_p%p”5>(archivelog all); 6> release channel dev1; 7> 下面的脚本归档日志从# 90 to 100:rman> run 2> allocate channel dev1 type disk; 3> backup4>format ”/oracle/backups/log_t%t_s%s_p%p”5>(archivelog from logseq=90 until logseq=100 thread 1); 6&g
31、t; release channel dev1;7> 下面的脚本备份在 24 小时内产生的归档日志,在备份完成后会自动删除归档日志。假如备份失败,归档日志不会被删除。rman> run 2> allocate channel dev1 type disk; 3> backup4>format ”/oracle/backups/log_t%t_s%s_p%p”5>(archivelog from time ”sysdate-1” all delete input); 6> release channel dev1;7> 使用下面的命令显示恢复名目中
32、的归档日志:rman> list backupset of archivelog all;留意:rman 找到归档日志后会备份指定日志,假如无法找到日志,它也不会返回错误信息。8.2. backing up the online logs 备份联机日志联机日志不能用rman 来备份,必需先将其归档。为了实现这点,必需在rman 中执行如下sql 语句:rman> run 2> allocate channel dev1 type disk;3> sql “alter system archive log current“; 4> backup5>format
33、 ”/oracle/backups/log_t%t_s%s_p%p”6>(archivelog from time ”sysdate-1” all delete input); 7> release channel dev1;8> 上面的脚本可以在执行完一个完整的联机数据库备份后执行,确保全部的重做日志可以将数据库恢复到一个全都性的状态。留意:不行以标识归档日志备份集。9. incremental backups 增量备份n 级别增量备份备份从最近的n 级别或者更小级别以来的全部更改过的数据块内容。增量备份分为两种,一种是累积增量备份,一种是非累积增量备份。Ø 累积
34、增量备份包括自最终一次在更低级别进行备份以来全部改动过的数据块。Ø 非累积增量备份包括自前一次在同级或者更低级别进行备份以来改动过的数据块。9.1. level 0增量备份策略的基础level 0 是增量备份策略的基础the basis of the incremental backup strategyrman> run 2> allocate channel dev1 type disk; 3> backup4>incremental level 05>filesperset 46>format ”/oracle/backups/sunday_
35、level0_%t”7>(database);8> release channel dev1; 9> line# 4: 0 级备份5: 定义每个backupset 的最大文件数使用 list 语句查看,数据库备份集的列表显示中, ”type” 将显示 ”incremental”,”lv”列将显示”0” 。9.2. 使用增量备份的案例一个典型的增量备份案例如下:Ø 星期天晚上 - level 0 backup performedØ 星期一晚上 - level 2 backup performedØ 星期二晚上 - level 2 backup pe
36、rformedØ 星期三晚上 - level 1 backup performedØ 星期四晚上 - level 2 backup performedØ 星期五晚上 - level 2 backup performedØ 星期六晚上 - level 2 backup performedØ 星期天晚上 - level 0 backup performed10. recovery 恢复恢复案例如下:10.1. database open,datafile deleted 数据库打开时,文件被删除数据文件在数据库打开时被删除。有两种方法可以对打开的数
37、据库进行恢复:还原数据文件或者表空间。下面两个实例显示了该方法:(a) datafile recovery 数据文件恢复rman> run 2>allocate channel dev1type disk;3>sql “alter tablespaceusers offline immediate“;4>restore datafile 4;5>recover datafile 4;6>sql “alter tablespaceusers online“;7>release channel dev1;8>(b) tablespace recove
38、ry 表空间恢复rman> run 2> allocate channel dev1 type disk;3> sql “alter tablespace users offline immediate“; 4> restore tablespace users;5> recover tablespace users;6> sql “alter tablespace users online“; 7> release channel dev1;8> 留意:假如还原系统表空间文件,数据库必需关闭,由于系统表空间不行以脱机。10.2. complet
39、e restore (lost online redo) and rollforward - database closed 完全还原(丢失联机日志) 并且前滚 - 数据库关闭rman> run 2> allocate channel dev1 type disk; 3> set until logseq=105 thread=1;4> restore controlfile to ”/oracle/dbs/ctrltargdb.ctl”;5> replicate controlfile from ”/oracle/dbs/ctrltargdb.ctl”; 6&g
40、t; restore database;7> sql “alter database mount“; 8> recover database;9> sql “alter database open resetlogs“; 10> release channel dev1;11> notes:”set until” 命令指明恢复到指定的日志文件。这一点在数据文件恢复时很重要,否则rman 将试图恢复最近的数据文件,该数据文件可能在指定的日志以前。”replicate controlfile” 复制还原的把握文件到init.ora 指定的把握文件。假如数据库使用wit
41、h resetlogs 打开,则需要使用reset database命令注册转变后的数据库。在使用 resetlogs 命令打开数据库后猛烈建议做一个完全的数据库备份。10.3. restore of a subset of datafiles, complete recovery 还原数据文件的子集,完全恢复rman> run 2> allocate channel dev1 type disk; 3> sql “alter database mount“;4> restore datafile 2;5> restore datafile 3;6> res
42、tore archivelog all; 7> recover database;8> sql “alter database open“; 9> release channel dev1;10> 11. scripts脚本创建或者取代脚本:rman> create script alloc_disk 2># allocates one disk3>allocate channel dev1 type disk;4>setlimit channel dev1 kbytes 2097150maxopenfiles 32readrate200;5&g
43、t;rman> replace script rel_disk 2> # releases disk3> release channel dev1; 5> rman> replace script backup_db_full 2> # performs a complete backup3> execute script alloc_disk; 4> backup5> .<backup commands here> 6> execute script rel_disk; 7> 前两个脚本分别用来安排和回收通道。al
44、loc_disk 脚本还额外指定了备份片的最大兆字节数,备份时可以同时打开的输入文件的最大数目,以及每秒钟读每个输入文件的数据缓冲区的最大数目。第三个脚本调用从前存储的两个脚本进行数据库备份。运行存储脚本的示范:rman> run 2> execute script backup_db_full; 3> 留意:存储的脚本必需在 . execute <script>命令中调用。12. corruption detectionrman 可以备份包含损坏数据块的数据文件,查询视图v$back_corruption 和v$copy_corruption 可以获得有关坏数据的信息。通过设置 set maxcorrupt 可以跳过指定个数的坏块来避开备份失败。rman> replace script backup_db_full 2> # performs a complete backup3> execute sc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高考时政试题及答案解析
- 送给恋人的毕业赠言(4篇)
- 2024年客服工作年度总结模板5篇
- DB31∕T 680.7-2019 城市公共用水定额及其计算方法 第7部分:零售业(超市大卖场、商场)
- 2025年玻璃纤维及其制品项目建议书
- 前列腺余例体会
- 泵站电工知识培训课件
- 2025年幼儿园园本培训质量提升策略
- 环境行业环保试题库
- 项目进度调整通知函
- 新人教版二年级数学下册期末考试卷及答案【1套】
- 2024至2030年全球及中国电竞游戏外设行业深度研究报告
- 家具公司合伙协议
- DL5000-火力发电厂设计技术规程
- 《医德医风学习记录》
- 羊水穿刺的委托书
- 爆破飞石控制措施
- 2024年新疆生产建设兵团兴新职业技术学院单招职业适应性测试题库必考题
- (高清版)JTGT M72-01-2017 公路隧道养护工程预算定额
- DZ∕T 0130.6-2006 地质矿产实验室测试质量管理规范 第6部分:水样分析(正式版)
- 2024年辽宁生态工程职业学院单招职业适应性测试题库一套
评论
0/150
提交评论