前段时间一朋友自己电脑上的开发测试用的数据库出了点问题,电脑操作系统是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损坏的恢复的更多相关文章

  1. 07 oracle 非归档模式 inactive/active/current redo log损坏的恢复

    在非归档模式下缺失Redo Log后的恢复 将之前的归档模式修改为非归档 SQL> shutdown immediate; SQL> startup mount SQL> alter ...

  2. 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], ...

  3. 07 归档模式 Active redo log丢失或损坏的恢复

    环境同上一篇 模拟处于active状态的redo log损坏 sesion 1 SYS@ orcl >/ GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEM ...

  4. MySQL · 引擎特性 · InnoDB redo log漫游(转)

    前言 InnoDB 有两块非常重要的日志,一个是undo log,另外一个是redo log,前者用来保证事务的原子性以及InnoDB的MVCC,后者用来保证事务的持久性. 和大多数关系型数据库一样, ...

  5. Oracle的控制文件

    一.控制文件 oracle的控制文件是极其重要的文件,它是一个较小的二进制文件. 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等等  在参数文件中描述其位置, ...

  6. 用备份控制文件做不完全恢复下的完全恢复(全备<老>--备份控制文件<次新>--删除表空间andy--日志文件<新>)

    为什么会使用备份的控制文件? 实际工作中主要有两种情况:第一种:当前控制文件全部损坏,而数据文件备份,控制文件备份及当前日志处于不同SCN版本,它们之间又增加过表空间(数据文件).第二种:当前控制文件 ...

  7. 说说MySQL中的Redo log Undo log都在干啥

        在数据库系统中,既有存放数据的文件,也有存放日志的文件.日志在内存中也是有缓存Log buffer,也有磁盘文件log file,本文主要描述存放日志的文件.     MySQL中的日志文件, ...

  8. 【转】说说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 空间管理 ...

  9. MySQL:binlog 和 redo log

    [参考文章]:MySQL中Redo与Binlog顺序一致性问题? [参考文章]:极客时间 1. 数据更新时的日志处理流程 1.1 redo log(prepare状态) 此时SQL已经成功执行了,已经 ...

随机推荐

  1. CentOS 6.5上安装Python 2.7.9

    CentOS 6.6自带的是Python 2.6.6,而编译llvm需要Python 2.7以上. checking for python... /usr/bin/python checking fo ...

  2. 一些 CSS 框架

    利用 CSS 框架,可以简化你的工作,提高工作效率.CSS 框架是一系列 CSS 文件的集合体,包含了基本的元素重置,页面排版.网格布局.表单样式.通用规则等代码块.下面给你推荐了27款优秀的CSS框 ...

  3. smarty 练习: 分页查询

    对查出的数据进行分页,并添加查询 在main.php和main.html两个页面操作: 后台:main.php <?php include("../init.inc.php" ...

  4. apache2.2 虚拟主机配置详解

    一.修改httpd.conf 打开appserv的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号. #LoadModule vhost_alias_module modules ...

  5. CSS3 Transitions

    浏览器支持 属性 浏览器 transition Internet Explorer不支持过渡属性. Firefox4需要前缀-moz-. Chrome和Safari需要前缀-webkit-. Oper ...

  6. C#执行javascript代码

    最近在做网站自动登陆小工具,遇到技术屏障.密码在submit时会使用js进行加密.这时我需要模拟这个加密过程,想到使用C#执行javascript代码. 对于执行javascript代码,纯代码方式使 ...

  7. csv内存流文件流

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...

  8. PHP 之isset() 与 unset()

    isset()用来判断某个变量是否已经被声明,他返回一个boolean类型的值,如果声明则返回true否则返回false.如果变量被声明后,给他赋值为NULL,他也返回false. 如: <?p ...

  9. Intel hex 文件格式解密

    Intel hex 文件常用来保存单片机或其他处理器的目标程序代码.它保存物理程序存储区中的目标代码映象.一般的编程器都支持这种格式. Intel hex 文件全部由可打印的ASCII字符组成(可以用 ...

  10. FILTER的执行次数和驱动表问题

    drop table test1; create table test1 as select * from dba_objects where rownum<1000; drop table t ...