Chinaunix首页 | 论坛 | 博客
  • 博客访问: 121212
  • 博文数量: 27
  • 博客积分: 1200
  • 博客等级: 中尉
  • 技术积分: 350
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-22 14:56
文章分类

全部博文(27)

文章存档

2011年(19)

2010年(8)

我的朋友

分类: Oracle

2011-05-16 15:12:35

摘要:对Redo丢失的4种情况及处理方法

说明:

1.以下所说的当前日志指日志状态为CURRENT,ACTIVE,非当前日志指日志状态为INACTIVE

2.不用考虑归档和非归档模式,2种模式下的Redo丢失情况一样。

 

丢失Redo4种情况:

第一种情况:非当前日志,正常关闭。

第二种情况:非当前日志,非正常关闭。

第三种情况:当前日志,正常关闭。

第四种情况:当前日志,非正常关闭。

 

处理方法:

第一、二种情况的处理方法一样,直接把日志文件clear即可。

alter database clear logfile group 3;

alter database clear unarchived logfile group 3;//如果还未归档加入关键字unarchived

 

第三种情况的处理办法:

SQL>startup mount;

SQL>recover database until cancel;

SQL>alter database open resetlogs;

 

第四种情况的处理方法:

1.通过备份来还原、恢复数据。

2.通过修改参数文件中的参数

_allow_resetlogs_corruption=TRUE

来强制启动数据库。//虽然能够启动数据库到open状态,但是启动后的数据库数据字典、数据有可能导致不一致的情况出现,故需要在open下把整个数据库export,然后删除库,重建,再将export的数据import到新的数据库中。

 

结论:

非正常关闭的当前日志丢失,可能导致数据库启动后的混乱,并可能造成少量数据的丢失。其他情况不会导致数据的丢失。

 

阅读(2264) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~