[精品]Oracle 数据库备份与恢复总结(7)

2018-12-29 20:04

RMAN>backupdatabase; 2、运行一个命令块 RMAN>RUN{

2>copydatafile10to

3>'/oracle/prod/backup/prod_10.dbf'; 4>}

3、运行存储在恢复目录中的脚本:

RMAN>RUN{EXECUTESCRIPTbackup_whole_db}; 4、运行外部脚本:

$rmancatalogrman/rmantarget/@backup_db.rman $rmancmdfile=backup.rmanmsglog=backup.log RMAN>@backup_db.rman

RMAN>RUN{@backup_db.rman}

如果在cron中执行,注意在脚本中设置正确的环境变量,例: #setenv

exportORACLE_HOME=/opt/oracle/product/9.2 exportORACLE_SID=test

exportNLS_LANG=\exportPATH=$PATH:$ORACLE_HOME/bin rmancmdfile=backup_db.rman 4.使用脚本

创建或者取代脚本:

RMAN>createscriptalloc_disk{ 2>#Allocatesonedisk

3>allocatechanneldev1typedisk;

4>setlimitchanneldev1kbytes2097150maxopenfiles32readrate200; 5>}

RMAN>replacescriptrel_disk{ 2>#releasesdisk

3>releasechanneldev1; 5>}

删除脚本:

RMAN>DELETESCRIPTLevel0Backup; 查看脚本:

RMAN>PRINTSCRIPTLevel0Backup; 运行脚本:

RMAN>RUN{EXECUTESCRIPTbackup_whole_db}; 5.运行OS命令

RMAN支持通过执行host命令暂时退出RMAN的命令提示符而进入到操作系统的命令环境。

6.执行SQL语句

在RMAN的命令提示符后输入SQL命令,然后在一对单引号(双引号亦可)中输入要 执行的SQL语句,例如:

RMAN>SQL'ALTERSYSTEMCHECKPOINT';

31

对于SELECT语句,无法得到结果。可以先执行host再用SQLPLUS。 4.2RMAN的配置

4.2.1建立RecoveryCatalog恢复目录

(1)在目录数据库中创建恢复目录所用表空间:

SQL>createtablespacerman_tsdatafile'/xxx/rman_ts.dbf'size20M; (2)在目录数据库中创建RMAN用户并授权:

SQL>createuserrmanidentifiedbyrmandefaulttablespacerman_tstemporary tablespacetempquotaunlimitedonrman_ts;

SQL>grantconnect,resource,recovery_catalog_ownertorman; (3)在目录数据库中创建恢复目录 $rmancatalogrman/rman

RMAN>createcatalogtablespacerman_ts; (4)登记目标数据库:

一个恢复目录可以注册多个目标数据库,注册目标数据库的命令为: $RMANcatalogrman/rmantargetuser/pwd@rcdb; RMAN>registerdatabase;

4.2.2查看RMAN的默认设置SHOW命令 必须连接目标数据库 RMAN>showall

RMAN>showchannel;//通道分配

RMAN>showdevicetype;//IO设备类型 RMAN>showretentionpolicy;//保存策略

RMAN>showdatafilebackupcopies;//多个备份的拷贝数目 RMAN>showmaxsetsize;//备份集大小的最大值 RMAN>showexclude;//不必备份的表空间

RMAN>showbackupoptimization;//备份的优化 4.2.3配置RMAN的默认设置

1.配置备份集文件的格式(format)

RMAN>configurechanneldevicetypediskformat'/u05/oracle/rmanback/%U'; 备份文件可以自定义各种各样的格式,如下 %c备份片的拷贝数 %d数据库名称

%D位于该月中的第几天(DD) %M位于该年中的第几月(MM)

%F一个基于DBID唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ, 其中IIIIIIIIII为该数据库的DBID,YYYYMMDD为日期,QQ是一个1-256的 序列

%n数据库名称,向右填补到最大八个字符 %u一个八个字符的名称代表备份集与创建时间

