恢复重做日志

简介:  关闭情况下,非活动日志组成员全部损坏。此时DBA可以增加新日志组,删除原有日志组,然后打开数据库。 1)查看当前的日志状态。SQL> select group#,thread#,sequence#,status from v$log;    GROUP#  ...

 关闭情况下,非活动日志组成员全部损坏。此时DBA可以增加新日志组,删除原有日志组,然后打开数据库。

1)查看当前的日志状态。
SQL> select group#,thread#,sequence#,status from v$log;
    GROUP#    THREAD#  SEQUENCE# STATUS                                        
---------- ---------- ---------- ----------------                              
         1          1          7 CURRENT                                       
         2          1          5 INACTIVE                                      
         3          1          6 INACTIVE                                      

SQL> select group#,members,sequence#,status from v$log;
    GROUP#    MEMBERS  SEQUENCE# STATUS                                        
---------- ---------- ---------- ----------------                              
         1          1          7 CURRENT                                       
         2          1          5 INACTIVE                                      
         3          1          6 INACTIVE                                      

SQL> col member for a50
SQL> select group#,member,status from v$logfile;
    GROUP# MEMBER                                             STATUS           
---------- -------------------------------------------------- -------          
         3 F:\APP\YANG\ORADATA\ORACL\REDO03.LOG                                
         2 F:\APP\YANG\ORADATA\ORACL\REDO02.LOG                                
         1 F:\APP\YANG\ORADATA\ORACL\REDO01.LOG
                                

2)关闭数据库,并删除非活动的日志 模拟日志组损坏。                  

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

-----用os命令 删除日志组2 ,3两组
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: 无法打开日志组 2 (用于线程 1) 的成员
ORA-00312: 联机日志 2 线程 1: 'F:\APP\YANG\ORADATA\ORACL\REDO02.LOG'

3)在为数据库添加日志时 如果和以前的一样 要先将以前的删除,之后再添加日志。否则会报错。。

SQL> alter database add logfile ('f:\app\yang\oradata\oracl\redo02.log') size 50m;
alter database add logfile ('f:\app\yang\oradata\oracl\redo02.log') size 50m
*
第 1 行出现错误:
ORA-01577: 无法添加日志文件 'f:\app\yang\oradata\oracl\redo02.log' -
文件已是数据库的一部分
SQL> alter database drop logfile group 2;
----删除后,再添加
数据库已更改。
SQL> alter database add logfile ('f:\app\yang\oradata\oracl\redo02.log') size 50m;
数据库已更改。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-00313: 无法打开日志组 3 (用于线程 1) 的成员
ORA-00312: 联机日志 3 线程 1: 'F:\APP\YANG\ORADATA\ORACL\REDO03.LOG'
SQL> alter database drop logfile group 3;
数据库已更改。
SQL> alter database add logfile ('f:\app\yang\oradata\oracl\redo03.log') size 50m;
数据库已更改。

3)打开数据库
SQL> alter database open;
数据库已更改。
SQL> select group#,member,type from v$logfile;
    GROUP# MEMBER                                   TYPE                       
---------- ---------------------------------------- -------                    
         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 CURRENT                                       
         2          1          0 UNUSED                                        
         3          1          0 UNUSED                                        
SQL> alter system switch logfile;
系统已更改。
SQL> select group#,members,sequence#,status from v$log;
    GROUP#    MEMBERS  SEQUENCE# STATUS                                        
---------- ---------- ---------- ----------------                              
         1          1          7 ACTIVE                                        
         2          1          8 CURRENT                                       
         3          1          0 UNUSED                                        
SQL> alter system switch logfile;
系统已更改。
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
                                       


 

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
11月前
|
SQL Oracle 关系型数据库
3、控制文件的备份与恢复
控制文件的备份与恢复
91 0
|
11月前
|
Oracle 关系型数据库 数据库
4、数据文件的备份与恢复
数据文件的备份与恢复
106 0
|
Oracle 关系型数据库 数据库
|
Oracle 关系型数据库 数据库
|
SQL 监控 Oracle
【恢复】Redo日志文件丢失的恢复
第一章 Redo日志文件丢失的恢复 1.1  online redolog file 丢失 联机Redo日志是Oracle数据库中比较核心的文件,当Redo日志文件异常之后,数据库就无法正常启动,而且有丢失据的风险,强烈建议在条件允许的情况下,对Redo日志进行多路镜像。
2174 0