[三思笔记]RMAN高级应用之Duplicate复制数据库_第1页
[三思笔记]RMAN高级应用之Duplicate复制数据库_第2页
[三思笔记]RMAN高级应用之Duplicate复制数据库_第3页
[三思笔记]RMAN高级应用之Duplicate复制数据库_第4页
[三思笔记]RMAN高级应用之Duplicate复制数据库_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、三思笔记RMAN高级应用之Duplicate复制数据库本系列中涉及到不少初级概念,比如不完全恢复啦,Catalog啦,通道啦之类,如果兄台对一些基础概念仍有不解,建议先参阅我之前写的“一步一步学 RMAN ”系列。君三思 junsan sis in 第一篇基本概述 2007.10.15第二篇创建辅助实例 2007.10.18第三篇不同环境下的复制流程 2007.10.20第四篇实战2007.10.22第五篇附录2007.10.23三思笔记卜RMAN高级应用-Duplicate复制数据库QQ: 5454589 君三思第一篇 基本概述 2007.10.15Creating a Duplicate

2、Database with RMAN: Overview使用RMAN DUPLICATE命令可以在保留目标数据库的基础上依靠目标数据库(Target Database)的备份创建一个副本数据库(Duplicate Database)。该副本即可与目标数据库完全相同,也可仅包含目标数据库表空间的一部子集。目标站点(Target Site)以及副本站点(Duplicate Site)甚至可以在同一台机器上。哈哈,使用Duplicate命令创建 Duplicate 数据库,所谓术业有专攻仅字面意义理解用到这里也算名有所指了吧:)副本数据库呢是目标数据库的一个拷贝。言下之义即是说可以把它当成很正式的测

3、试数据库,想干嘛干 嘛 :), 比 如 :测试备份和恢复过程。 导出数据,例如在生产数据库上被有意无意删除的表,然后你就可以再将其导入生产数据库。再比如,你可以从Host1复制生产数据库到 Host2,然后使用Host2上的副本数据库实践修复、恢复等操作,而生产数据库则完全不受其影响。需要注意的是,虽然都可以通过Duplicate命令创建,但是副本数据库与备库(Standby Database)还是有区别地。备库是主库(Primary Database)的一份拷贝,你可以根据主库的Archived Logs定期或不定期的更新它。如果主库崩溃,你还可以将其转换为主库使用。而副本数据库则并非为故障

4、切换设计,而且也不支持这种Standby恢复和故障切换。 (Duplicate 命令创建备库与创建副本库只是语法上小有差异, 但由于备库涉及的大部分操作均 与 duplicate 无关联,所以本章节中不会体现,如有兴趣可以自行参照: Oracle Data Guard Concepts andAdministration ,或者你有足够的心耐心等俺出相关笔记,放心不出三五十年俺一定会写成的。)RMAN 如何创建数据库副本。首先需要创建一个辅助实例 (auxiliary instance, 至于如何创建嘛,本章是概述就不细致体现了,你要是着 急想看,请翻页 )。通过 RMAN 必须能够连接到目标

5、数据库及启动到 nomount 模式下的辅助实例。至少在辅助实例上分配一条辅助通道,复制的主要工作都是通过在副本站点启动的服务器session的辅助通道实施的。然后应用主库的必要备份,并创建及恢复副本数据库。RMAN 客户端可以在任何地方运行,只要能够连接到主、辅实例。所有可被副本站点访问到的备份以及 archived redo logs 都将被用于创建和恢复副本数据库。 如果副本站点与目标站点不在一起, 你必须确保副本站点 的备份所在路径与主库路径一致,如果路径无法保持一致,则必须保证副本站点能够访问到备份所在路径。如果你使用的磁盘备份,可以通过下列方式确保路径可用: 手工复制备份源站点到远

