关于控制文件和redo log损坏的恢复
前段时间一朋友自己电脑上的开发测试用的数据库出了点问题,电脑操作系统是Win8,直接在Win8上安装了Oracle11g,后来系统自动升级到Win8.1,Oracle相关的服务全都不见了,想想把数据文件、参数据文件、控制文件、redo log备份一下,然后重装一下,但在复制控制文件的时候,总是无法复制,最终放弃了备份控制文件,打算装好后重建控制文件。一切还算顺利,因为数据文件和redo log都是完整的,所以重建控制文件也很顺利。
由此想到春节前有一台服务器因断电而导致控制文件和redo log损坏,当时用了备份文件恢复了数据库,现在想一下是否可以通过重建控制文件的方式来恢复,就找了一个测试机做了一个测试,操作步骤如下:(未做解释)
[oracle@demo.com.cn:/u02/oradata/dba]$ ll
total 2336140
-rw-r----- 1 oracle oinstall 9748480 Mar 31 09:21 control01.ctl
-rw-r----- 1 oracle oinstall 9748480 Mar 31 09:21 control02.ctl
-rw-r----- 1 oracle oinstall 9748480 Mar 31 09:21 control03.ctl
-rw-r----- 1 oracle oinstall 104865792 Mar 31 09:21 example01.dbf
-rw-r----- 1 oracle oinstall 52429312 Mar 31 09:21 redo01.log
-rw-r----- 1 oracle oinstall 52429312 Mar 31 09:21 redo02.log
-rw-r----- 1 oracle oinstall 52429312 Mar 31 09:21 redo03.log
-rw-r----- 1 oracle oinstall 629153792 Mar 31 09:21 sysaux01.dbf
-rw-r----- 1 oracle oinstall 754982912 Mar 31 09:21 system01.dbf
-rw-r----- 1 oracle oinstall 88088576 Mar 30 16:56 temp01.dbf
-rw-r----- 1 oracle oinstall 676339712 Mar 31 09:21 undotbs01.dbf
-rw-r----- 1 oracle oinstall 5251072 Mar 31 09:21 users01.dbf
[oracle@demo.com.cn:/u02/oradata/dba]$ rm *.ctl
[oracle@demo.com.cn:/u02/oradata/dba]$ rm *.log
[oracle@demo.com.cn:/u02/oradata/dba]$ ll
total 2153968
-rw-r----- 1 oracle oinstall 104865792 Mar 31 09:21 example01.dbf
-rw-r----- 1 oracle oinstall 629153792 Mar 31 09:21 sysaux01.dbf
-rw-r----- 1 oracle oinstall 754982912 Mar 31 09:21 system01.dbf
-rw-r----- 1 oracle oinstall 88088576 Mar 30 16:56 temp01.dbf
-rw-r----- 1 oracle oinstall 676339712 Mar 31 09:21 undotbs01.dbf
-rw-r----- 1 oracle oinstall 5251072 Mar 31 09:21 users01.dbf
[oracle@demo.com.cn:/u02/oradata/dba]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Tue Mar 31 09:22:07 2015 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to an idle instance. SQL> startup nomount
ORACLE instance started. Total System Global Area 8551575552 bytes
Fixed Size 2245480 bytes
Variable Size 939527320 bytes
Database Buffers 7600078848 bytes
Redo Buffers 9723904 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "DBA" RESETLOGS NOARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 10
7 LOGFILE
8 GROUP 1 '/u02/oradata/dba/redo01.log' SIZE 50M,
9 GROUP 2 '/u02/oradata/dba/redo02.log' SIZE 50M,
10 GROUP 3 '/u02/oradata/dba/redo03.log' SIZE 50M
11 -- STANDBY LOGFILE
12 DATAFILE
13 '/u02/oradata/dba/system01.dbf',
14 '/u02/oradata/dba/undotbs01.dbf',
15 '/u02/oradata/dba/sysaux01.dbf',
16 '/u02/oradata/dba/users01.dbf',
17 '/u02/oradata/dba/example01.dbf'
18 CHARACTER SET ZHS16GBK
19 ; Control file created. SQL> recover database using backup controlfile until cancel;
ORA-00279: change 2078375 generated at 03/31/2015 09:21:31 needed for thread 1
ORA-00289: suggestion : /u03/arch_log/1_1_875784077.dbf
ORA-00280: change 2078375 for thread 1 is in sequence #1 Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: cannot open archived log '/u03/arch_log/1_1_875784077.dbf'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3 ORA-00308: cannot open archived log '/u03/arch_log/1_1_875784077.dbf'
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; Database altered. SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@demo.com.cn:/u02/oradata/dba]$ ll
total 2336140
-rw-r----- 1 oracle oinstall 9748480 Mar 31 09:28 control01.ctl
-rw-r----- 1 oracle oinstall 9748480 Mar 31 09:28 control02.ctl
-rw-r----- 1 oracle oinstall 9748480 Mar 31 09:28 control03.ctl
-rw-r----- 1 oracle oinstall 104865792 Mar 31 09:24 example01.dbf
-rw-r----- 1 oracle oinstall 52429312 Mar 31 09:27 redo01.log
-rw-r----- 1 oracle oinstall 52429312 Mar 31 09:24 redo02.log
-rw-r----- 1 oracle oinstall 52429312 Mar 31 09:24 redo03.log
-rw-r----- 1 oracle oinstall 629153792 Mar 31 09:24 sysaux01.dbf
-rw-r----- 1 oracle oinstall 754982912 Mar 31 09:24 system01.dbf
-rw-r----- 1 oracle oinstall 88088576 Mar 30 16:56 temp01.dbf
-rw-r----- 1 oracle oinstall 676339712 Mar 31 09:24 undotbs01.dbf
-rw-r----- 1 oracle oinstall 5251072 Mar 31 09:24 users01.dbf
[oracle@demo.com.cn:/u02/oradata/dba]$
关于控制文件和redo log损坏的恢复的更多相关文章
- 07 oracle 非归档模式 inactive/active/current redo log损坏的恢复
在非归档模式下缺失Redo Log后的恢复 将之前的归档模式修改为非归档 SQL> shutdown immediate; SQL> startup mount SQL> alter ...
- 07 oracle 归档模式 inactive/current redo log损坏修复--以及错误ORA-00600: internal error code, arguments: [2663], [0], [9710724], [0], [9711142], [], [], [], [], [], [], []
07 oracle 归档模式 inactive/current redo log损坏修复--以及错误ORA-00600: internal error code, arguments: [2663], ...
- 07 归档模式 Active redo log丢失或损坏的恢复
环境同上一篇 模拟处于active状态的redo log损坏 sesion 1 SYS@ orcl >/ GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEM ...
- MySQL · 引擎特性 · InnoDB redo log漫游(转)
前言 InnoDB 有两块非常重要的日志,一个是undo log,另外一个是redo log,前者用来保证事务的原子性以及InnoDB的MVCC,后者用来保证事务的持久性. 和大多数关系型数据库一样, ...
- Oracle的控制文件
一.控制文件 oracle的控制文件是极其重要的文件,它是一个较小的二进制文件. 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等等 在参数文件中描述其位置, ...
- 用备份控制文件做不完全恢复下的完全恢复(全备<老>--备份控制文件<次新>--删除表空间andy--日志文件<新>)
为什么会使用备份的控制文件? 实际工作中主要有两种情况:第一种:当前控制文件全部损坏,而数据文件备份,控制文件备份及当前日志处于不同SCN版本,它们之间又增加过表空间(数据文件).第二种:当前控制文件 ...
- 说说MySQL中的Redo log Undo log都在干啥
在数据库系统中,既有存放数据的文件,也有存放日志的文件.日志在内存中也是有缓存Log buffer,也有磁盘文件log file,本文主要描述存放日志的文件. MySQL中的日志文件, ...
- 【转】说说MySQL中的Redo log Undo log都在干啥
阅读目录(Content) 1 undo 1.1 undo是啥 1.2 undo参数 1.3 undo空间管理 2 redo 2.1 redo是啥 2.2 redo 参数 2.3 redo 空间管理 ...
- MySQL:binlog 和 redo log
[参考文章]:MySQL中Redo与Binlog顺序一致性问题? [参考文章]:极客时间 1. 数据更新时的日志处理流程 1.1 redo log(prepare状态) 此时SQL已经成功执行了,已经 ...
随机推荐
- void *memmove( void* dest, const void* src, size_t count );数据拷贝,不需要CPU帮助
分享到 腾讯微博 QQ空间 新浪微博 人人网 朋友网 memmove 编辑词条 编辑词条 --> memmove用于从src拷贝count个字符到dest,如果目标区域和源区域有重叠的话,m ...
- javascript将form表单中的元素值封装成json格式
把form表单中的元素值封装成json function toJSON(form)//form是要进行封装的form表单对象,dom对象,可以通过document.mainForm获得,mainFor ...
- JS之arguments属性解读函数传参?
Arguments 该对象代表正在执行的函数 和 调用他的函数的参数. arguments属性:为当前执行中的 Function 对象返回 arguments 对象 和 参数. [function.] ...
- Css3动态伪类
通常我们可以用CSS中伪类和js中的鼠标事件来定义. 动态伪类 起作用的元素 描述 :link 只有链接 未访问的链接 :visited 只有链接 访问过的链接 :hover 所有元素 鼠标经过元素 ...
- DPC定时器
KeInitializeTimer 初始化定时器 KeInitializeTimerEx 初始化定时器 KeSetTimer 开启定时器(只执行一次) KeSetTimerEx 开启定时器(可以设置循 ...
- winform中WebBrowser控件执行脚本
在实际应用中我们可能需要WebBrowser控件主动执行我们需要的脚本,执行脚本现在有两种方法. 1.WebBrowser控件加载脚本,简单方便,适用于简短的脚本,无法执行复杂操作. webBrows ...
- BZOJ 2300 防线修建
http://www.lydsy.com/JudgeOnline/problem.php?id=2300 题意:给点,有以下操作:删去一个点,询问这些点构成凸包的周长. 思路:用splay维护上凸壳, ...
- Basic Printing Architecture
https://blogs.technet.microsoft.com/askperf/2007/06/19/basic-printing-architecture/ Printer sharing, ...
- 在QTreeWidget中删除QTreeWidgetItem
我就想删除topLevelItem stackoverflow上是这样说的: http://stackoverflow.com/questions/9392051/how-do-i-delete-a ...
- python word操作深入
python 把word转html:上传页面<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...