ORACLE 非归档模式下REDO日志丢失修复

第一步:全备datafile,controlfile,spfile/pfile

第二步:恢复日志。(原冷备的日志没有用,千万不要用!)

SQL> select member from v$logfile;                        

/ora/app/oracle/oradata/orcl/redo03.log
/ora/app/oracle/oradata/orcl/redo02.log
/ora/app/oracle/oradata/orcl/redo01.log

SQL> archive log list;
Database log mode              No Archive Mode
Automatic archival             Disabled       
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     10                       
Current log sequence           12                       
SQL> ho rm $ORACLE_BASE/oradata/orcl/redo*.log   --模拟日志文件丢失。       

SQL> ho ls $ORACLE_BASE/oradata/orcl/redo*.log
ls: cannot access /ora/app/oracle/oradata/orcl/redo*.log: No such file or directory

SQL> startup force
ORACLE instance started.

Total System Global Area 1536602112 bytes
Fixed Size                  2213616 bytes
Variable Size             956303632 bytes
Database Buffers          570425344 bytes
Redo Buffers                7659520 bytes
Database mounted.                        
ORA-00313: open failed for members of log group 3 of thread 1
ORA-00312: online log 3 thread 1: ‘/ora/app/oracle/oradata/orcl/redo03.log‘
ORA-27037: unable to obtain file status                                    
Linux-x86_64 Error: 2: No such file or directory                           
Additional information: 3  
SQL> alter database open resetlogs;        --第一步
alter database open resetlogs      
*                                  
ERROR at line 1:                   
ORA-01139: RESETLOGS option only valid after an incomplete database recovery

SQL> recover database using backup controlfile; --第二步
ORA-00279: change 1384991 generated at 05/22/2016 20:05:08 needed for thread 1
ORA-00289: suggestion : /ora/app/oracle/flash_recovery_area/ORCL/archivelog/2016_05_22/o1_mf_1_12_%u_.arc
ORA-00280: change 1384991 for thread 1 is in sequence #12                                                

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
                          --注意:非归档,什么也不做,直接回车。
ORA-00308: cannot open archived log ‘/ora/app/oracle/flash_recovery_area/ORCL/archivelog/2016_05_22/o1_mf_1_12_%u_.arc‘
ORA-27037: unable to obtain file status                                                                                
Linux-x86_64 Error: 2: No such file or directory                                                                       
Additional information: 3   
SQL> alter database open resetlogs;          --第三步
alter database open resetlogs      
*                                  
ERROR at line 1:                   
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: ‘/ora/app/oracle/oradata/orcl/system01.dbf‘
SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;

System altered.                            --第四步,使用隐藏参数,不做一致性检查启动数据库。

SQL> startup force mount;                   --第五步,重启到MOUNT状态下。
ORACLE instance started. 

Total System Global Area 1536602112 bytes
Fixed Size                  2213616 bytes
Variable Size             956303632 bytes
Database Buffers          570425344 bytes
Redo Buffers                7659520 bytes
Database mounted.                        
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 resetlogs;          --第七步,一般情况下会正常恢复。
ERROR:                             
ORA-03114: not connected to ORACLE 
                                            
alter database open resetlogs
*                            
ERROR at line 1:             
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2662], [0], [1384999], [0], [1385016], [4194432], [], [], [], [], [], []
Process ID: 28621                                                                                                   
Session ID: 125 Serial number: 5                                                                                    
                                           --由于隐藏参数导致的600错误。

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options                 
[[email protected] ~]$ sqlplus / as sysdba                                                          

SQL*Plus: Release 11.2.0.1.0 Production on Sun May 22 22:56:21 2016

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> select status from v$instance;        --检查状态,数据库关闭了。
select status from v$instance
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0

SQL> startup mount;                           --再次启动
ORACLE instance started.

Total System Global Area 1536602112 bytes
Fixed Size                  2213616 bytes
Variable Size             956303632 bytes
Database Buffers          570425344 bytes
Redo Buffers                7659520 bytes
Database mounted.
SQL> alter database open;

Database altered.                               --启动成功。

SQL> ho ls $ORACLE_BASE/oradata/orcl/red*         --日志文件自动生成
/ora/app/oracle/oradata/orcl/redo01.log  /ora/app/oracle/oradata/orcl/redo02.log  /ora/app/oracle/oradata/orcl/redo03.log

SQL> alter system reset "_allow_resetlogs_corruption" scope=spfile sid=‘*‘;

System altered.                                --第八步,还原隐藏参数值。

SQL> startup force                              --第九步,重启数据库,使参数生效。
时间: 2024-10-26 07:16:54

ORACLE 非归档模式下REDO日志丢失修复的相关文章

oracle非归档模式下的冷备份和恢复

查看归档的相关信息 SQL> archive log list数据库日志模式             非存档模式自动存档             禁用存档终点            USE_DB_RECOVERY_FILE_DEST最早的联机日志序列     72当前日志序列           74 备份中常用的术语解释: 冷备份(脱机备份): 数据库处于关闭状态下所做的物理拷贝.数据库处于非归档模式下只能使用这种方法备份. 数据库全备份:备份所有数据文件和控制文件,在全备份时,数据库可以处在

测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程

测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程 最近系统出现问题,由于数据库产生的日志量太大无法开启归档模式,导致offline的数据文件无法online! 数据库在启动的时候不检查offline的数据文件! 下面进行测试 数据库版本 SQL> select * from v$version; BANNER ------------------------------------------------------------

在非归档模式下不能更改表空间为备份模式

Oracle表空间设置为备份模式后,便可以联机对表空间下数据文件进行文件系统级别的copy备份操作,因为期间对表空间的修改都记录到数据库的重做日志文件中. 由此想到数据库如果是非归档模式,那么这个表空间备份模式的时间必须不能超过联机日志被覆盖的时间,才能保证数据的修改不会丢失. 那么Oracle对这种情况是如何择决的呢? 实验表明:Oracle是干脆不让你在非归档模式下开启表空间的备份模式. 报错如下: ORA-01123: cannot start online backup; media r

利用 BBED 恢复非归档模式下 OFFLINE 数据文件

今天来模拟一个非归档模式下恢复OFFLINE数据文件的场景,主要有2种情况: 一种是在线日志没有被覆盖,另一种是在线日志被覆盖. 第一种情况比较简单,数据库自身就能处理,而第二种情况稍显复杂,但也并不难,下面开始整个实验过程: 一.在线日志没有被覆盖的场景 --切换数据库到非归档模式 SQL> archive log list Database log mode       Archive Mode Automatic archival       Enabled Archive destina

Oracle非归档模式Media Recovery错误之--ORA-26040

Oracle非归档模式Media Recovery错误之--ORA-26040 系统环境: 操作系统:Linux RH55 Oracle:  Oracle 11gR2 模拟案例: 1.查看数据库模式 18:12:36 [email protected] prod>archive log list; Database log mode              No Archive Mode Automatic archival             Disabled Archive desti

oracle非归档模式与归档模式的备份

不一致性备份:因为备份操作不可能瞬时完成,而数据文件时刻都在写,SCN时刻都在变,备份完第n个数据文件时, 第n+1个数据文件的SCN有可能已经与之前的都不同了. 不一致性的备份在恢复后必须借助归档日志文件和联机重做日志,将数据库修复到一致性的状态才能打开.因此,创 建不一致性备份除了备份数据库启动时必须的数据文件和控制文件之外,还需要备份归档日志文件. 一致性备份:备份的数据文件和控制文件拥有相同的SCN,即一致性备份.只有数据库以shutdown immediate方式关闭 .并且数据库未被

Oracle在归档模式下恢复

=============== 数据库的完全恢复 =============== 在归档模式下数据库完全恢复时,数据库所经过的状态如下: 1.利用备份修复(Restores)损坏或丢失的数据文件,即将备份的文件复制到数据库中原来的位置 2. 将从备份到系统崩溃这段时间所提交的数据由归档日志文件和重做日志文件中还原成数据文件所需要的数据块,这也叫前滚(Roll Forward) 3. 此时数据块中包含了所有提交的数据,也可能包含没提交的数据 4. 系统利用还原数据块回滚未提交的数据,这也叫回滚或者

怎样将Oracle数据库设置为归档模式及非归档模式

1.Oracle日志分类 分三大类: Alert log files--警报日志,Trace files--跟踪日志(用户和进程)和 redo log 重做日志(记录数据库的更改). 归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换时,后台进程ARCH会将重做日志的内容保存到归档日志中,当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库.在Oracle10g中,只要

oracle 归档与非归档模式介绍

Oracle归档模式与非归档模式设置 Oracle的日志归档模式可以有效的防止instance和disk的故障,在数据库故障恢复中不可或缺,由于oracle初始安装模式为非归档模式,因此需要将其设置为归档模式,下面就其方法和步骤做一些总结,虽然简单,但这是管理oracle数据库必备之工,故有如下陈述. 例子是建立在windowsXP和oracle11g的环境下,如有环境不同,仅供参考. Oracle非归档模式设置为归档模式方法步骤: 1,  运行cmd命令,开启sql*plus C:\Docum