oracle_rman备份详细过程_第1页
oracle_rman备份详细过程_第2页
oracle_rman备份详细过程_第3页
oracle_rman备份详细过程_第4页
oracle_rman备份详细过程_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、第五章 数据备份与恢复通过本章的学习,要求学员掌握以下内容:1、 大致了解ORACLE的备份方式。2、 了解如何配置RMAN。3、 了解如何部署备份策略4、 如何实现一般的还原和恢复5.1备份概述5.1.1概述 所谓备份,就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库拷贝的磁带或磁盘。通常也将存放于转储设备中的数据库的拷贝称为原数据库的备份或转储。ORACLE数据库的备份分为物理备份和逻辑备份两种。物理备份是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带。可以使用 Oracle 的恢复管理器(Recovery Manager,RMAN)或操作

2、系统命令进行数据库的物理备份。逻辑备份是利用SQL语言从数据库中抽取数据并存于二进制文件的过程。Oracle提供的逻辑备份工具是 EXP。数据库逻辑备份是物理备份的补充,对于逻辑备份来说,时间点恢复是不可能的,逻辑备份通常不会用作产品数据库备份与恢复计划的部分。5.1.2 数据库运行方式在说明ORACLE备份方式之前,应大致了解一下ORACLE数据库的运行方式。ORACLE数据库有两种运行方式:一是归档方式(ARCHIVELOG),归档方式的目的是当数据库发生故障时最大限度恢复数据库,可以保证不丢失任何已提交的数据;二是不归档方式(NOARCHIVELOG),只能恢复数据库到最近的回收点(冷备

3、份或是逻辑备份)。根据数据库的高可用性和用户可承受丢失的工作量的多少,对于生产数据库,强烈要求采用为归档方式;那些正在开发和调试的数据库可以采用不归档方式。 在创建数据库时,就可以设置数据库初始的存档方式。一般情况下默认为NOARCHIVELOG方式。当数据库创建好以后,根据我们的需要把需要运行在归档方式的数据库改成ARCHIVELOG方式。 方法如下:1改变不归档方式为为归档方式 (1)关闭数据库,备份已有的数据,改变数据库的运行方式是对数据库的重要改动,所以要对数据库做备份,对可能出现的问题作出保护。 (2)修改初试化参数,使能自动存档 修改(添加)初始化文件initSID.ora参数:

4、log_archive_start=true #启动自动归档 log_archive_format=ARC%T%S.arc #归档文件格式 log_archive_dest=/arch12/arch #归档路径 在9i中,可以最多有10个归档路径,并可以归档到其它服务器,如备用数据库(standby database)服务器 (3)启动Instance到Mount状态,即加载数据库但不打开数据库: $>sqlplus “/as sysdba” SQL>startup mount (4)发出修改命令 SQL >alter database archivelog; SQL>

5、alter database open; 2改变归档状态为不归档状态 与以上步骤相同,但有些操作不一样,主要是在以上的(2)操作中,现在为删除或注释该参数,在d操作中,命令为 SQL >alter database noarchivelog; 5.2 操作系统备份 操作系统备份有两类,冷备份(Cold backup)与热备份(Hot backup),操作系统备份与逻辑备份有本质的区别。逻辑备份提取数据库的数据内容,而不备份物理数据块。而操作系统备份则是拷贝整个的数据文件。 1冷备份 冷备份在文件级备份开始前数据库必须彻底关闭。关闭操作必须用带有normal、immediate、trans

6、action选项的shutdown来执行。 数据库使用的每个文件都被备份下来,这些文件包括: 所有数据文件 所有控制文件 所有联机REDO LOG 文件 INIT.ORA文件(可选) 作冷备份一般步骤是: (1) 正常关闭要备份的实例(instance); (2) 备份整个数据库到一个目录 (3) 启动数据库 如果利用脚本对数据库进行冷备份,必须对关闭数据库的命令进行逻辑检查,如果发生关闭数据库的命令不能正常执行而导致数据库没有正常关闭,那么,所有的冷备份将会是无效的。 2热备份 热备份是当数据库打开并对用户有效是的操作系统级的数据备份。热备份只能用于ARCHIVELOG方式的数据库。在数据文

