Which of the following represents the correct way to perform an online recovery of datafile 4, which is assigned to a tablespace called USERS?
A. shutdown restore datafile 4; recover datafile 4; alter database open;
B. Sql alter database datafile 4 offline; restore datafile 4; recover datafile 4; alter database open;
C. Sql alter database datafile 4 offline; restore datafile 4; Sql alter database datafile 4 online;
D. Sql alter database datafile 4 offline; restore database datafile 4; recover database datafile 4; Sql alter database datafile 4 online;
E. Sql alter database datafile 4 offline; restore datafile 4; recover datafile 4; Sql alter database datafile 4 online;
【题目示意】
此题考查有关于RECOVERY的相关知识。
【解析】
在数据库中可以改变个人数据文件、临时文件的可用性通过脱机或使他们在线。离线数据文件无法访问数据库不可用,直到他们带回来在线,是数据文件脱机的情况有(1)执行离线备份的数据文件(2)重命名或安置一个数据文件。你必须先把它脱机或表空间脱机(3)数据库有问题写入数据文件,并自动将数据文件离线。之后,解决问题后,可以将数据文件手动重新上线。(4)数据文件丢失或损坏,你必须把它离线才能打开数据库。所以在数据库的个人文件被破坏的时,在线恢复数据库文件的时候,应该先使数据文件离线,在还原和恢复数据文件,再使文件在线。数据文件就可以恢复啦。
【实验】
1)先查看我数据库当前的情况,有一个HR用户,里面有数据。
SYS@ENMOEDU > conn hr/hr;
Connected.
HR@ENMOEDU > select * from t;
A
---------------
1
2)制造错误,hr.dbf中存储的是用户hr的数据,删除此文件。
[oracle@ENMOEDU ENMOEDU]$ ls
control01.ctl hr.dbf redo01.log redo02.log redo03.log sysaux01.dbf system01.dbf temp01.dbf undotbs01.dbf users01.dbf
[oracle@ENMOEDU ENMOEDU]$ rm hr.dbf
3)用hr用户登录,执行查询;
SYS@ENMOEDU > conn hr/hr
Connected.
HR@ENMOEDU > select * from t;
select * from t
*
ERROR at line 1:
ORA-01116: error in opening database file 5
ORA-01110: data file 5: '/u01/app/oracle/oradata/ENMOEDU/hr.dbf'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
可以发现有报错,打不开数据文件5,
4)让数据文件处于离线的状态;
SYS@ENMOEDU > alter database datafile 5 offline;
Database altered.
5)进入RMAN中,在RMAN中进行还原;
[oracle@ENMOEDU ~]$ rman target/
RMAN> restore datafile 5;
Starting restore at 16-JAN-14
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/ENMOEDU/hr.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/oracle/fast_recovery_area/ENMOEDU/backupset/2014_01_16/o1_mf_nnndf_TAG20140116T141754_9fgydlwx_.bkp
channel ORA_DISK_1: piece handle=/u01/app/oracle/fast_recovery_area/ENMOEDU/backupset/2014_01_16/o1_mf_nnndf_TAG20140116T141754_9fgydlwx_.bkp tag=TAG20140116T141754
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
Finished restore at 16-JAN-14
6)在RMAN中进行恢复;
RMAN> recover datafile 5;
Starting recover at 16-JAN-14
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:01
Finished recover at 16-JAN-14
7)让数据文件恢复在线状态
SYS@ENMOEDU > alter database datafile 5 offline;
Database altered.
8)再次连接HR用户,可以看到数据文件已经被恢复
SYS@ENMOEDU > conn hr/hr;
Connected.
HR@ENMOEDU > select * from t;
A
--------------------
1
【小结】
个人数据文件是可以离线进行恢复的。
【答案】 B
相关参考
http://docs.oracle.com/cd/E11882_01/server.112/e25494/dfiles.htm#ADMIN11426
The end
DB_SUN
2014.1.25
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29435844/viewspace-1076839/ ,如需转载,请注明出处,否则将追究法律责任。