6、程站点的相同路径。例如,源站点的备份文件在d:oradatabkp 下,则复制到副本站点时也复制到 d:oradatabkp 目录下。 手工操作备份从源站点到副本站点的新路径下,例如,源站点的备份文件在d:oradatabkp 下,你可以将其复制到副本站点的 d:oradatadup2 下。 d:oradatadup2 对于目标站点和副本站点都要可访问到,运行 Catalog 命令添加这些备份到副本站点 Rman 备份集中。使用 NFS 共享磁盘来确保远程站点在相同路径下。如果使用的是磁带备份。磁带这东西咱可没用过,如果你不想看使用说明书的话,那你就 直接问上帝他老人家吧。做为复制操作的一部分

7、, RMAN 自动执行下列步骤: 为副本数据库创建控制文件。 Restore 数据文件到副本数据库,并通过增量备份和 Archived Redo Logs 进行不完全恢复。 重启辅助实例,以加载服务器端的初始化参数文件。不完全恢复后通过 Resetlogs 方式 Open 副本数据库以 重建 Online Redo Logs(Duplicate . For Standby 方式除外,该操作不会打开数据库 )。为副本数据库产生一个新的,唯一的DBID(Duplicate. For Standby 方式除外,该方式不会创建新的唯一 DBID) 。在创建副本期间, RMAN 必须进行不完全恢复,因为

8、目标库的 Online Redo Logs 并不能时时备份并应用到 副本数据库。 RMAN 最多也就能取到目标数据库最近一次备份的数据恢复到副本数据库。RMAN 数据库副本:可选操作 为了避免你在创建副本数据库时,每次都翻着死鱼一样的白眼盯着黑乎乎的屏幕无所事事, oracle 非常用 心地提供了一些选项期望能让你每次的操作都可以不同如下:Duplicate 命令可在 Catalog 或 Nocatalog 模式下运行 (关于 catalog 的知识你可以找找三思的另一个 系列:一步一步学 RMAN) 。使用 SKIP READONLY 子句跳过只读表空间。默认情况下复制包含只读表空间。通过

9、SKIP TABLESPACE 子句跳过指定表空间。 SYSTEM 表空间或包含回滚、 UNDO 的表空间除 外。可以将副本数据库创建到新站点,如果新站点的目录结构与主相同的话,必须指定 NOFILENAMECHECK 选项。从传统文件系统复制到 ASM 或 OMF 。默认情况下, DUPLICATE 命令通过目标数据的最近一次备份创建副本数据库,并恢复到归档日 志中的最近一致点。另外,你也可以使用 RUN 命令块,执行 SET UNTIL 命令,或者执行 DUPLICATE 命 令时附带 UNTIL 子句,控制 RMAN 将副本数据库恢复到指定的时间点(不过,注意指定的时间点不要超出了备份的

10、范围 )。可以将副本数据库在相同恢复目录中注册成一个目标数据库,因为该副本数据库拥有一个新的唯 一的 DBID 。在某些情况下, 你可以设置副本数据库的 DB_NAME 与目标数据库 DB_NAME 不同,更明确的讲 , 如果副本数据库与目标库在相同的Oracle Home,贝U DB_NAME的初始化参数必须不同。如果两者在不同的Oracle Home,则畐U本数据库的 DB_NAME在其所在的 Oracle Home中必须唯一。这才是副本数据库可 以与目标库在相同站点的真正原因。三思笔记 -RMAN 高级应用 -Duplicate 复制数据库QQ:5454589 君三思第二篇创建辅助实例2

11、007.10.18Preparing the RMAN DUPLICATE Auxiliary Instanee: Basic Steps辅助实例是创建副本数据库的重要一步般而言会有下列几个步骤,有些你已经听说了,有些,你还从、创建辅助实例的密码文件(Create an Oracle Password File for the Auxiliary Instanee)Oracle提供了一个创建密码文件的命令:ORAPWD。该命令有两种调用方式,带参调用和不带参调用。不带参调用时,会返回该命令的调用方式和参数形式。F:oracle>orapwdUsage: orapwd file=<f

12、name> password=<password> entries=<users> force=<y/n>wherefile - nameof password file (mand),password - password for SYS (mand),entries - maximum number of distinet DBA andforce - whether to overwrite existing file(opt),OPERs (opt), There are no spacesaround the equal-to (=) cha

