60.In which of the scenarios will the DBA perform recovery? (Choose all that apply.)
A.The alert log file is corrupted.
B.A tablespace is accidentally dropped.
C.One of the redo log members is corrupted.
D.A database user terminates the session abnormally.
E.The hard disk on which the data file is stored is corrupted.
答案:BE
解析:
A:A说是告警文件损坏了,这个是不需要恢复的
[oracle@wahaha3 trace]$ ls -l | grep alert
-rw-r-----. 1 oracle oinstall 933597 Jul 20 20:13 alert_wahaha3.log
[oracle@wahaha3 trace]$ rm alert_wahaha3.log --这里我们把它删除
[oracle@wahaha3 trace]$ pwd --看一下路径
/u01/oracle/diag/rdbms/wahaha3/wahaha3/trace
[oracle@wahaha3 trace]$ sqlplus / as sysdba --登陆一下
[oracle@wahaha3 trace]$ ls -l | grep alert_ --查看是否有新的日志生成
-rw-r-----. 1 oracle oinstall 121 Jul 20 20:18 alert_wahaha3.log
[oracle@wahaha3 trace]$ date --看下当前时间
Wed Jul 20 20:19:21 CST 2016
B:表空间被删除了,这个需要进行恢复
C:一个redo成员被删除,这个也不需要进行恢复
1.查看当前是否做了多路
SQL> select group#,status,type,member from v$logfile;
GROUP# STATUS TYPE MEMBER
------ ------- ------- ------------------------------
3 ONLINE /u01/oracle/oradata/wahaha3/redo03.log
2 ONLINE /u01/oracle/oradata/wahaha3/redo02.log
1 ONLINE /u01/oracle/oradata/wahaha3/redo01.log
2.配置为多路
SQL> alter database add logfile member '/u01/oracle/oradata/wahaha3/redo04.log' to group 1,'/u01/oracle/oradata/wahaha3/redo05.log' to group 2,'/u01/oracle/oradata/wahaha3/redo06.log' to group 3;
3.查看状态
alter system switch logfile; --切换几次日志
SQL> select group#,status,type,member from v$logfile; --查看状态
GROUP# STATUS TYPE MEMBER
------ ------- ------- ------------------------------
3 ONLINE /u01/oracle/oradata/wahaha3/redo03.log
2 ONLINE /u01/oracle/oradata/wahaha3/redo02.log
1 ONLINE /u01/oracle/oradata/wahaha3/redo01.log
1 ONLINE /u01/oracle/oradata/wahaha3/redo04.log
2 ONLINE /u01/oracle/oradata/wahaha3/redo05.log
3 ONLINE /u01/oracle/oradata/wahaha3/redo06.log
SQL> select group#,status,archived from v$log; --查看组状态
GROUP# STATUS ARC
------ ---------------- ---
1 CURRENT NO
2 INACTIVE YES
3 INACTIVE YES
SQL> !rm /u01/oracle/oradata/wahaha3/redo05.log --开始破坏一个日志文件
--日志中会出现如下状态,测试的时候没有发现v$logfile
Errors in file /u01/oracle/diag/rdbms/wahaha3/wahaha3/trace/wahaha3_arc3_2217.trc:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/u01/oracle/oradata/wahaha3/redo05.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
--这个时候只需要将那个redo删除,然后重建就可以了,丢失的属于第二组,查看状态,并且如果恢复需要使用
--那么将它写入归档
SQL> alter database drop logfile member '/u01/oracle/oradata/wahaha3/redo05.log';--删除掉
SQL> alter database add logfile member '/u01/oracle/oradata/wahaha3/redo05a.log' to group 2;--添加一个新的
SQL> select group#,status,type,member from v$logfile; --查看状态
GROUP# STATUS TYPE MEMBER
---------- ------- ------- ------------------------------
3 ONLINE /u01/oracle/oradata/wahaha3/redo03.log
2 ONLINE /u01/oracle/oradata/wahaha3/redo02.log
1 ONLINE /u01/oracle/oradata/wahaha3/redo01.log
1 ONLINE /u01/oracle/oradata/wahaha3/redo04.log
2 INVALID ONLINE /u01/oracle/oradata/wahaha3/redo05a.log
3 ONLINE /u01/oracle/oradata/wahaha3/redo06.log
alter system switch logfile; --切换几次,再次查看状态
----这里需要注意,如果文件没有丢失,只是损坏了,可以使用如下语句进行修复
alter database add logfile member '/u01/oracle/oradata/wahaha3/redo05.log' reuse to group 2;
D:用户的会话被kill,这个也不需要恢复的
E:这个需要恢复
A.The alert log file is corrupted.
B.A tablespace is accidentally dropped.
C.One of the redo log members is corrupted.
D.A database user terminates the session abnormally.
E.The hard disk on which the data file is stored is corrupted.
答案:BE
解析:
A:A说是告警文件损坏了,这个是不需要恢复的
[oracle@wahaha3 trace]$ ls -l | grep alert
-rw-r-----. 1 oracle oinstall 933597 Jul 20 20:13 alert_wahaha3.log
[oracle@wahaha3 trace]$ rm alert_wahaha3.log --这里我们把它删除
[oracle@wahaha3 trace]$ pwd --看一下路径
/u01/oracle/diag/rdbms/wahaha3/wahaha3/trace
[oracle@wahaha3 trace]$ sqlplus / as sysdba --登陆一下
[oracle@wahaha3 trace]$ ls -l | grep alert_ --查看是否有新的日志生成
-rw-r-----. 1 oracle oinstall 121 Jul 20 20:18 alert_wahaha3.log
[oracle@wahaha3 trace]$ date --看下当前时间
Wed Jul 20 20:19:21 CST 2016
B:表空间被删除了,这个需要进行恢复
C:一个redo成员被删除,这个也不需要进行恢复
1.查看当前是否做了多路
SQL> select group#,status,type,member from v$logfile;
GROUP# STATUS TYPE MEMBER
------ ------- ------- ------------------------------
3 ONLINE /u01/oracle/oradata/wahaha3/redo03.log
2 ONLINE /u01/oracle/oradata/wahaha3/redo02.log
1 ONLINE /u01/oracle/oradata/wahaha3/redo01.log
2.配置为多路
SQL> alter database add logfile member '/u01/oracle/oradata/wahaha3/redo04.log' to group 1,'/u01/oracle/oradata/wahaha3/redo05.log' to group 2,'/u01/oracle/oradata/wahaha3/redo06.log' to group 3;
3.查看状态
alter system switch logfile; --切换几次日志
SQL> select group#,status,type,member from v$logfile; --查看状态
GROUP# STATUS TYPE MEMBER
------ ------- ------- ------------------------------
3 ONLINE /u01/oracle/oradata/wahaha3/redo03.log
2 ONLINE /u01/oracle/oradata/wahaha3/redo02.log
1 ONLINE /u01/oracle/oradata/wahaha3/redo01.log
1 ONLINE /u01/oracle/oradata/wahaha3/redo04.log
2 ONLINE /u01/oracle/oradata/wahaha3/redo05.log
3 ONLINE /u01/oracle/oradata/wahaha3/redo06.log
SQL> select group#,status,archived from v$log; --查看组状态
GROUP# STATUS ARC
------ ---------------- ---
1 CURRENT NO
2 INACTIVE YES
3 INACTIVE YES
SQL> !rm /u01/oracle/oradata/wahaha3/redo05.log --开始破坏一个日志文件
--日志中会出现如下状态,测试的时候没有发现v$logfile
Errors in file /u01/oracle/diag/rdbms/wahaha3/wahaha3/trace/wahaha3_arc3_2217.trc:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/u01/oracle/oradata/wahaha3/redo05.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
--这个时候只需要将那个redo删除,然后重建就可以了,丢失的属于第二组,查看状态,并且如果恢复需要使用
--那么将它写入归档
SQL> alter database drop logfile member '/u01/oracle/oradata/wahaha3/redo05.log';--删除掉
SQL> alter database add logfile member '/u01/oracle/oradata/wahaha3/redo05a.log' to group 2;--添加一个新的
SQL> select group#,status,type,member from v$logfile; --查看状态
GROUP# STATUS TYPE MEMBER
---------- ------- ------- ------------------------------
3 ONLINE /u01/oracle/oradata/wahaha3/redo03.log
2 ONLINE /u01/oracle/oradata/wahaha3/redo02.log
1 ONLINE /u01/oracle/oradata/wahaha3/redo01.log
1 ONLINE /u01/oracle/oradata/wahaha3/redo04.log
2 INVALID ONLINE /u01/oracle/oradata/wahaha3/redo05a.log
3 ONLINE /u01/oracle/oradata/wahaha3/redo06.log
alter system switch logfile; --切换几次,再次查看状态
----这里需要注意,如果文件没有丢失,只是损坏了,可以使用如下语句进行修复
alter database add logfile member '/u01/oracle/oradata/wahaha3/redo05.log' reuse to group 2;
D:用户的会话被kill,这个也不需要恢复的
E:这个需要恢复