7、件备份之前,对应的表空间必须通过使用ALTER TABLESPACE BEGIN BACKUP以备份方式放置。然后组成表空间的数据文件可以使用类似冷备份的操作系统命令进行拷贝。在数据文件用操作系统命令拷贝后,应使用ALTER TABLESPACE END BACKUP命令使表空间脱离热备份方式。 热备份没有必要备份联机日志,但必须是归档状态,在实例恢复的时候,可能需要用到归档日志。当前联机日志一定要保护好或是处于镜相状态,当前联机日志的损坏,对于数据库的损坏是巨大的,只能以数据的丢失来进行数据库的恢复工作。 对于临时表空间,存放的是临时信息,在热备份是也可以考虑不用备份,如果临时文件发生故障,

8、可以删除该数据文件与表空间,重建一个临时表空间。 热备份的优点是显而易见的 :l 可在表空间或数据文件级备份,备份时间短。 l 备份时数据库仍可使用。 l 可达到秒级恢复(恢复到某一时间点上)。 l 可对几乎所有数据库实体作恢复。 l 恢复是快速的,在大多数情况下在数据库仍工作时恢复。 一般热备份的时候,用户还在操作数据库。为了不影响用户正常工作,最好使每个表空间处于备份状态的时间最短,这样就要求一个表空间一个表空间的备份,不要使表空间一起处于备份状态而同时拷贝数据文件。 如果在热备份的时候如果数据库中断(如断电),那么在重新启动数据库的时候,数据库将提示有数据文件需要恢复,你需要把正在断电时

9、候的处于备份状态的数据文件通过ALTER TABLESPACE END BACKUP结束备份方式。具体哪个数据文件或表空间处于备份状态,可以通过v$backup与v$datafile来获得。5.3恢复管理器备份(RMAN)Recovery manager(RMAN)是ORACLE提供的DBA工具,用于管理备份和恢复操作。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库或数据库部件,其中包括表空间、数据文件,控制文件和归档文件。RMAN可以按要求存取和执行备份和恢复。 RMAN备份有如下优点 l 支持在线热备份 l 支持多级增量备份 l 支持并行备份、恢复 l 减少所需要备份量

10、 l 备份、恢复使用简单 重要的是,使用恢复管理器允许您进行增量数据块级的备份(这个与导出/导入的增量截然不同)。增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块。另一个空间有效的RMAN特性是它只备份数据文件中使用的数据块,忽略空的、未用的数据块,这个对于预分配空间的表空间有很大的好处。从9i开始,还增加了RMAN的数据块级别的恢复,可以进一步减少数据库恢复时间。 RMAN支持以下不同类型的备份 FULL 数据库全备份,包括所有的数据块 INCREMENTAL 增量备份,只备份自上次增量备份以来修改过的数据块。需要一个0 级的增量作为增量的基础,可以支持5级

11、增量。 OPEN 在数据库打开的时候使用 CLOSED 在数据库加载(MOUNT)但不打开的时候备份,关闭备份可以是CONSISTENT或INCONSISTENT类型的。 CONSISTENT 在数据库加载但不打开,并且在加载之前数据库被彻底关闭(而不是被破坏或异常退出)时使CONSISTENT备份可以简单的进行复原(RESTORE)而不是恢复(RECOVER) INCONSISTENT 在数据库打开或加载(但不打开)时使用。在该数据库正常关闭或崩溃后,INCONSISTENT备份需要恢复。 从上面各种备份方式来看,由于RMAN是数据块级别的备份,而操作系统下的备份是文件级的备份。这样使得恢复

12、管理器(RMAN)备份无论是在空间和时间上相对于操作系统备份都具有明显的优势。另外,对于操作系统的备份来说,DBA自己动手编写脚本,在无法预知的情况下,脚本的维护、管理及稳定性都很难得到完全的保证。而对于RMAN,只要理解了BACKUP,RESTORE,RECOVER这三个最基本的命令,就可以进行数据库的备份,复原以及恢复操作。 用户管理(操作系统)和服务器管理的备份与恢复之间的根本不同之处是:对用户管理的操作,DBA必须知道需要备份什么以及需要还愿和恢复什么;而对于服务器管理的操作,RMAN将通过一个简单的接口决定需要备份什么以及需要还原与恢复什么,大部分管理任务被省略或简单化了。以下的内容