13、racter.File表示文件名称和路径,password表示sys用户密码,entries指定拥有sys权限的用户最大数,force表示 如果文件存在是否覆盖。File和password为必填参。该命令使用非常简单,不详述了,举示例如下:F:oracle>orapwd file=F:oracleproduct10.2.0db_1databasePWDjssdup.ora password=verysafe:) entries=30二、连接到实例(Establish Oracle Net Connectivity to the Auxiliary Instanee)注意,如果是 wind

14、ows环境,需要首先通过ORADIM 命令创建一个新的OracleService,linux环境可以跳过这一步,我是说,跳过 oradim这步。本小节其它操作还是要做的。F:oracle>oradim -new -sid jssdup实例已创建。F:oracle>set oracle_sid=jssdupF:oracle>sqlplus "/ assysdba"SQL*Plus: Release10.2.0.1.0 -Production on 星期四 10 月 18 17:26:03 2007Copyright (c) 1982, 2005, Oracl

15、e. All rights reserved.已连接到空闲例程。然后就是配置监听啦,修改tnsn ame.ora之类,总之就是你要能够连接到这个辅助实例上来才算了事。、创建辅助实例的初始化参数文件(Create an InitializationParameter File for the Auxiliary Instanee)由于是手工建库,相应目录也需要自己手工创建:F:oracle>md product10.2.0adminjssdupF:oracle>cd product10.2.0adminjssdupF:oracleproduct1020adminjssdup>m

16、d adump bdump cdump dpdump pfile udump1.首先创建本地初始化参数文件,比着原库的pfile改改就是,内容不需要太多, DB_NAME,CONTROL_FILES 两项参数为必须项。本例中副本数据库与主库在同一台机器,所以需要注意DB_NAME不能相同。同时还有一些其它参数,反正你就看着改吧,觉着必须的话就用上。注意:辅助实例的 BLOCK SIZE必须与目标库相同。如果目标库的参数文件包括DB_BLOCK_SIZE的参数,你必须指定辅助实例中该参数的值与目标库相同。如果目标库的参数文件中未指定该参数,则辅 助实例的参数文件中也不必指定。如果是复制到一个新系

17、统或新站点的话,还需要注意各项初始化参数中的路径,必须确认该路径对于 你的复制是有效的。下面是三思操作时的示例,为了省事参数设置非常简单。实际上还可以更简单,比如只保留前6项。当然最简单的就是只保留前3项。呵呵,这就得你自己根据实际情况定了,但是需要注意第3项,虽然官方文件中并没有声明shared_pool_size为必须项,但如果该项不指定或者指定了较小值,在执行RMAN时都极可能报错,建议此处设定的值不要太小,我这里设置接近200M。db_n ame='jssdup'con trol_files='F:oracleoradatajssdupc on trol01.c

18、tl','F:oracleoradatajssdupc on trol02.ctl','F:oracleoradatajssdu pcon trol03.ctl'shared_pool_size=200000000 db_block_size=8192 db_file_ name_c on vert=('F:oracleoradatajssweb','F:oracleoradatajssdup') log_file_ name_c on vert=('F:oracleoradatajssweb','

19、F:oracleoradatajssdup')audit_file_dest='F:oracleproduct10.2.0adm injssdupadump'backgro un d_dump_dest='F:oracleproduct10.2.0adm injssdupbdump' compatible='10.2.0.1.0'core_dump_dest='F:oracleproduct10.2.0adm injssdupcdump' user_dump_dest='F:oracleproduct10.2.0a

20、dm injssdupudump'2.通过CREATE SPFILE命令创建服务器端初始化参数文件SQL> create spfile from pfile ='F:oracleproduct10.2.0adminjssduppfileinit.ora'文件已创建。这一步也并非完全必须,如果你愿意在执行 duplicate命令时指定pfile参数的话呢,也可以不用创建 spfile。一般情况下,除非脑袋被门挤了,没人愿意采用麻烦的方式专门自己给自己找不痛快吧。更何况spfile是做为oracle9i以来的一项进步而存在,其优势就不用多提了吧:)四、启动辅助实例(S