%p该备份集中的备份片号,从1开始到创建的文件数 %U一个唯一的文件名,代表%u_%p_%c %s备份集的号 %t备份集时间戳

%T年月日格式(YYYYMMDD)

32

2.配置默认IO设备类型(devicetype)

IO设备类型可以是磁盘或者磁带,在默认的情况下是磁盘,可以通过如下的命令 进行重新配置。

RMAN>configuredefaultdevicetypetodisk; RMAN>configuredefaultdevicetypetosbt;

注意,如果换了一种IO设备,相应的配置也需要做修改,如 RMAN>configuredevicetypesbtparallelism2; 3.配置自动分配的通道(Chanel)

RMAN>configurechanneldevicetypediskformat '/U01/ORACLE/BACKUP/%U

在运行块中,手工指定通道分配,这样的话,将取代默认的通道分配。 RMAN>Run{

allocatechannelcqtypediskformat='/u01/backup/%u.bak'; ? }

通道的一些特性:

读的速率限制Allocatechannel??rate=integer

最大备份片大小限制Allocatechannel??maxpiecesize=integer

最大并发打开文件数(默认16)Allocatechannel??maxopenfile=integer 4.配置默认的保存策略(RetentionPolicy)

保存策略是管理备份与副本有效期或者是否有效的一种方法。恢复数据库的时候 Oracle不考虑失效的备份。我们可以定义两种保存策略:恢复窗口备份保存策略

(recoverywindowbackupretentionpolicy)和冗余备份保存策略(redundancybackup retentionpolicy)

备份策略保持分为两个保持策略:

一个是时间策略,决定至少有一个备份能恢复到指定的日期 一个冗余策略,规定至少有几个冗余的备份。 恢复窗口备份保存策略

这种保存策略类型的使用基于数据库可能恢复到的最早的日期。例如,假设今天 是星期一,此前存在3个备份。第一个备份在昨天生成的,第二个备份是上星期四生 成的,而最后一个备份是10天前备份的。假如恢复窗口是7天,那么昨天和上星期 四的备份是有效备份,而10天前的备份会成为废弃备份。下面的命令将恢复窗口配置 为7天:

RMAN>configureretentionpolicytorecoverywindowof7days; 冗余备份保存策略

使用这种保存策略,RMAN会从最新备份开是保留N个数据备份,其余的废弃。

例如,如果有四个备份,而冗余数是3,那么最早的那个备份将被废弃。下面的命令将 备份策略设置为3:

RMAN>configureretentionpolicytoredundancy3;

设置NONE可以把使备份保持策略失效,Clear将恢复默认的保持策略 RMAN>configureretentionpolicytonone; 例:

保证至少有一个备份能恢复到Sysdate-5的时间点上,之前的备份将标记为 Obsolete

33

RMAN>configureretentionpolicytorecoverywindowof5days;

至少需要有三个冗余的备份存在,如果多余三个备份以上的备份将标记为冗余 RMAN>configureretentionpolicytoredundancy5; 5.配置多个备份的拷贝数目(backupcopies)

如果觉得单个备份集不放心,可以设置多个备份集的拷贝,如: RMAN>configuredatafilebackupcopiesfordevicetypediskto2; RMAN>configurearchivelogbackupcopiesfordevicetypediskto2;

如果指定了多个拷贝,可以在通道配置或者备份配置中指定多个拷贝地点: RMAN>configurechanneldevicetypediskformat '/u01/backup/%U','/u02/backup/%U';

RMAN>backupdatafilenformat'/u01/backup/%U','/u02/backup/%U'; 6.设置并行备份(ARALLELISM)

RMAN支持并行备份与恢复,也可以在配置中指定默认的并行程度。如: RMAN>configuredevicetypediskparallelism4;

指定在以后的备份与恢复中,将采用并行度为4,同时开启4个通道进行备份与恢 复,当然也可以在RUN的运行块中手工分配多个通道来决定备份与恢复的并行程度。 并行的数目决定了开启通道的个数。如果指定了通道配置,将采用指定的通道,如果没 有指定通道,将采用默认通道配置。