13、将介绍实现RMAN一般的备份策略及具体配置。5.4备份策略RMAN在备份数据时有两种操作的模式:增量式和完全式增量备份的级别是一个0到4之间的整数,增量备份时,数据检查点SCN存储在目标数据库控制文件中,随后的增量备份决定了需要拷贝哪些与以前的增量备份级别相关而且发生在SCN时间的数据块,备份级别0时全集备份级别。是其它级别增量拷贝的基准。增量备份又分为差异型备份和累积型备份:差异型备份拷贝所有在最近同级或低级增量备份以来所有改动的数据块。(ORACLE默认的增量备份类型);累积型备份拷贝所有在最近低级增量备份以来改动的数据块。(包括了最近同级备份时改动的数据块)。选择差异型备份还是选择累积型

14、备份是从备份时的大小、速度与还原时的速度的重要性来衡量。完全备份和增量备份级别0一样,但不是增量备份,不能作为其他增量备份的基准。典型的备份部署方案一般是在周末进行增量级别为0的备份。然后,在整个星期内,需要进行不同的级别1或2的备份。这样每周循环可以使每一周都有一个基准增量备份以及每周内的少量增量备份。具体如下:(脚本文件请参考附件)星期天 0级别备份(运行b_whole_inco.rcv脚本)星期一 2级别备份(运行b_whole_inc2.rcv脚本)星期二 2级别备份(运行b_whole_inc2.rcv脚本)星期三 2级别备份(运行b_whole_inc2.rcv脚本)星期四 1级别

15、备份(运行b_whole_inc1.rcv脚本)星期五 2级别备份(运行b_whole_inco.rcv脚本)星期六 2级别备份(运行b_whole_inco.rcv脚本)有了这个累积增量备份部署,就可用至少三个备份集来进行还原和恢复工作。当为归档日志文件部署备份策略时,必须绝对确保已经获得了每个备份的归档日志文件的至少一个(最好多个)拷贝。还必须清理归档日志的目的地以防止写满文件系统以及中断数据库操作,RMAN有一个比较谨慎的部署选项DELETE INPUT,可以在对备份了归档日志进行删除。下面的归档日志备份策略在删除输入之前已经为每个归档日志文件做了三份拷贝。(1) 在新的备份策略的前一两

16、天内对目标数据库运用ARCHIVELOG ALL选项以实现为 所有已经存在的归档日志文件做基准备份。(运行b_archive.rcv)(2) 每天为包括有最近两天的重做的所有已经存在的归档日志文件做备份(运行 b_archive_2days.rcv)。(3) 每天为包括有从五天以前到前两天的重做日志文件进行备份(运行b_archive_delete3.rcv)有了上述的备份部署,就可以将数据库恢复到以前的任何一个时刻。但在实际的生产系统中,很少会有将系统恢复到以前的已经过去了很长一段时间的某一个时刻,应该根据实际的需求来决定保留多长时间的备份,如假设只要求数据库能恢复到21天内的某一个时刻,那

17、么只需保留最近21天内的备份即可。21天前的备份可以删除,或转储到别的位置。 5.5备份部署当用RMAN进行备份时,RMAN要把备份的相关信息(如什么时间进行的备份、备份了哪些文件、备份到什么位置等)进行存储,根据对这些信息存储位置的不同,RMAN的运行模式分为如下两种:l NOCATALOG模式:这种模式下将备份信息存在备份的目标数据库的控制文件中。l CATALOG模式:这种模式下单独创建一个Oracle数据库,将备份信息存在此独立的.数据库中(此时独立的数据库称为目录数据库,即Catalog database)。出于高效和管理方便的,决定采用的是CATALOG(目录)模式备份。当用RMA

18、N部署一个恢复目录时,需要将目录保存在与注册在其中的任何一个目标数据库都不同的数据库和机器上(防止当目标数据库崩溃时,目录数据库也不可用的情况),也可以使用一个产品数据库作为其他产品数据库的目录数据库。但必须注意,目录数据库的版本和目标数据库的版本必须一致。确定目录数据库后,在tnsnames.ora中配置目录数据库到目标数据库的连接。tnsnames.ora位于$ORACLE_HOME/network/admin中,配置情况如下:SKGL204 = #到目标数据库的连接名,可自己设置 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL =

