欢迎试看博主的专著《MySQL 8.0运维与优化》
下面是Oracle 19c OCP考试(1Z0-083)中关于Oracle不完全恢复的题目:
A database is configured in ARCHIVELOG mode
A full RMAN backup exists but no control file backup to trace has been taken
A media failure has occurred
In which two scenarios is incomplete recovery required?
A) after losing all copies of the control file
B) after losing a sysaux tablespace data file
C) after losing all members of the CURRENT online redo log group
D) after losing all members of an INACTIVE online redo log group
E) after losing an UNDO tablespace that is in use
这道题中列出5种情况,让大家选择哪两种情况只能做不完全恢复?
这里的C通常大家都会选,这个很容易达成一致。因为当前的联机日志丢失了,这里面的数据无法恢复,当然是不完全恢复。
D不对,INACTIVE的日志组,表明记录在这个日志组的事务提交所造成的数据块的改变,已经完全从database buffer cache写入到data file中了,实例恢复不再需要这个状态的日志组了,所以这个日志组是可以被覆盖的,丢失了也不会造成数据丢失。
对于E,当正在使用的UNDO表空间丢失时,数据库不一定会crash,但会遇到很多读错误,因为需要rbs提供读一致,这时commit会失败,活动事务的数据会丢失,需要从备份中恢复UNDO表空间,这属于完全恢复。
对于A,所有的控制文件都丢失了,是不是就只能进行不完全恢复?当我们丢失所有的控制文件后,必须要使用 resetlogs 的方式才打开数据库。
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
SQL> alter database open NORESETLOGS;
alter database open NORESETLOGS
*
ERROR at line 1:
ORA-01588: must use RESETLOGS option for database open
因此这个恢复是不完全恢复。
因此姚远老师对这道题目给出的答案是A和C,您觉得我做的对吗?关于Oracle OCP和MySQL OCP的问题欢迎在下方留言,有问必答。
Oracle 19c OCP和MySQL 8.0 OCP应试指南和题库讲解
下面是从Oracle的certview网站(网址是certview加上点oracle点com)上面查询到的姚远老师自己的Oracle证书。