还可以在BACKUP命令中使用指定FILESPERSET或者指定(datafile1,4,5channel c1tag=DF1)(datafile2,3,6channelc2tag=DF2) 7.设置控制文件自动备份(autobackupon)

通过如下的命令,可以设置控制文件的自动备份 RMAN>configurecontrolfileautobackupon;

对于没有恢复目录的备份策略来说,这个特性是特别有效的,控制文件的自动备份 发生在任何backup或者copy命令之后,或者任何数据库的结构改变之后。 可以用如下的配置指定控制文件的备份路径与格式

RMAN>configurecontrolfileautobackupformatfortypediskto'%f';

在备份期间,将产生一个控制文件的快照,用于控制文件的读一致性,如下配置: RMAN>configuresnapshotcontrolfilenameto

'/u01/app/oracle/product/9.0.2/dbs/snapcf_U02.f'; 8.设置备份优化选项(optimization) 可以在配置中设置备份的优化,如

RMAN>configurebackupoptimizationon;

如果优化设置打开,将对备份的数据文件、归档日志或备份集运行一个优化算法。 4.2.4RMAN会话的设置

set命令与configure命令很相似,但是set命令设置不是永久的。set命令定义只应 用于当前RMAN会话的设置。

可以用于RUN代码之外的命令有: setechoon|off//显示或关闭RMAN显示

setDBIDdbidn//指定一个数据库的数据库标识符。 下面的set命令只能在RUN代码中使用: setnewname:

用于TSPITR或者数据库复制操作,指定新的数据库文件名,将数据库移动 到新的系统中并且文件名不同的时候可以用此命令。

34

setmaxcorruptfordatafile:

用于定义RMAN操作失败之前允许的数据块讹误的数量 setarchivelogdestination:

可以修改存储归档的重做日志archive_log_dest_1的目的地。 set命令和until子句:

可以定义数据库时间点恢复操作所使用的具体的时间点、SCN或者日志序列 号,例:

setuntiltime\setbackupcopies:

使用该命令可以定义为备份集的每个备份片创建的镜像副本数。 例:

RMAN>RUN{

setmaxcorruptfordatafile3to10; setbackupcopies=2; backupdatabase; }

4.3Copy镜像拷贝与恢复

Copy镜像拷贝命令可以创建数据库数据文件、归档重做日志或者控制文件的精确副本。 RMAN副本与这些文件的区别仅在于名称和(或)位置的区别。功能相当于用户管理的备 份恢复中的热备份。备份副本的好处是恢复比较快,恢复时可以不用拷贝,指定新位置即可。

Copy镜像拷贝至少要在mount状态下运行。 Copy镜像拷贝可作为增量备份的Level0

Oracle10g开始,允许使用单条命令\进行数据库拷贝。 4.3.1备份

生成数据文件副本:

RMAN>copydatafile3to'd:\\backup\\datafilecopy\%users01.dbf.bak'; RMAN>copydatafile'd:\\oracle\\oradata\\ora9i\%users01.dbf'to 'd:\\backup\\datafilecopy\%users01.dbf.bak'; 生成控制文件副本:

RMAN>copycurrentcontrolfileto?;

RMAN>CONFIGURECONTROLFILEAUTOBACKUPisON; 备份ARCHIVELOG副本:

//只能一个一个的来备份,而不能指定一个范围

RMAN>copyarchivelog'd:\\oracle\\oradata\\arc\\ming_351.arc'to 'd:\\oracle\\orabackup\\arc\\ming_351.arc'; 并行设置:

1.RMAN>configuredevicetype...parallelism=3; //only2channel,oneforwrittingdatatodisk 2.手工分配多个通道 3.在命令中指定多个文件

RMAN>copydatafile'xx'to'xx2',datafile'yy'to'yy2',...; 块检查:

CHECKLOGICAL选项

35


[精品]Oracle 数据库备份与恢复总结(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:在数学课堂上怎样培养学生的创新能力

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: