当前日志组全部损坏的恢复

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:         当前日志组是指在被后台进程LGWR写入事务变化的日志组。如果在关闭状态下,当前日志组全部损坏或出现介质失败,那么数据库不能重启。 1)查看当前的日志组状态。

        当前日志组是指在被后台进程LGWR写入事务变化的日志组。如果在关闭状态下,当前日志组全部损坏或出现介质失败,那么数据库不能重启。

1)查看当前的日志组状态。

SQL> select group#,member,type,status from v$logfile;

    GROUP# MEMBER                                   TYPE    STATUS             
---------- ---------------------------------------- ------- -------            
         3 F:\APP\YANG\ORADATA\ORACL\REDO03.LOG     ONLINE                     
         2 F:\APP\YANG\ORADATA\ORACL\REDO02.LOG     ONLINE                     
         1 F:\APP\YANG\ORADATA\ORACL\REDO01.LOG     ONLINE                     

SQL> select group#,members,sequence#,status from v$log;

    GROUP#    MEMBERS  SEQUENCE# STATUS                                        
---------- ---------- ---------- ----------------                              
         1          1          7 ACTIVE                                        
         2          1          8 ACTIVE                                        
         3          1          9 CURRENT
       

2)在关闭状态下,删除日志组以模拟当前日志组全部损坏。                                

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

-----删除当前日志组。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area  535662592 bytes                                      
Fixed Size                  1334380 bytes                                      
Variable Size             142607252 bytes                                      
Database Buffers          385875968 bytes                                      
Redo Buffers                5844992 bytes                                      
数据库装载完毕。

ORA-00313: 无法打开日志组 3 (用于线程 1) 的成员
ORA-00312: 联机日志 3 线程 1: 'F:\APP\YANG\ORADATA\ORACL\REDO03.LOG'

3)当在关闭情况下,当前日志组所有日志成员全部出现介质损坏时,因为数据文件和控制文件处于一致状态,所以我们只需使用RECOVER DATABASE UNTIL CANCEL 命令执行基于取消的不完全的恢复。然后使用RESETLOGS 方式打开数据库

SQL> recover database until cancel
完成介质恢复。
SQL> alter database open resetlogs;

数据库已更改。

SQL> select group#,member,type,status from v$logfile;

    GROUP# MEMBER                                   TYPE    STATUS             
---------- ---------------------------------------- ------- -------            
         3 F:\APP\YANG\ORADATA\ORACL\REDO03.LOG     ONLINE                     
         2 F:\APP\YANG\ORADATA\ORACL\REDO02.LOG     ONLINE                     
         1 F:\APP\YANG\ORADATA\ORACL\REDO01.LOG     ONLINE                     

SQL> select group#,members,sequence#,status from v$log;

    GROUP#    MEMBERS  SEQUENCE# STATUS                                        
---------- ---------- ---------- ----------------                              
         1          1          1 CURRENT                                       
         2          1          0 UNUSED                                        
         3          1          0 UNUSED
                                        

注意:别忘了 备份全数据库。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
Oracle 关系型数据库 数据库
|
监控 Oracle 关系型数据库
[20170310]dg环境下在线日志损坏14.txt
[20170310]dg环境下在线日志损坏14.txt http://blog.itpub.net/267265/viewspace-2134481/ http://blog.
688 0
|
监控 Oracle 关系型数据库
[20170309]dg环境下在线日志损坏13.txt
[20170309]dg环境下在线日志损坏13.txt http://blog.itpub.net/267265/viewspace-2134665/ http://blog.
841 0
|
Oracle 关系型数据库 数据库
[20170307]dg环境下在线日志损坏12.txt
[20170307]dg环境下在线日志损坏12.txt http://blog.itpub.net/267265/viewspace-2134665/ http://blog.
928 0
|
关系型数据库 数据库 数据库管理
[20170303]dg环境下在线日志损坏8.txt
[20170303]dg环境下在线日志损坏8.txt --前面的测试,链接http://blog.itpub.net/267265/viewspace-2134481/ --前面的测试必须使用recover database using backup controlfile until change 13276911099; 才能恢复到结尾.
785 0
|
Oracle 关系型数据库 数据库
[20170301]dg环境下在线日志损坏5.txt
[20170301]dg环境下在线日志损坏5.txt --//星期天跟别人聊天时提到的恢复方法,如果数据库的在线日志损坏,而日志已经传输到dg上,是否可以将dg的日志传输过来用于恢复.
847 0
|
25天前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)