注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

常在心

淡泊明志,人生自在

 
 
 

日志

 
 

在noarchive下恢复redo日志  

2011-03-28 13:00:21|  分类: oracle备份恢复迁 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

我们很多不太重要的数据库(如测试库)都是工作在noarchive模式,下面我们就来谈谈,在noarchive模式下一些文件丢失的恢复:

条件:
1.shutdown immediate(即不含active的redoglog)
2.redolog全部丢失
3.控制文件,数据文件没问题
4.noarchive模式

插入2行数据,一行commit,一行未commit:

sys@ORALOCAL(192.168.0.12)> insert into oratest.xxx values(1);
 
已创建 1 行。
 
已用时间:  00: 00: 00.37
sys@ORALOCAL(192.168.0.12)> commit;
 
提交完成。
 
已用时间:  00: 00: 00.29
sys@ORALOCAL(192.168.0.12)> insert into oratest.xxx values(2);
 
已创建 1 行。
 
已用时间:  00: 00: 00.25
sys@ORALOCAL(192.168.0.12)>
正常shutdown,删除或者重命名redolog:

sys@ORALOCAL(192.168.0.12)> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
 
 
D:\oracle\logfiles\oralocal>ren *.log *.bak
 
D:\oracle\logfiles\oralocal>dir
 驱动器 D 中的卷是 SOFTWARE
 卷的序列号是 781F-1C15
 
 D:\oracle\logfiles\oralocal 的目录
 
2007-10-27  23:21    <DIR>          .
2007-10-27  23:21    <DIR>          ..
2007-10-27  23:21        10,486,272 REDO101.bak
2007-10-27  23:21        10,486,272 REDO102.bak
2007-10-27  23:21        10,486,272 REDO103.bak
2007-10-27  22:58        10,486,272 REDO201.bak
2007-10-27  22:58        10,486,272 REDO202.bak
2007-10-27  22:58        10,486,272 REDO203.bak
2007-10-27  22:58        10,486,272 REDO301.bak
2007-10-27  22:58        10,486,272 REDO302.bak
2007-10-27  22:58        10,486,272 REDO303.bak
               9 个文件     94,376,448 字节
               2 个目录 10,824,581,120 可用字节
重启时出现报错信息:

sys@ORALOCAL(192.168.0.12)> startup
ORACLE 例程已经启动。
 
Total System Global Area  139533192 bytes
Fixed Size                   453512 bytes
Variable Size             109051904 bytes
Database Buffers           29360128 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
ORA-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'D:\ORACLE\LOGFILES\ORALOCAL\REDO101.LOG'
ORA-00312: 联机日志 1 线程 1: 'D:\ORACLE\LOGFILES\ORALOCAL\REDO102.LOG'
ORA-00312: 联机日志 1 线程 1: 'D:\ORACLE\LOGFILES\ORALOCAL\REDO103.LOG'
利用介质恢复进行恢复redolog:

sys@ORALOCAL(192.168.0.12)> recover database until cancel;
完成介质恢复。
sys@ORALOCAL(192.168.0.12)> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
 
 
已用时间:  00: 00: 01.00
sys@ORALOCAL(192.168.0.12)> alter database open resetlogs;
 
数据库已更改。
 
已用时间:  00: 00: 46.74
 
sys@ORALOCAL(192.168.0.12)> select * from oratest.xxx;
 
         A
----------
         1
 
已用时间:  00: 00: 00.08

  评论这张
 
阅读(105)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017