19、TCP)(HOST = 192.168.0.204)(PORT = 1521) #目标数据库的IP,可也是机器名 ) (CONNECT_DATA = (SERVICE_NAME = skgl) #与目标数据库的inti.ora文件中的参数service_names同 ) )配置连接后,在目录数据库上,执行如下命令:1. 创建表空间,用于存储备份信息。SQL>CREATE TABLESPACE rmantbs DATAFILE /oradata/catdb1/rmantbs01.dbf SIZE 32M;表空间名和路径根据自己的情况重新设置。2. 创建用户,用于管理备份信息。SQL>

20、CREATE USER rmanadm IDENTIFIED BY rmanadm DEFAULT TABLESPACE rmantbsTEMPORARY TABLESPACE temp ;RMAN用户名和密码;根据自己的情况重新设置3. 授权。SQL>GRANT CONNECT,RESOURCE,RECOVERY_CATALOG_OWNER TO rmanadm;4. 创建恢复目录。$rman CATALOG rmanadm/rmanadmRMAN>CREATE CATALOG;5. 注册目标数据库。$rman CATALOG rmanadm/rmanadm TARGET SYS

21、/SYStargetDBRMAN>REGISTER DATABASE;配置好目录数据库后,便可以部署备份策略了。首先来看bak_scripts目录下的脚本文件:b_whole_inc0.rcv(文件名)(用于基准备份)1 connect.rcv2 run3 allocate channel d1 type disk;4 backup incremental level = 0 database5 format '/oradata/PRACTICE/backup/ch12/db_%d_%s_%p_%t'6 tag = 'WHOLE_INC0'7 releas

22、e channel d1; 8 (1.8为行号,另行加上的,便于说明)第1行的connect.rcv是同目录下的另一脚本文件,内容如下:connect target sys/change_on_installskgl204connect catalog rmanadm/rmanadmsw1hnm1用于连接目标数据库和目录数据库,用户名、密码和服务名根据前面定义的情况重新设置。另外需要设置的是第4行带下划线的部分,为目标数据库上用于存储备份文件的路径,可根据目标数据库的情况自行设置。设置好的路径必须在目标数据库上实际存在,否则备份不能成功。b_whole_inc1.rcv,b_whole_inc

23、2.rcv,b_archive.rcv,b_archive_2days.rcv,b_archive_delete2.rcv都需同样的设置。(见安装包bak_scripts下的文件)b_whole_inc0.sh,b_whole_inc1.sh,b_whole_inc2.sh,b_archive.sh,b_archive_2days.sh,b_archive_delete3.sh(见安装包bak_scripts下的文件)是用于部署在unix系统上的命令文件b_whole_inc0.sh内容如下:$ORACLE/HOME/bin/rman cmdfile=<path>/bak_scri

24、pts/b_whole_inc0.rcvlog=/temp/b_whole_inc0.log<path>为放置bak_scripts文件夹的路径,设置完所有文件之后,使用chmod将这些文件修改为可执行文件,将便可用crontab部署这些命令文件。步骤如下:以oracle用户登陆,定位在bak_scripts目录下$chmod u+x b_whole_inc0.sh #其他文件类似$crontab e#min hour date month day command0 1 * * 0 <path>/b_whole_inc0.sh #Sunday0 1 * * 1 <

25、path>/b_whole_inc2.sh #Monday0 1 * * 2 <path>/b_whole_inc2.sh #Tuesday0 1 * * 3 <path>/b_whole_inc2.sh #Wednesday0 1 * * 4 <path>/b_whole_inc1.sh #Thursday0 1 * * 5 <path>/b_whole_inc2.sh #Friday0 1 * * 6 <path>/b_whole_inc2.sh #Saturday0 2 * * * <path>/b_archi

26、ve_2days.sh #Every Day30 2 * * * <path>/b_ archive_delete3.sh #Every Day执行时间可重新设置。注意:必须使第一次运行的备份脚本为b_whole_inc0.sh,其他的增量备份都是以0级增量备份为基准的,如果第一次运行的为其他脚本,那么至少前几天的备份是无效的,只能等到下一次循环到b_whole_inc0.sh脚本时,备份才重新生效。b_whole_inc0.bat,b_whole_inc1.bat,b_whole_inc2.bat,b_archive.bat,b_archive_2days.bat,b_archi

