【DB笔试面试760】在Oracle中,备库数据文件异常,物理DG如何恢复?

【DB笔试面试760】在Oracle中,备库数据文件异常,物理DG如何恢复?

         题目         部分

在Oracle中,备库数据文件异常,物理DG如何恢复?


     




         答案部分          


有的时候由于备库空间不足,在主库添加了数据文件后,导致备库数据文件的缺失,可能很久之后才发现,但是由于归档的缺失等其它原因而导致备库不能正常应用Redo日志。还有其它情况可能导致备库的数据文件不能正常ONLINE,在这种情况下,可以在主库上利用CONVERT命令备份一个数据文件然后拷贝到备库即可。若是备库归档文件比较全,则可以直接在备库创建数据文件后应用Redo日志即可,而不需要从主库拷贝数据文件。

恢复过程中的一些关键性的命令如下所示:

1CONVERT DATAFILE '+DATA1/oralhrs/datafile/tbs101.262.923139373' FORMAT '/tmp/tbs101.dbf_bk';--主库备份相关文件
2CONVERT DATAFILE '/tmp/tbs101.dbf_bk' FORMAT '+DATA1';--备库修改从主库拷贝过来的文件为ASM格式
3ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT='MANUAL' SID='*'; --备库修改文件管理模式为手动
4ALTER DATABASE CREATE DATAFILE 64 AS '+DATA1';--备库若数据文件丢失可以先创建一个数据文件
5ALTER DATABASE RENAME FILE '+DATA1/oralhrsg/datafile/tbs101.483.923151901' TO '+DATA1/oralhrsg/datafile/tbs101.382.923151215'; --重命名刚新建的数据文件为从主库拷贝过来的数据文件
6ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;--启用Redo恢复
     

接下来演示整个恢复过程。

首先查看备库的文件情况,发现64号文件处于OFFLINE状态。

 1SYS@oraLHRDG2> SELECT A.FILE#,A.NAME,A.RECOVER,A.CHECKPOINT_CHANGE#,STATUS  FROM V$DATAFILE_HEADER A WHERE A.FILE# IN (1,2,64);
2     FILE# NAME                                                 REC CHECKPOINT_CHANGE# STATUS
3---------- ---------------------------------------------------- --- ------------------ -------
4         1 +DATA1/oralhrsg/datafile/system.358.869055401                    1.5760E+10 ONLINE
5         2 +DATA1/oralhrsg/datafile/sysaux.354.869047985                    1.5760E+10 ONLINE
6        64 +DATA1/oralhrsg/datafile/tbs101.382.875442343                    1764555149 OFFLINE
7SYS@oraLHRDG2> RECOVER DATAFILE 64;  
8ORA-00283: recovery session canceled due to errors
9ORA-01153: an incompatible media recovery is active
10SYS@oraLHRDG2> RECOVER MANAGED STANDBY DATABASE CANCEL;
11Media recovery complete.
12SYS@oraLHRDG2>  RECOVER DATAFILE 64;  
13ORA-00283: recovery session canceled due to errors
14ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
15SYS@oraLHRDG2> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
16Database altered.
17SYS@oraLHRDG2> ALTER DATABASE DATAFILE 64 ONLINE;
18alter database datafile 64 online
19*
20ERROR at line 1:
21ORA-01113: file 64 needs media recovery
22ORA-01110: data file 64: '+DATA1/oralhrsg/datafile/tbs101.382.875442343'
     

本文分享自微信公众号 - DB宝(lhrdba)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

上一篇:dg和ogg的区别--oracle数据库


下一篇:【DB笔试面试759】在Oracle中,如果主库丢失归档文件,那么物理DG如何恢复?