21、tart the Auxiliary Instanee) 接着上一步,创建完 spfile之后:SQL> startup force nomount;ORACLE例程已经启动。Total System Global Area117440512 bytesFixed Size1247588 bytesVariable Size58721948 bytesDatabase Buffers50331648 bytesRedo Buffers7139328 bytesSQL>重启实例以加载服务器端初始化参数文件。由于尚无控制文件,你也只能将其启动到nomount模式。Oracle说,千万不

22、要尝试去创建控制文件,或者力口载至U mount或open状态。RMAN重启辅助实例是复制操作的一部分。因此,默认情况下创建服务器端的初始化参数文件是最佳选择哎,又回老话题上了。如果没能创建服务器端初始化参数文件的话,你就必须指定客户端初始化参数文件做为 duplicate 的参数。五、Mount 或 open 目标数据库(Mount or Open the Target Database)注意哟,这步连接的是目标库。如果目标库尚未处于mount或open状态的话,将其加载到mount或open状态。F:oracle>set oracle_sid=jsswebF:oracle>sq

23、lplus "/ assysdba"SQL*Plus: Release10.2.0.1.0-Production on 星期五 10 月 19 13:11:22 2007Copyright (c) 1982, 2005, Oracle. All rights reserved.已连接到空闲例程。SQL> startupORACLE例程已经启动。Total System Global Area 113246208 bytesFixed Size1247564 bytesVariable Size83887796 bytesDatabase Buffers20971520

24、 bytesRedo Buffers7139328 bytes数据库装载完毕。数据库已经打开。SQL>六、确认拥有必备的备份(Make Sure You Have the Necessary Backups and Archived Redo Logs)检查备份,没备份就没法恢复,而恢复又是duplicate的主要工作。SoWhat are you waiting for? JustCheckCheckCheck!七、分配辅助通道(Allocate Auxiliary Channels if Automatic Channels Are Not Configured)首先运行rman连接

25、到目标数据库和辅助实例(如果有catalog的话,可以同时指定 catalog)o如果辅助实例是通过客户端初始化参数文件启动的话,该文件在运行rman的客户端也必须存在。F:oracle>set oracle_sid=jssweb#目标数据库使用操作系统认证,所以首先设置SIDF:oracle>rman target / auxiliary sys/verysafe:)jssdup恢复管理器:Release10.2.0.1.0 - Production on 星期五 10 月 19 15:03:10 2007Copyright (c) 1982, 2005, Oracle. All

26、 rights reserved.连接到目标数据库:JSSWEB (DBID=3402005373)已连接到辅助数据库:JSSDUP (未装载)RMAN>辅助实例的事儿基本上就完了,最后一步是分配通道。如果你没有设置自动分配通道的话,那么在运行duplicate命令之前,至少要手工指定一个通道。通道是在RMAN的RUN块中指定,如下例:RUN#手工分配通道类型为 sbt:ALLOCATE AUXILIARY CHANNEL ch1 DEVICE TYPE sbt;#手工分配通道类型为disk#通道名为自定义ALLOCATE AUXILIARYCHANNELaux1 DEVICETYPED

27、ISK;ALLOCATE AUXILIARYCHANNELaux2 DEVICETYPEDISK;ALLOCATE AUXILIARYCHANNELaux3 DEVICETYPEDISK;DUPLICATE TARGET DATABASE TO jssdup;如果备份文件保存在磁盘上,分配的通道越多则速度越快,如果备份文件在磁带上,最少指定设备数量个 通道。三思笔记卜RMAN高级应用-Duplicate复制数据库QQ : 5454589 君三思三思笔记卜RMAN高级应用-Duplicate复制数据库QQ : 5454589 君三思2007.10.20第三篇 不同环境下的复制流程Creating