27、ve_delete3.bat(见安装包bak_scripts下的文件)是用于部署在windows系统上的命令文件b_whole_inc0.bat内容如下:rman cmdfile=<path>/bak_scripts/b_whole_inc0.rcv log=c:/temp/b_whole_inc0.log<path>设置为bak_scripts文件夹所在的路径,设置完所有文件后,便可用at命令部署这些批处理文件。在windows的cmd窗口执行下列命令:at 1:00 /every:Sunday cmd /c <path>/b_whole_inc0.bat

28、at 1:00 /every:Monday cmd /c <path>/b_whole_ inc2.batat 1:00 /every:Tuesday cmd /c <path>/b_whole_ inc2.batat 1:00 /every:Wednesday cmd /c <path>/b_whole_ inc2.batat 1:00 /every:Thursday cmd /c <path>/b_whole_inc1.batat 1:00 /every:Friday cmd /c <path>/b_whole_inc2.bata

29、t 1:00 /every:Saturday cmd /c <path>/b_whole_inc2 .batat 2:00 cmd /c <path>/b_archive_2days. batat 2:30 cmd /c <path>/b_ archive_delete3. bat至此,所有的备份策略便部署完毕。5.6还原和恢复 数据库的恢复分完全恢复和不完全恢复。完全恢复一般在实例崩溃后,恢复到最近的现场,一般操作如下:C:> rman target sys/change_on_installskgl204 catalog rmanadm/rmana

30、dmRMAN>RUN SHUTDOWN IMMEDIATE; STARTUP MOUNT; RESTORE DATABASE; RECOVER DATABASE; ALTER DATABASE OPEN;不完全恢复的原因很多,如用户的误操作是数据库必须回到或只能回到以前备份的点,不完全恢复的一般操作如下:(其中命令中的 “TO_DATE(01/14/2005 12:02:10,MM/DD/YYYY HH24:MI:SS)”为期望恢复到的时间点)C:> rman target sys/change_on_installskgl204 catalog rmanadm/rmanadmRM

31、AN>RUN SHUTDOWN IMMEDIATE; STARTUP MOUNT; SET UNTIL TIME TO_DATE “(01/14/2005 12:02:10,MM/DD/YYYY HH24:MI:SS)” ; RESTORE DATABASE; RECOVER DATABASE; ALTER DATABASE OPEN RESETLOGS;RMAN> RESET DATABASE;在执行完不完全恢复后,需在目录数据库中用RMAN发布RESET DATABASE命令,以从目标数据库控制文件中获得更新RMAN目录的新纪录的信息。另外,应对恢复后的数据库即时以增量备分级0

32、重新备份数据库。RMAN 备份与恢复 实例1. 检查数据库模式:   sqlplus /nolog    conn /as sysdba   archive log list (查看数据库是否处于归档模式中)   若为非归档,则修改数据库归档模式。   startup mount   alter database archivelog   alter database open2.连接到target数据库命令: connect target  /

33、 (connect target system/oracleora10g,如果数据库没有起来,也可要直接在rman命令下用startup进行启动数据库) 可以连接到target database.(rman 一边连接到target数据库,另外一边连接到control file(nocatalog mode),control file 中存储rman 的备份信息)3.用list backupset 命令查看有没有备份的东西4. 常用备份命令: 备份全库:RMAN> backup database plus archivelog delete input; &#

34、160;   (备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志)备份表空间:RMAN> backup tablespace system plus archivelog delete input;     (备份指定表空间及归档的重做日志,并删除旧的归档日志)_备份归档日志:RMAN> backup archivelog all delete input;=对整个数据库进行备份=1.对整个数据库进行全备份(full backup)。    只要输入命令: backu

35、p database;2.list backupset 查看备份的具体信息List of Backup Sets=BS Key  Type LV Size       Device Type Elapsed Time Completion Time- - - - - - -1       Full    6.80M      DISK    

36、60;   00:00:02     06-DEC-08              BP Key: 1   Status: AVAILABLE  Compressed: NO  Tag: TAG20081206T201041        Piece Name: /home/oracle/flash_reco

