暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

在Oracle中,怎么从备份片(BACKUPPIECE)中恢复(RESTORE)控制文件与数据文件?

DB宝 2017-08-10
831


Q
题目如下所示:

在Oracle中,怎么从备份片(BACKUPPIECE)中恢复(RESTORE)控制文件与数据文件?


     

A
答案如下所示:


可以使用如下方法,在RMAN中恢复备份片的控制文件:

RESTORE CONTROLFILE FROM BACKUPPIECEFILE;

如果是自动备份,可以采用如下的方法:

RESTORE CONTROLFILE FROM AUTOBACKUP;

但是,如果控制文件全部丢失,需要指定DBID,命令为“SET DBID=?”。自动备份控制文件的默认格式是%F,这个格式的形式为“c-IIIIIIIIII-YYYYMMDD-QQ”,其中IIIIIIIIII就是DBID。可以采用包DBMS_BACKUP_RESTORE来恢复(RESTORE)数据文件,当然该包也可以用来恢复备份片中的控制文件。该包在NOMOUNT状态下就可以执行如下所示:

SQL>startup nomount

SQL> DECLARE

  2 devtype varchar2(256);

  3 done boolean;

  4 BEGIN

  5 devtype := dbms_backup_restore.deviceallocate('', params=>'');

  6 dbms_backup_restore.restoresetdatafile;

  7 dbms_backup_restore.restorecontrolfileto('E:\Oracle\oradata\lhrdb\control01.ctl');

  8 dbms_backup_restore.restoreDataFileto(1,'E:\Oracle\oradata\lhrdb\system01.dbf');

  9 dbms_backup_restore.restoreDataFileto(2,'E:\Oracle\oradata\lhrdb\UNDOTBS01.DBF');

10 dbms_backup_restore.restoreDataFileto(3,'E:\ORACLE\ORADATA\lhrdb\USERS01.DBF');

11 dbms_backup_restore.restorebackuppiece('D:\orabak\BACKUP_1_4_04F4IAJT.lhrdb',done=>done);

12 END;

13

PL/SQL 过程已成功完成。

SQL> alter database mount; 



DB笔试面试历史连接

http://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w

About Me:小麦苗

 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

 版权所有,欢迎分享本文,转载请保留出处

 QQ:646634621  QQ群:230161599

● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。


最后修改时间:2020-01-10 21:07:10
文章转载自DB宝,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论