28、 a Duplicate Database on a Local or Remote Host不同配置决定不同的复制的流程。一、 远程站点相同路径结构的复制(Duplicating a Database on a Remote Host with the Same Directory Structure)对于这种选择而言,操作实在太过简单,你甚至不需要修改初始化参数文件或者重命名复制的数据文件(可惜,做测试的话这却不能做为我们的首选,一般测试都只有一台机器,难道让我再虚拟个操作系统?)如果是 多台机器的话,这种操作非常省事,步骤也很少:1、创建辅助实例。2、Rman连接并运行duplicate

29、命令,结束。确实太简单的是吧,好吧那我来给你找点麻烦,注意第2步,其执行是有几个先决条件的。或者说伟大的oracle大人又一次下放了它高贵的权力,而给你来做出选择,如下:如果没有配置自动分配通道的话,表忘记至少手工指定1条辅助通道。表忘记指定NOFILENAMECHECK 参。就像前面说的,如果辅助实例并非服务器端初始化参数文件启动,表忘记指定PFILE参数。更加表忘记该文件必须在运行RMAN的客户端上。例如,假设你配置了自动分配通道,并且决定使用pfile启动辅助实例,那么在RMAN连接到目标库和辅助实例之后,只需要执行下列:DUPLICATE TARGET DATABASE TO dupd

30、bPFILE = F:oracleproduct1020admi njssduppfilei ni t.oraNOFILENAMECHECK;最后,RMAN会自动以RESETLOGS方式打开数据库并重建 REDO LOGS。竣工。二、远程站点不同路径结构 的复制(Duplicating a Database on a Remote Host with a Different Directory Structure)如果副本数据库创建在远程站点,并且目录结构也不一致,那么你必须修改几个初始化参数值以便副本数 据库的数据文件能够在新的目录结构存取。这种类型的复制又可以细分成几个小类:1、在初始化参

31、数中重命名复制文件和日志文件,复制步骤如下:a)首先还是创建辅助实例。注意初始化参数的配置,按下列的方式进行一些调整。浏览初始化参数中以_DEST结尾的参数以及包含路径的参数,确认这些路径对即将创建的副 本数据库有效。设置DB_FILE_NAME_CONVERT 参数,让其自动转换数据文件路径。设置LOG_FILE_NAME_CONVERT 参数,让其自动转换日志文件路径。所谓道有千条我取其一,除了上述方式之外呢,还有很多其它方法来指定文件存放路径,比如CONFIGURE AUXNAME 或SET NEWNAME 命令等等。不过此处是在写初始化参数中重命名类型的复制,就不多占篇章了,后面有章节

32、专门讲解。感兴趣的朋友不妨keep你的好奇心,往下看:)b) RMAN连接并执行duplicate命令,结束。在这里同样需要注意辅助通道的分配和pfile的加载(如果使用pfile的话)。例如,我们使用自动分配通道,并且辅助实例使用服务器端初始化参数文件,这下dulicate命令更简单了:DUPLICATE TARGET DATABASE TO dupdb;这种方式主要的工作都在创建辅助实例上。2、在Duplicate命令中重命名数据、日志文件,复制步骤如下:a. 创建辅助实例。b. RMAN连接运行Duplicate命令,注意此处需要加些参数如下:通道,还是通道!如果没有自动分配通道,则至少

33、要手工指定一条辅助通道。通过LOGFILE子句指定副本数据库 redo logs文件地址大小等。通过DB_FILE_NAME_CONVERT 转换原数据文件路径到新路径。pfile,又见pfile。如果使用了 pfile的话,表忘记指定 pfile参数。例如,我们使用自动分配通道,但辅助实例未使用服务器端初始化参数文件,手工指定日志文件数据 文件路径,示例如下:DUPLICATE TARGET DATABASE TO dupdbPFILE = F:oracleproduct1020admi njssduppfilei ni t.oraDB_FILE_NAME_CONVERT=(F:oracle

34、oradatajssweb,F:oracleoradatajssdup) LOGFILE'F:oracleoradatajssdupredo01.log' SIZE 20M,'F:oracleoradatajssdupredo02.log' SIZE 20M,'F:oracleoradatajssdupredo03.log' SIZE 20M;3、使用SET NEWNAME 命令重命名数据文件,复制步骤如下:a. 创建辅助实例。b. RMAN连接并按下列步骤执行:配置通道;使用SET NEWNAME命令设置数据文件新路径;Duplicate命令设

