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:小麦苗
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 版权所有,欢迎分享本文,转载请保留出处
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
本文分享自微信公众号 - DB宝(lhrdba)。
如有侵权,请删除。