RMAN的备份与恢复-重读日志文件恢复

本文介绍了在Oracle数据库中如何处理数据库的不完全恢复过程,包括使用SQL*Plus进行mount、关闭实例、恢复数据库以及通过ALTER DATABASE OPEN RESETLOGS命令来重置重做日志并开启数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. C:/Documents and Settings/Administrator>sqlplus /nolog  
  2. SQL*Plus: Release 11.1.0.6.0 - Production on 星期四 6月 30 14:21:20 2011  
  3. Copyright (c) 1982, 2007, Oracle.  All rights reserved.  
  4. SQL> conn / as sysdba  
  5. 已连接。  
  6. SQL> startup mount;  
  7. ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它  
  8. SQL> shutdown immediate;  
  9. ORA-01109: 数据库未打开  
  10.   
  11. 已经卸载数据库。  
  12. ORACLE 例程已经关闭。  

 

重读日志文件的恢复必须在SQL PLUS上面进行

 [c-sharp] view plaincopyprint?

  1. SQL> startup mount;  
  2. ORACLE 例程已经启动。  
  3. Total System Global Area  535662592 bytes  
  4. Fixed Size                  1334380 bytes  
  5. Variable Size             331350932 bytes  
  6. Database Buffers          197132288 bytes  
  7. Redo Buffers                5844992 bytes  
  8. 数据库装载完毕。  

 

[c-sharp] view plaincopyprint?

  1. SQL> recover database until cancel;  
  2. 完成介质恢复。  

 

[c-sharp] view plaincopyprint?

  1. SQL> alter database open resetlogs;  
  2. 数据库已更改。  
 

 

在SQLPLUS进行了 ALTER DATABASE OPEN RESETLOGS操作后,因为日志文件已经被修改了,所以需要做一个重新的全备份,不然仍沿用原来的备份文件进行恢复会有问题的

 

缺省状态:alter database open(no resetlogs).而数据库打开时候,会比较控制文件和数据文件的scn是否一致,一致才会打开,否则不打开。

而在执行了数据库的不完全恢复后,在打开数据库之前,这时候一般情况下,数据文件的scn是小于控制文件的scn的,因此需要以resetlogs打开数据库,目的就是reset scn,这样两者的scn一致,就可以打开,否则打不开的。执行了resetlogs命令之后,数据库的操作是:将没归档的日志都归档;然后将联机日志组都置为新的,序号从0开始。

 

问题解决:

先要弄清楚alterdatabase open resetlogs是什么意思,为什么要用resetlogs打开数据库,这个命令发出后oracle都做了什么?

alterdatabase open resetlogs是要打开数据时,重置重做日志,即将重做日志的sequence置零,为什么要重置重做日志呢?

不完全恢复后,原来的onlineredo log里面包含的是未做恢复前的数据,而这些数据对于恢复后的数据库不再有效,所以数据库会要求在Open之前先对online redo log的sequence置零。

Resetlogs命令表示一个数据库逻辑生存期的结束和另一个数据库逻辑生存期的开始,每次使用Resetlogs命令的时候,SCN不会被重置,不过oracle会重置日志序列号,而且会重置联机重做日志内容。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值