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

2018-12-29 20:04

MAXCORRUPT参数 V$COPY_CORRUPTION

在复制操作中,Oracle服务器进程对每个块执行校验和计算以检测是否有块损坏。 RMAN在还原副本时也要核对校验和。该过程称为物理损坏检测。可以使用

NOCHECKSUM选项取消校验和操作,从而加快复制进程。如果数据库已在维护块校 验和,则此选项无效。缺省情况下,禁用逻辑损坏的错误检查。

可以使用CHECKLOGICAL选项测试通过了物理损坏检查的数据和索引块,查看

它们是否存在逻辑损坏,如行片或索引条目损坏。如果检测到任何块存在逻辑损坏,则 将该块记录到服务器进程的警报日志和跟踪文件中。

可以使用MAXCORRUPT参数设置逻辑和物理损坏的阈值。只要在某个文件中检

测到的逻辑和物理损坏总和低于该值,则RMAN命令完成,同时Oracle将损坏块的 范围植入到V$COPY_CORRUPTION视图。如果超出MAXCORRUPT,则该命令终

止,并且不植入视图。当并行度比较高时,占用的计算机资源较多,但备份操作完成 速度较快。缺省情况下将启用对物理损坏的错误检查。有关在备份过程中遇到的损坏数 据文件块的信息将记录在控制文件和警报日志中。 4.3.2恢复

查看所有的Copy镜像拷贝: RMAN>listcopy; 数据文件副本还原:

还原时可以offline数据文件所属表空间,然后利用OS拷贝命令恢复副本。

还可以用restore(datafilenum)fromdatafilecopy命令来从数据文件副本中还原数 据文件,然后再用recover命令来恢复。例如: RMAN>sql\RMAN>restore(datafile5)fromdatafilecopy; RMAN>recoverdatafile5;

RMAN>sql\

注意,上面的圆括号很重要,如果没有,restore命令就会执行失败。 4.4Backup备份与恢复

Backup备份命令生成Backupsets(备份集合),以oracle专有的格式保存,由一个完全 的所有的备份片集合构成,构成一个完全备份或增量备份。 4.4.1BACKUP备份命令选项 设置标记(TAG)

RMAN>backupdatabasetag='testbackup'; 限制备份集大小

RMAN>backupdatabasemaxsetsize=100M; 只备份新增部分

RMAN>backupincrementallevel0database; 备份控制文件同时备份SPFILE RMAN>backupcurrentcontrolfile;

RMAN>configurecontrolfileautobackupon;//默认是off

也可以在备份数据库或者文件的时候加上includecurrentcontrolfile选项。例如: RMAN>backupdatabaseincludecurrentcontrolfile;

备份时如果包含了SYSTEM表空间,将自动备份控件文件和SPFILE RMAN>backupfile1;

36

使用自动备份进行恢复:

RMAN>restorespfile/controlfileto'/xx/xx'fromautobackup; 备份归档日志(9i)

RMAN>backuparchivelogall;

RMAN>backup...plusarchivelog;//在备份其他时同时备份归档日志 plusarchivelog隐含如下步骤:

?运行一个ALTERSYSTEMARCHIVELOGCURRENT命令

?运行BACKUPARCHIVELOGALL命令。注意如果备份优化被启用, RMAN只会备份未备份过的日志 ?备份BACKUP命令中定义的文件

?运行ALTERSYSTEMARCHIVELOGCURRENT命令 ?备份所有的剩下的归档日志 备份完后删除归档日志

RMAN>backup...ARCHIVELOGalldeleteallinput; 修改备份集的保存策略

例如:将备份设置为永久有效

RMAN>backupdatabasekeepforeverlogs|nologs; 设置为有效期180天

RMAN>backupdatabasekeepuntiltime='sysdate+180'; 重写configureexclude/noexclude

通过configureexclude可以配置RMAN不备份上次备份以来没有发生变化的数据文 件。如果要确保RMAN备份这些数据文件,可以在backup命令中添加noexclude选项。 例如:

RMAN>backupdatabasenoexclude;

跳过脱机的、不可存取的或者只读的数据文件

RMAN>backupdatabaseskipofflineskipinaccessibleskipreadonly; 强制备份只读的数据文件 RMAN>backupdatabaseforce;

备份指定周期内没有备份的数据文件 RMAN>backupdatabasenotbackedup;

RMAN>backupdatabasenotbackedupsincetime='sysdate-2'; 在备份操作期间检查逻辑讹误

RMAN>backupchecklogicaldatabase;//在检查逻辑错误的同时进行备份 RMAN>backupvalidatechecklogicaldatabase;//只检查 建立压缩备份集

RMAN>backupascompressedbackupsettablespaceusers FORMAT='D:\\BACKUP\\%d_%s.dbf'; 4.4.2RESTORE/RECOVER恢复命令选项 数据库恢复

RMAN>restore/revoverdatabase 表空间恢复

RMAN>restore/revovertablespacexx; 只读表空间的恢复

默认情况下,即使丢失了只读的数据文件,RMAN也不会在执行完全数据库还原

37

操作时候还原只读的数据文件。要在完全恢复期间还原只读的数据文件,就必须在 RESTORE命令中使用CHECKREADONLY参数: RMAN>RESTOREDATABASECHECKREADONLY; 恢复SPFILE/控制文件

使用自动备份恢复SPFILE/控制文件 RMAN>startupnomount; RMAN>setdbid=153910023