37、very_area/ORA10G/backupset/2008_12_06/o1_mf_ncsnf_TAG20081206T201041_4mntz78s_.bkp  Control File Included: Ckp SCN: 782019       Ckp time: 06-DEC-08  SPFILE Included: Modification time: 06-DEC-08BS(backupset), piece是一个文件,一个BS包含多个piece.3.rman中缺省的参数,可以通过 show al

38、l ;来进行查看(RMAN configuration parameters),我们在使用backup database命令中,可以把这些default value 用固定的值来进行替代.4.我们可以把备份的文件才备份的目录中拷贝到磁带上,然后删除备份目录下面的备份文件,如果下次需要恢复的话,只要把文件重新拷回到用来的备份目录就可以了5. 查看control file 文件中的备份信息(因为我们做的备份是在nocatalog模式下),control file 在/u01/oracle/oradata/ora10g目录下,由于control file 是个二进制文件,要查看control fil

39、e 文件中的内容,用strings control03.ctl,发现control03.ctl中有rman备份的信息了 =0级增量备份=概念:全备份和0级增量备份。全备份和0级增量备份几乎是一样的。唯一的区别,0级增量备份能作为增量备份的基础,而全备份不能作为增量备份的基础。其它方面完全一致1.backup incremental level=0(leve 0) database;(增量为0的备份)2.backup incremental level 1(level=1) database;(增量为1的备份) 在上面的备份中,我们备份了datafile,controlfil

40、e和parameter file.没有备份的文件有归档日志,重做日志和口令文件没有备份.口令文件不需要备份,我们用orapw来创建一个新的口令文件.rman 在nocatalog模式下,不能够对redo log file 进行备份=备份archivelog 在nocatalog模式下=命令:backup database plus archivelog delete input(delete input的意思在备份完成后,删除 archivelog文件,这个选项可要可不要,这个命令也可以用 backup incremental level=0(1,2.)来进行备份)=备份表空间=backup

41、tablespace tablespacename如果我们不知道tablespace的名字,在rman中,可要通过report schema命令,来查看表空间的名字MAN> report schema;Report of database schemaList of Permanent Datafiles=File Size(MB) Tablespace           RB segs Datafile Name- - - - -1    480 

42、;     SYSTEM               *     /home/oracle/oradata/ora10g/system01.dbf2    25       UNDOTBS1        &#

43、160;    *     /home/oracle/oradata/ora10g/undotbs01.dbf3    250      SYSAUX               *     /home/oracle/oradata/ora10g/sysaux01.db

44、f4    5        USERS                *     /home/oracle/oradata/ora10g/users01.dbf5    200      PERFSTAT  

45、           *     /home/oracle/oradata/ora10g/perfstat.dbfList of Temporary Files=File Size(MB) Tablespace           Maxsize(MB) Tempfile Name- - - - -1    20 &#

46、160;     TEMP                 32767       /home/oracle/oradata/ora10g/temp01.dbf=备份控制文件=backup current controlfilebackup database include current controlfile=备份镜像=在rman的备

47、份中有两种方式:备份集(backupset)和备份镜像(image copies).镜像备份主要是文件的拷贝:copy datafile . to .我们在rman>report schema;Report of database schemaList of Permanent Datafiles=File Size(MB) Tablespace           RB segs Datafile Name- - - - -1    480 

48、60;    SYSTEM               *     /home/oracle/oradata/ora10g/system01.dbf2    25       UNDOTBS1         

49、    *     /home/oracle/oradata/ora10g/undotbs01.dbf3    250      SYSAUX               *     /home/oracle/oradata/ora10g/sysaux01.dbf4&#

50、160;   5        USERS                *     /home/oracle/oradata/ora10g/users01.dbf5    200      PERFSTAT  

51、0;          *     /home/oracle/oradata/ora10g/perfstat.dbfList of Temporary Files=File Size(MB) Tablespace           Maxsize(MB) Tempfile Name- - - - -1    20  

52、     TEMP                 32767       /home/oracle/oradata/ora10g/temp01.dbfrman>copy datafile 5 to '/u01/rmanbak/tbso1bak.dbf'(copy 5 对应的schme:perfstat.dbf)它会

53、把tbs作为一个拷贝。我们用list backupset来看,不能够查看我们刚备份的 tbs01bak.dbf',因为它不是backupset. 我们用list copy 就能够查看我们刚才刚刚备份的文件 =单命令与批命令=单命令: backup database;批命令:rman> run 2> allocate channel cha1 type disk; 3> backup 4> format '/u01/rmanbak/full_%t' 5> tag full-backup /标签

