WEB开发网
开发学院数据库Oracle Oracle数据库备份与恢复(4):RMAN(备份与恢复管理器... 阅读

Oracle数据库备份与恢复(4):RMAN(备份与恢复管理器)

 2008-11-05 11:48:37 来源:WEB开发网   
核心提示: 4.3 Copy 镜像拷贝与恢复 Copy镜像拷贝命令可以创建数据库数据文件、归档重做日志或者控制文件的精确副本, RMAN 副本与这些文件的区别仅在于名称和(或)位置的区别,Oracle数据库备份与恢复(4):RMAN(备份与恢复管理器)(3),功能相当于用户管理的备 份恢复中的热备份,备份副本的好处是恢复比较

  4.3 Copy 镜像拷贝与恢复

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

   Copy镜像拷贝至少要在mount 状态下运行。

   Copy镜像拷贝可作为增量备份的  Level 0

   Oracle10g开始,允许使用单条命令"backup as copy"进行数据库拷贝。

   4.3.1  备份

   生成数据文件副本:

   RMAN> copy datafile 3 to 'd:\backup\datafilecopy\users01.dbf.bak';

   RMAN> copy datafile 'd:\oracle\oradata\ora9i\users01.dbf' to

   'd:\backup\datafilecop y\users01.dbf.bak';

   生成控制文件副本:

   RMAN> copy current controlfile to … ;

   RMAN> CONFIGURE CONTROLFILE AUTOBACKUP is ON;

   备份 ARCHIVELOG  副本:

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

   RMAN> copy archivelog 'd:\oracle\oradata\arc\ming_351.arc' to

   'd:\oracle\orabackup\arc\ming_351.arc';

   并行设置:

   1. RMAN> configure device type …… parallelism = 3;//only 2 channel, one for writting data to disk

   2.  手工分配多个通道

   3.  在命令中指定多个文件RMAN> cop y datafile 'xx' to 'xx2', datafile 'yy' to 'yy2', ……;

   块检查:CHECK LOGICAL  选项MAXCORRUPT参数 V$COPY_CORRUPTION在复制操作中,Oracle 服务器进程对每个块执行校验和计算以检测是否有块损坏。 RMAN 在还原副本时也要核对校验和. 该过程称为物理损坏检测. 可以使用NOCHECKSUM  选项取消校验和操作,从而加快复制进程。如果数据库已在维护块校验和,则此选项无效。缺省情况下,禁用逻辑损坏的错误检查。

   可以使用  CHECK LOGICAL  选项测试通过了物理损坏检查的数据和索引块,查看 它们是否存在逻辑损坏,如行片或索引条目损坏。如果检测到任何块存在逻辑损坏,则 将该块记录到服务器进程的警报日志和跟踪文件中。

   可以使用  MAXCORRUPT  参数设置逻辑和物理损坏的阈值。只要在某个文件中检 测到的逻辑和物理损坏总和低于该值,则  RMAN  命令完成,同时  Oracle 将损坏块的 范围植入到  V$COPY_CORRUPTION  视图。如果超出  MAXCORRUPT,则该命令终 止,并且不植入视图。  当并行度比较高时,占用的计算机资源较多,但备份操作完成 速度较快。缺省情况下将启用对物理损坏的错误检查。有关在备份过程中遇到的损坏数 据文件块的信息将记录在控制文件和警报日志中。

   4.3.2  恢复

   查看所有的 Copy镜像拷贝:RMAN> list copy;数据文件副本还原:还原时可以 offline 数据文件所属表空间,然后利用 OS拷贝命令恢复副本。

   还可以用  restore  (datafile  num)  from  datafilecop y  命令来从数据文件副本中还原数 据文件,然后再用  recover  命令来恢复。例如:RMAN> sql "alter database datafile 5 offline"; RMAN> restore (datafile 5) from datafilecop y; RMAN> recover datafile 5;RMAN> sql "alter database  datafile 5 online";注意,上面的圆括号很重要,如果没有,restore 命令就会执行失败。

  4.4 Backup 备份与恢复

   Backup  备份命令生成 Backup sets (备份集合),以 oracle 专有的格式保存,由一个完全的所有的备份片集合构成,构成一个完全备份或增量备份。

   4.4.1 BACKUP  备份命令选项

   设置标记(TAG)

   RMAN> backup database tag='test backup';

   限制备份集大小

   RMAN> backup database maxsetsize=100M;

   只备份新增部分

   RMAN> backup incremental level 0 database;

   备份控制文件   同时备份SPFILE

   RMAN> backup current controlfile;

   RMAN> configure controlfile autobackup on;   //  默认是 off

   也可以在备份数据库或者文件的时候加上 include current controlfile 选项。例如:

   RMAN> backup database include current controlfile;

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

   使用自动备份进行恢复:

   RMAN> restore spfile/controlfile to '/xx/xx' from autobackup;

   备份归档日志(9i)

   RMAN> backup archivelog all;

   RMAN> backup …… plus archivelog; //  在备份其他时同时备份归档日志

   plus archivelog 隐含如下步骤:

   运行一个 ALTER SYSTEM ARCHIVELOG CURRENT 命令

   运行  BACKUP  ARCHIVELOG  ALL  命令。注意如果备份优化被启用,RMAN只会备份未备份过的日志

   备份 BACKUP命令中定义的文件

   运行 ALTER SYSTEM ARCHIVE LOG CURRENT 命令  

   备份所有的剩下的归档日志

   备份完后删除归档日志RMAN> backup …… ARCHIVELOG all delete all input;修改备份集的保存策略例如:将备份设置为永久有效RMAN> backup database keep forever logs|nologs;设置为有效期  180  天RMAN> backup database keep until time='sysdate+180';重写configure exclude / noexclude通过  configure  exclude 可以配置  RMAN  不备份上次备份以来没有发生变化的数据文件。如果要确保 RMAN备份这些数据文件,可以在 backup命令中添加  noexclude  选项。 例如:RMAN> backup database noexclude;

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

   RMAN> backup database skip offline skipinaccessible skipreadonly;

   强制备份只读的数据文件

   RMAN> backup database force;

   备份指定周期内没有备份的数据文件

   RMAN> backup database not backed up;

   RMAN> backup database not backed up since time='sysdate-2';

   在备份操作期间检查逻辑讹误

   RMAN> backup check logical database;   //在检查逻辑错误的同时进行备份RMAN> backup validate check logical database;   //只检查建立压缩备份集RMAN> backup as compressed backupset tablespace users FORMAT='D:\BACKUP\%d_%s.dbf';

   4.4.2 RESTORE/RECOVER恢复命令选项

   数据库恢复

   RMAN> restore/revover database ;

   表空间恢复

   RMAN> restore/revover tablespace xx ;

   只读表空间的恢复

   默认情况下,即使丢失了只读的数据文件,RMAN  也不会在执行完全数据库还原 操作时 候还原只读的数据文件。要 在完全恢复期间还 原只读的 数据文件,就必须在 RESTORE 命令中使用 CHECK READONLY 参数:RMAN> RESTORE DATABASE CHECK READONLY;

   恢复SPFILE/控制文件

   使用自动备份恢复 SPFILE/控制文件

   RMAN> startup nomount;

   RMAN> set dbid=153910023

   RMAN> restore controlfile from autobackup

   RMAN> restore spfile/controlfile to '/xx/xx' from autobackup ;

   或

   RMAN> restore controlfile from'/arch/ct_c-2347671489-20060630-00';

   联机状态:目标数据库 MOUNT 或 OPEN

   RMAN> restore controlfile to 'd:\temp\control01.ctl';

   归档重做日志的还原

   RMAN> RESTORE ARCHIVELOG ALL;RMAN> RESTORE ARCHIVELOG FROM LOGSEQ=1 UNTIL LOGSEQ=20; RMAN> RESTORE ARCHIVELOG FROM LOGSEQ=1;

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

   RMAN> run

   {

   set archivelog destination to "d:\temp";

   restore archivelog all;

   }

   数据文件副本还原

   RMAN> sql "alter datafile 5 offline";RMAN> restore (datafile 5) from datafilecop y; RMAN> recover datafile 5;RMAN> sql "alter datafile 5 online";请注意,上面的圆括号很重要

   还原检查与恢复测试

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

   RMAN> RESTORE DATABASE VALIDATE;RMAN>VALIDATEBACKUPSET 218;RMAN> RESTORE DATABASE VALIDATE CHECK LOGICAL ;

   从指定的tag恢复:

   RMAN> RESTORE FROM tag=‘xxxx’;

   不完全恢复的还原:

   1.set until time/SCN/ 2.RMAN> restore database until scn 1000;RMAN>restore database "to_date('2005/08/01 13:00:00','yyyy/mm/dd hh24:mi:ss')"; RMAN> restore database until sequence 100 thread 1;

   块级别的恢复

   块恢复 Block Media Recovery (BMR),块是恢复的最小单元,通过块可以减少恢复 时间,而且数据文件可以在线。恢复块的时候,必须指定具体的块号,如:RMAN> blockrecoverdatafile 6 block 3;具体请见  4.7.4  块媒体恢复  Block Media Recovery (BMR)

上一页  1 2 3 4 5 6 7  下一页

Tags:Oracle 数据库 备份

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接