35、置logfile,如辅助实例采用 pfile要加载pfile。本节重点是SET NEWNAME命令格式,见例:RUN# set new file names for the datafilesSET NEWNAME FOR DATAFILE 1 TO 'F:oracleoradatajssdupsystem01.dbf;SET NEWNAME FOR DATAFILE 2 TO 'F:oracleoradatajssdupundotbs01.dbf;# issuethe duplicate comma ndDUPLICATE TARGET DATABASE TO dupdb#

36、create at least two online redo log groups4、使用CONFIGURE AUXNAME 命令重命名数据文件,复制步骤如下:略与上同,不详述,唯一不同处即是CONFIGURE AUXNAME 命令格式,如例,而且con figure命令是在run块外执行的:# con figure the new desired file namesCONFIGURE AUXNAME FOR DATAFILE 1 TO 'F:oracleoradatajssdupsystem01.dbf;CONFIGURE AUXNAME FOR DATAFILE 2 TO &#

37、39;F:oracleoradatajssdupundotbs01.dbf;# . add more CONFIGURE AUXNAME comma nds asn eeded不过需要注意的是,duplicate执行完之后,推荐清除 CONFIGURE AUXNAME。这样就不会对未来的 类似操作造成影响。# clear specified auxiliary namesfor the datafilesCONFIGURE AUXNAME FOR DATAFILE 1 CLEAR;CONFIGURE AUXNAME FOR DATAFILE 2 CLEAR;三、本地创建(Creating a

38、Duplicate Database on the Local Host)与第二种”远程站点不同路径结构的复制”有95%以上的相似性。唯一不同的是,本地创建的话需要注意DB_NAME与目标数据库不可相同。这点主要体现在辅助实例中初始化参数的配置里,其它的操作步骤可以完 全复制第二种中介绍的各种方法,所以也就不详述了:)除此之外呢,还有比如向 ASM存储系统复制,或向OMF存储复制等等,复制流程与上基本大同小异,不 过就是初始化参数文件中设置不同的参数,或者将参数设置成不同的值罢了。从上面那么些废话我们能分析一下,虽然 oracle细分了这么多类型的操作,但万变不离其宗有2点是其核心,第1是保证

39、辅助实例的初始化参数文件中,文件路径的有效性,第2是执行duplicate时注意与辅助实例初始化参数设置的配合。上面洋洋洒洒的那一沱沱口水都是在向你举例各种情况下duplicate命令与初始化参数设置如何有效配合。怎么,你现在才注意到这一点?呵呵不晚不晚,马上咱们就要开始进入实战了:)三思笔记卜RMAN高级应用-Duplicate复制数据库QQ : 5454589 君三思第四篇 实战 2007.10.22Using RMAN DUPLICATE DATABASE: Examples经过前面的准备工作,大展拳脚的时刻终于来临了。在正在创建复制之前,我们先来描述一下需求,一个 明确的、清晰的、可实

40、现的需求更加有助于我们操作的实施,所以语言描述能力也是一项非常高超的技巧,下 面大家看我举例,一个清晰的需求描述:NOCATALOG模式本地完整复制目标库JSSWEB到副本数据库JSSDUPoNOCATALOG模式本地完整复制目标库 JSSWEB到看看,都学着点吧,什么叫言简意赅,言简意赅就是副本数据库JSSDUP。我们假设实例已创建(辅助实例的创建过程见第 2章)。1、连接并启动目标数据库(至少要启动到 mount状态);F:oracle>set oracle_sid=jsswebF:oracle>sqlplus "/ assysdba"SQL*Plus: R

41、elease10.2.0.1.0 -Productio non 星期一 10 月 22 16:13:04 2007Copyright (c) 1982, 2005, Oracle. All rights reserved.已连接到空闲例程。SQL> startupORACLE例程已经启动。113246208 bytes1247564 bytes83887796 bytes20971520 bytes7139328 bytesTotal System Global Area Fixed SizeVariable Size Database Buffers Redo Buffers 数据库装

42、载完毕。 数据库已经打开。SQL>2、连接并启动辅助实例到nomount状态;F:oracle>set oracle_sid=jssdupF:oracle>sqlplus "/ assysdba"SQL*Plus: Release10.2.0.1.0 - Production on 星期一 10 月 22 16:11:28 2007Copyright (c) 1982, 2005, Oracle. All rights reserved.已连接到空闲例程。SQL> startup nomountORACLE例程已经启动。Total System Gl

43、obal Area285212672 bytesFixed Size1248552 bytesVariable Size226493144 bytesDatabase Buffers50331648 bytesRedo Buffers7139328 bytesSQL>3、RMAN连接到目标数据库和辅助实例。F:oracle>set oracle_sid=jssweb#目标数据库使用操作系统认证,所以首先设置SIDF:oracle>rman target / auxiliary sys/verysafe:)jssdup恢复管理器:Release1020.1.0 - Produc

44、tion on 星期五 10 月 19 15:03:10 2007Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到目标数据库:JSSWEB (DBID=3402005373)已连接到辅助数据库:JSSDUP (未装载)RMAN>4、首先确认目标库存在可用备份。RMAN> list backup;使用目标数据库控制文件替代恢复目录备份集列表BS关键字类型LV大小设备类型经过时间完成时间3Full 443.16M DISK00:00:5119-10 月-07BP 关键字:3状态:AVAILABLE已压缩:NO 标记:TA

45、G20071022T161927段名:D:BACKUP06IV54CF_1_1备份集3中的数据文件列表文件LV类型Ckp SCN Ckp时间 名称1Full 132617519-10 月-07 F:ORACLEORADATAJSSWEBSYSTEM01.DBF2 Full13261753 Full13261754 Full13261755 Full132617519-10 月-07 F:ORACLEORADATAJSSWEBUNDOTBS01.DBF19-10 月-07 F:ORACLEORADATAJSSWEBSYSAUX01.DBF19-10 月-07 F:ORACLEORADATAJSS

46、WEBJSSWEB.DBFBS关键字类型LV大小设备类型经过时间完成时间4Full 6.80MDISKBP关键字:4 状态:AVAILABLE 段名:D:BACKUPC-3402005373-20071022-00 包括的控制文件:Ckp SCN: 1326175 包含的 SPFILE:修改时间:24-9月-0700:00:0119-10 月-07已压缩:NO 标记:TAG20071022T162023Ckp 时间:19-10 月-0719-10 月-07 F:ORACLEORADATAJSSWEBUSERS01.DBFRMAN>5、万事俱备,只欠 Duplicate执行;RMAN>

47、; duplicate target database to jssdup;#只需要执行这一行启动 Duplicate Db 于 22-10 月-07分配的通道:ORA_AUX_DISK_1通道 0RA_AUX_DISK_1: sid=39 devtype=DISK内存脚本的内容:set newname for datafile 1 to "F:ORACLEORADATAJSSDUPSYSTEM01.DBF"set newname for datafile 2 to "F:ORACLEORADATAJSSDUPUNDOTBS01.DBF"set newn

48、ame for datafile 3 to "F:ORACLEORADATAJSSDUPSYSAUX01.DBF"set newname for datafile 4 to "F:ORACLEORADATAJSSDUPJSSWEB.DBF"set newname for datafile 5 to "F:ORACLEORADATAJSSDUPUSERS01.DBF"restorecheck reado nlyclone databaseJ正在执行内存脚本正在执行命令:SETNEWNAME正在执行命令:SETNEWNAME正在执行命令:

49、SETNEWNAME 正在执行命令:SETNEWNAME 正在执行命令:SETNEWNAME 启动 restore 于 22-10 月-07使用通道 ORA_AUX_DISK_1通道ORA_AUX_DISK_1:正在开始恢复数据文件备份集通道ORA_AUX_DISK_1:正在指定从备份集恢复的数据文件正将数据文件正将数据文件正将数据文件正将数据文件正将数据文件00001恢复到00002恢复到00003恢复到00004恢复到00005恢复到F:ORACLEORADATAJSSDUPSYSTEM01.DBFF:ORACLEORADATAJSSDUPUNDOTBS01.DBFF:ORACLEORAD

50、ATAJSSDUPSYSAUX01.DBFF:ORACLEORADATAJSSDUPJSSWEB.DBF通道 ORA_AUX_DISK_1:通道 ORA_AUX_DISK_1:段句柄=D:BACKUP06IV54CF_1_1F:ORACLEORADATAJSSDUPUSERS01.DBF 正在读取备份段 D:BACKUP06IV54CF_1_1 已恢复备份段 1标记 =TAG20071022T161927通道 ORA_AUX_DISK_1: 恢复完成,用时:00:01:06完成 restore 于 22-10 月-07sql 语句:CREATE CONTROLFILE REUSE SET DA

51、TABASE "JSSDUP" RESETLOGS NOARCHIVELOG MAXLOGFILES MAXLOGMEMBERS MAXDATAFILES16100MAXINSTANCESMAXLOGHISTORYLOGFILE292GROUPGROUPGROUP1 ('F:ORACLEORADATAJSSDUPREDO01 .L OG'2 ('F:ORACLEORADATAJSSDUPREDO02.LOG'3 ('F:ORACLEORADATAJSSDUPREDO03.LOG'SIZE 20 MSIZE 20 MSIZE 2

52、0 MREUSE, REUSE, REUSEDATAFILE'F:ORACLEORADATAJSSDUPSYSTEM01.DBF'CHARACTER SET ZHS16GBK内存脚本的内容:switch clone datafile all;正在执行内存脚本 释放的通道:ORA_AUX_DISK_1 数据文件2已转换成数据文件副本输入数据文件副本 recid=1 stamp=636654235 文件名=F:ORACLEORADATAJSSDUPUNDOTBS01.DBF数据文件3已转换成数据文件副本输入数据文件副本 recid=2 stamp=636654235 文件名=F:O

53、RACLEORADATAJSSDUPSYSAUX01.DBF数据文件4已转换成数据文件副本输入数据文件副本 recid=3 stamp=636654235 文件名=F:ORACLEORADATAJSSDUPJSSWEB.DBF数据文件5已转换成数据文件副本输入数据文件副本 recid=4 stamp=636654235 文件名=F:ORACLEORADATAJSSDUPUSERS01.DBF内存脚本的内容:recoverclone databasen oredodelete archivelogJ正在执行内存脚本启动 recover 于 22-10 月-07分配的通道:ORA_AUX_DISK

54、_1通道 ORA_AUX_DISK_1: sid=39 devtype=DISK完成 recover 于 22-10 月-07内存脚本的内容:shutdown clone;startup clone nomount ;正在执行内存脚本数据库已卸载Oracle实例已关闭已连接到辅助数据库(未启动)Oracle实例已启动系统全局区域总计285212672 字节Fixed Size1248552字节Variable Size226493144字节Database Buffers50331648字节Redo Buffers7139328字节三思笔记卜RMAN高级应用-Duplicate复制数据库QQ

55、: 5454589 君三思sql 语句:CREATE CONTROLFILE REUSE SET DATABASE "JSSDUP" RESETLOGS NOARCHIVELOGMAXLOGFILES16MAXLOGMEMBERS3MAXDATAFILES100MAXINSTANCES8MAXLOGHISTORY292LOGFILEGROUP 1 ('F:ORACLEORADATAJSSDUPREDO01. LOG'GROUP 2 ('F:ORACLEORADATAJSSDUPREDO02.LOG')SIZE 20 M REUSE,)SIZE 20 M REUSE,GROUP 3 ('F:ORACLEORADATAJSSDUPREDO03.LOG')SIZE 20 M REUSEDATAFILE'F:ORACLEORADATAJSSDUPSYSTEM01.DBF'CHARACTER SET ZHS16GBK内存脚本的内容set newname for tempfile 1 to"F:ORACLEORADATAJSSD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论