54、可以顺便起,没关系 6> database; 7> release channel cha1; 8>这个run中有3条命令,分别用分号来进行分割.format:%c:备份片的拷贝数(从1开始编号);%d:数据库名称;%D:位于该月中的天数(DD);%M:位于该年中的月份(MM);%F:一个基于DBID唯一的名称,这个格式的形式为c-xxx-YYYYMMDD-QQ,其中xxx位该数据库的DBID,YYYYMMDD为日期,QQ是一个1-256的序列;%n:数据库名称,并且会在右侧用x字符进行填充,使其保持长度为8;%u:是一个由备份集编号和建立时间压

55、缩后组成的8字符名称。利用%u可以为每个备份集产生一个唯一的名称;%p:表示备份集中的备份片的编号,从1开始编号;%U:是%u_%p_%c的简写形式,利用它可以为每一个备份片段(既磁盘文件)生成一个唯一的名称,这是最常用的命名方式;%t:备份集时间戳;%T:年月日格式(YYYYMMDD);channel的概念:一个channel是rman于目标数据库之间的一个连接,"allocate channel"命令在目标数据库启动一个服务器进程,同时必须定义服务器进程执行备份和恢复操作使用的I/O类型通道控制命令可以用来:     

56、控制rman使用的OS资源      影响并行度      指定I/O带宽的限制值(设置 limit read rate 参数)      指定备份片大小的限制(设置 limit kbytes)      指定当前打开文件的限制值(设置 limit maxopenfiles) =RMAN一周典型备份方案=1.星期天晚上      -lev

57、el 0 backup performed(全备份)2.星期一晚上      -level 2 backup performed3.星期二晚上      -level 2 backup performed4.星期三晚上      -level 1 backup performed5.星期四晚上      -level 2 backup performed6.星期五晚上  

58、60;   -level 2 backup performed7.星期六晚上      -level 2 backup performed 如果星期二需要恢复的话,只需要1+2,如果星期四需要恢复的话,只需要1+4,如果星期五需要恢复的话,只需要1+4+5,如果星期六需要恢复的话,只需要1+4+5+6.自动备份:备份脚本+crontab bakl0 bakl1 bakl2执行脚本:rman target / msglog=bakl0.log cmdfile=bakl0 (/表示需要连接

59、的目标数据库,msglog表示日志文件,cmdfile表示的是脚本文件)rman target / msglog=bakl1.log cmdfile=bakl1rman target / msglog=bakl2.log cmdfile=bakl2实例:rman target system/oracleora10g(/) msglog=/u01/rmanbak/bakl1.log cmdfile=/u01/rmanbak/bakl0 完整的命令:/u01/oracle/product/10.2.0/bin/rman target system/oracleora10g(/) msglog=/u

60、01/rmanbak/bakl1.log cmdfile=/u01/rmanbak/bakl0  把备份脚本放到/u01/rmanbak/script目录下面,vi bakl0,bakl0的内容为:run    allocate channel cha1 type disk;    backup    incremental level  0    format '/u01/rmanbak/inc0_%u_%T'(u表示唯一的ID,大T是日

61、期,小t是时间)    tag monday_inc0 /标签可以顺便起,没关系    database;    release channel cha1;    ,类似就可以写出bakl1,bakl2相应的脚本. 自动备份crontabcrontab -e -u oracle(改命令的意思是编辑oracle用户的定时执行(-e,edit -u oracle,oracle用户)分  时  日 月 星期(0代表星期天)45 23  *&#

62、160; *    0    rman target / msglog=bakl0.log cmdfile=bakl0(星期天的23:45会以oracle用户的身份来执行命令)45 23  *  *    1    rman target / msglog=bakl2.log cmdfile=bakl245 23  *  *    2    rman target / msgl

63、og=bakl2.log cmdfile=bakl245 23  *  *    3    rman target / msglog=bakl1.log cmdfile=bakl145 23  *  *    4    rman target / msglog=bakl2.log cmdfile=bakl245 23  *  *    5    rman target / msglog=bakl2.log cmdfile=bakl245 23  *

温馨提示

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

评论

0/150

提交评论