RMAN>restorecontrolfilefromautobackup

RMAN>restorespfile/controlfileto'/xx/xx'fromautobackup; 或

RMAN>restorecontrolfilefrom'/arch/ct_c-2347671489-20060630-00'; 联机状态:目标数据库MOUNT或OPEN

RMAN>restorecontrolfileto'd:\\temp\\control01.ctl'; 归档重做日志的还原

RMAN>RESTOREARCHIVELOGALL;

RMAN>RESTOREARCHIVELOGFROMLOGSEQ=1UNTILLOGSEQ=20; RMAN>RESTOREARCHIVELOGFROMLOGSEQ=1;

也可以用SET命令来指定归档日志的还原位置,例如: RMAN>run {

setarchivelogdestinationto\restorearchivelogall; }

数据文件副本还原

RMAN>sql\

RMAN>restore(datafile5)fromdatafilecopy; RMAN>recoverdatafile5;

RMAN>sql\请注意,上面的圆括号很重要 还原检查与恢复测试

与备份检查一样,还原操作也可以检查是否能正常restore或者是否该备份集 是否有效。如::

RMAN>RESTOREDATABASEVALIDATE; RMAN>VALIDATEBACKUPSET218;

RMAN>RESTOREDATABASEVALIDATECHECKLOGICAL; 从指定的tag恢复:

RMAN>RESTOREFROMtag=’xxxx’; 不完全恢复的还原: 1.setuntiltime/SCN/

2.RMAN>restoredatabaseuntilscn1000;

RMAN>restoredatabase\RMAN>restoredatabaseuntilsequence100thread1; 块级别的恢复

块恢复BlockMediaRecovery(BMR),块是恢复的最小单元,通过块可以减少恢复

38

时间,而且数据文件可以在线。恢复块的时候,必须指定具体的块号,如: RMAN>blockrecoverdatafile6block3;

具体请见4.7.4块媒体恢复BlockMediaRecovery(BMR) 4.4.3非归档模式下的BACKUP备份与恢复 恢复目录:打开

目标数据库:例程启动,数据库加载,mount不能open

因为目标数据库不在归档模式下,所以当进行备份/恢复操作的时候数据库无法打 开。目标数据库只能在MOUNT状态不能Open,所以属于脱机备份。

非归档模式不备份redo日志,只有完全备份和readonly/offline表空间和数据文件 备份是有意义的,所以非归档模式最好不用RMAN进行备份,备份语法与归档模式相 同,所以这里只做简单介绍。 4.4.3.1全库备份

例:使用默认的设置脱机全备份的语句

例:不使用默认的设置执行脱机备份操作,在备份命令中指定备份选项 RMAN>shutdownimmediate; RMAN>startupmount; RMAN>run{

allocatechannelc1typediskformat'/xxx/ming_%U'; RMAN>shutdownimmediate; RMAN>startupmount; RMAN>backupdatabase; RMAN>startup;

allocatechannelc2typediskformat'/xxx/ming_%U';

backupfulltagfull_db_backupformat\backupcurrentcontrolfile; releasechannelc1; releasechannelc2; }

在这个例子中,我们分配了两个通道,备份位置是在/xxx。默认情况下,如果备份数据 文件1(SYSTEM表空间),控制文件和参数文件也会备份。 可以通过下面的命令显示恢复目录中记载的备份集信息: RMAN>listbackupsetofdatabase; 4.4.3.2全库备份的恢复 $rmantarget/

RMAN>startupmount RMAN>restoredatabase; RMAN>recoverdatabase;

RMAN>alterdatabaseopenresetlogs; 4.4.3.3表空间备份

只有readonly/offline表空间的备份才有意义。 RMAN>run{

2>allocatechanneldev1typedisk; 3>backup

4>tagtbs_users_read_only

39

5>format\6>(tablespaceusers); 7>}

使用下列命令来显示恢复目录中该表的备份信息: RMAN>listbackupsetoftablespaceusers; 4.4.3.4表空间备份的恢复 RMAN>RUN{

sql\restoretablespacexx; recovertablespacexx;

sql\}

4.4.3.5备份控制文件 RMAN>run{

2>allocatechanneldev1type\3>backup

4>format\5>tagcf_monday_night 6>(currentcontrolfile); 7>releasechanneldev1; 8>}

注:数据库完全备份将自动备份控制文件。(或者备份时加includecurrentcontrolfile) 4.4.4归档模式下的BACKUP备份与完全恢复

要用RMAN进行联机备份操作,数据库就必须位于ARCHIVELOG模式。恢复 目录必须打开,目标数据库例程必须启动,数据库加载或者打开。 这部分只介绍完全恢复,不完全恢复见下一节。 4.4.4.1整库备份与恢复 备份命令:

只备份数据文件(如果configurecontrolfileautobackupon;将自动包括控件文件, SPFILE):

RMAN>backupdatabase;

同时备份归档日志,然后将备份后的归档日志删除 RMAN>backupdatabaseplusarchivelogdeleteinput; 明确指定同时备份控件文件: RMAN>run{

allocatechannelc1typedisk;

sql'altersystemarchivelogcurrent';

backupfulldatabaseincludecurrentcontrolfiletag'dbfull' format'/u06/oracle/rmanback/full_%u_%s_%p'; sql'altersystemarchivelogcurrent'; releasechannelc1; }

可以用RMAN的plusarchvielog选项简化数据库备份: RMAN>run{

40


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

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

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

马上注册会员

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