案例分两种情况:归档模式和非归档模式。在每种模式下采用两种重建方式,即resetlogs和noresetlogs。

一、archived模式下:

SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            C:/oracle/oradata/arch/ora9i
最早的概要日志序列     1
下一个存档日志序列   2
当前日志序列           2
SQL>

1、noresetlogs方式

注意:all online logs are available

将所有的控制文件删除掉后执行重建控制文件脚本,日志如下:

SQL> STARTUP NOMOUNT
ORACLE 例程已经启动。

Total System Global Area  135864308 bytes
Fixed Size                   454644 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                1191936 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "ORA9I" NORESETLOGS  ARCHIVELOG
  2  --  SET STANDBY TO MAXIMIZE PERFORMANCE
  3      MAXLOGFILES 50
  4      MAXLOGMEMBERS 5
  5      MAXDATAFILES 100
  6      MAXINSTANCES 1
  7      MAXLOGHISTORY 226
  8  LOGFILE
  9    GROUP 1 'C:/ORACLE/ORADATA/ORA9I/REDO01.LOG'  SIZE 10M,
 10    GROUP 2 'C:/ORACLE/ORADATA/ORA9I/REDO02.LOG'  SIZE 10M,
 11    GROUP 3 'C:/ORACLE/ORADATA/ORA9I/REDO03.LOG'  SIZE 10M
 12  -- STANDBY LOGFILE
 13  DATAFILE
 14    'C:/ORACLE/ORADATA/ORA9I/SYSTEM01.DBF',
 15    'C:/ORACLE/ORADATA/ORA9I/UNDOTBS01.DBF',
 16    'C:/ORACLE/ORADATA/ORA9I/RMAN.DBF',
 17    'C:/ORACLE/ORADATA/ORA9I/DRSYS01.DBF',
 18    'C:/ORACLE/ORADATA/ORA9I/EXAMPLE01.DBF',
 19    'C:/ORACLE/ORADATA/ORA9I/TEST1.DBF',
 20    'C:/ORACLE/ORADATA/ORA9I/ODM01.DBF',
 21    'C:/ORACLE/ORADATA/ORA9I/TEST2.DBF',
 22    'C:/ORACLE/ORADATA/ORA9I/XDB01.DBF',
 23    'C:/ORACLE/ORADATA/ORA9I/PORTAL.DBF'
 24  CHARACTER SET ZHS16GBK;

控制文件已创建

SQL>
SQL> ALTER SYSTEM ARCHIVE LOG ALL;

系统已更改。

SQL>
SQL> ALTER DATABASE OPEN;

数据库已更改。

SQL>
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'C:/ORACLE/ORADATA/ORA9I/TEMP01.DBF'
  2       SIZE 20971520  REUSE AUTOEXTEND OFF;

表空间已更改。

SQL>
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
SQL> startup;
ORACLE 例程已经启动。

Total System Global Area  135864308 bytes
Fixed Size                   454644 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                1191936 bytes
数据库装载完毕。
数据库已经打开。
SQL>
SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
C:/ORACLE/ORADATA/ORA9I/CONTROL01.CTL
C:/ORACLE/ORADATA/ORA9I/CONTROL02.CTL
C:/ORACLE/ORADATA/ORA9I/CONTROL03.CTL

SQL>
SQL> select member from v$logfile;

MEMBER
--------------------------------------------------------------------------------
C:/ORACLE/ORADATA/ORA9I/REDO01.LOG
C:/ORACLE/ORADATA/ORA9I/REDO03.LOG
C:/ORACLE/ORADATA/ORA9I/REDO02.LOG

SQL>

SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            C:/oracle/oradata/arch/ora9i
最早的概要日志序列     1
下一个存档日志序列   3
当前日志序列           3
SQL>

可看到,日志group的sequence并没有从1开始计数。

1、resetlogs方式

注意:online logs are damaged.

将所有的控制文件和日志文件都删除掉后执行重建控制文件脚本,日志如下:

SQL> STARTUP NOMOUNT
ORACLE 例程已经启动。

Total System Global Area  135864308 bytes
Fixed Size                   454644 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                1191936 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "ORA9I" RESETLOGS  ARCHIVELOG
  2  --  SET STANDBY TO MAXIMIZE PERFORMANCE
  3      MAXLOGFILES 50
  4      MAXLOGMEMBERS 5
  5      MAXDATAFILES 100
  6      MAXINSTANCES 1
  7      MAXLOGHISTORY 226
  8  LOGFILE
  9    GROUP 1 'C:/ORACLE/ORADATA/ORA9I/REDO01.LOG'  SIZE 10M,
 10    GROUP 2 'C:/ORACLE/ORADATA/ORA9I/REDO02.LOG'  SIZE 10M,
 11    GROUP 3 'C:/ORACLE/ORADATA/ORA9I/REDO03.LOG'  SIZE 10M
 12  -- STANDBY LOGFILE
 13  DATAFILE
 14    'C:/ORACLE/ORADATA/ORA9I/SYSTEM01.DBF',
 15    'C:/ORACLE/ORADATA/ORA9I/UNDOTBS01.DBF',
 16    'C:/ORACLE/ORADATA/ORA9I/RMAN.DBF',
 17    'C:/ORACLE/ORADATA/ORA9I/DRSYS01.DBF',
 18    'C:/ORACLE/ORADATA/ORA9I/EXAMPLE01.DBF',
 19    'C:/ORACLE/ORADATA/ORA9I/TEST1.DBF',
 20    'C:/ORACLE/ORADATA/ORA9I/ODM01.DBF',
 21    'C:/ORACLE/ORADATA/ORA9I/TEST2.DBF',
 22    'C:/ORACLE/ORADATA/ORA9I/XDB01.DBF',
 23    'C:/ORACLE/ORADATA/ORA9I/PORTAL.DBF'
 24  CHARACTER SET ZHS16GBK;

控制文件已创建

SQL>
SQL> prompt  RECOVER DATABASE USING BACKUP CONTROLFILE
RECOVER DATABASE USING BACKUP CONTROLFILE
SQL>
SQL> ALTER DATABASE OPEN RESETLOGS;

数据库已更改。

SQL>
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'C:/ORACLE/ORADATA/ORA9I/TEMP01.DBF'
  2       SIZE 20971520  REUSE AUTOEXTEND OFF;

表空间已更改。

SQL>
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
SQL> startup;
ORACLE 例程已经启动。

Total System Global Area  135864308 bytes
Fixed Size                   454644 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                1191936 bytes
数据库装载完毕。
数据库已经打开。
SQL>
SQL>
SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
C:/ORACLE/ORADATA/ORA9I/CONTROL01.CTL
C:/ORACLE/ORADATA/ORA9I/CONTROL02.CTL
C:/ORACLE/ORADATA/ORA9I/CONTROL03.CTL

SQL>
SQL> select member from v$logfile;

MEMBER
--------------------------------------------------------------------------------
C:/ORACLE/ORADATA/ORA9I/REDO03.LOG
C:/ORACLE/ORADATA/ORA9I/REDO02.LOG
C:/ORACLE/ORADATA/ORA9I/REDO01.LOG

SQL>

SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            C:/oracle/oradata/arch/ora9i
最早的概要日志序列     0
下一个存档日志序列   1
当前日志序列           1
SQL>

可看到,日志group的sequence又开始从1开始计数。

二、非归档模式下:

先将数据库由归档模式改为非归档模式,具体操作如下:

SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            C:/oracle/oradata/arch/ora9i
最早的概要日志序列     2
下一个存档日志序列   4
当前日志序列           4
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup nomount;
ORACLE 例程已经启动。

Total System Global Area  135864308 bytes
Fixed Size                   454644 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                1191936 bytes
SQL> alter database noarchivelog;
alter database noarchivelog
*
ERROR 位于第 1 行:
ORA-01507: ??????

SQL> alter database mount;

数据库已更改。

SQL> alter database noarchivelog;

数据库已更改。

SQL> alter database open;

数据库已更改。

SQL> archive log list
数据库日志模式             非存档模式
自动存档             启用
存档终点            C:/oracle/oradata/arch/ora9i
最早的概要日志序列     2
当前日志序列           4
SQL>

1、noresetlogs方式

同归档模式下的noresetlogs方式

2、resetlogs方式

同非归档模式下的resetlogs方式

从这里再一次可看出重建控制文件跟数据库是否归档没有直接的关系。

重建控制文件的案例(RESETLOGS模式和NORESETLOGS模式)相关推荐

  1. oracle恢复主键丢失,案例:Oracle重建控制文件丢失undo异常恢复 ORA-01173模拟与恢复...

    天萃荷净 重建控制文件丢失undo异常恢复 ORA-01173模拟与恢复 数据库异常关闭,使用resetlogs方式重建控制文件,不包含undo表空间相关数据库,然后尝试resetlogs打开数据库, ...

  2. oracle log block size,案例:Oracle无法启动报错ORA-00218: block size 0 重建控制文件

    天萃荷净 oracle数据库无法启动报错ORA-00218故障,通过重建控制文件解决文件损坏问题 遇到一个案例在数据库启动的时候报ORA-00218错误,而这个故障的引起原因是因为重建控制文件的时候, ...

  3. 【翻译自mos中文文章】重建控制文件的方法

    重建控制文件的方法 參考原文: How to Recreate a Controlfile (Doc ID 735106.1) 适用于: Oracle Database - Enterprise Ed ...

  4. 重建控制文件具体解释

    http://note.youdao.com/share/?id=d3991566cad33723db8b92183dcd9161&type=note 完整图文最新版   创造"重建 ...

  5. oracle重建控制文件流程,ORACLE之重建控制文件

    当这些信息更改或者变动时,oracle数据库会自动把最新信息更新到controlfile文件里面. 启动数据库时,Oracle从初始化参数文件(pfile/spfile)中获得控制文件的名字及位置,打 ...

  6. 重建控制文件--Rebuild controlfile

    重建控制文件时DBA需要知道,但是也许整个职业生涯都不会再生产系统上遇见. 首先强调,备份是最安全,快捷,有效的恢复方式,一个DBA,如果没有规划好有效的备份,终有一天,他会被噩梦惊醒. 梦醒之后,就 ...

  7. 重建控制文件,并且不干净的关闭数据库测试

    重建控制文件,并且不干净的关闭数据库测试: 数据库SHUTDOWN ABORT,删除CONTROLFILE SQL> startup nomount; ORACLE instance start ...

  8. oracle 重建控制文件 恢复数据库

    C盘不小心被格式化了,Oracle在D盘,重装系统后,需要把数据库恢复起来 1.无法打开数据库,需要重建控制文件. SQL> shutdown abort; ORACLE 例程已经关闭. SQL ...

  9. oracle重建服务器,Oracle重建控制文件的实例教程

    前言 控制文件(control file)是一个相当小的文件(最多能增长到64M左右),其中包含Oracle需要的其他文件的一个目录.参数文件告知实例控制文件的位置,控制文件则告知示例数据库和在线重做 ...

最新文章

  1. Java设计模式-回调函数和观察者模式
  2. 利用Python进行数据分析-07-汇总和计算描述统计
  3. java 程序执行后 强制gc_【GC系列】JVM的常用GC参数及GC日志解析
  4. python php ajax赔率,Ajax如何调用python脚本
  5. php为什么要使用变量,为什么在PHP或其他语言中使用动态变量(变量变量)
  6. 正则表达式超级生成工具 Regulator
  7. 被“薅羊毛”损失200多万!元气森林:系运营事故
  8. 线程池的参数及执行顺序
  9. Linux2.6.32内核笔记(5)在应用程序中移植使用内核链表【转】
  10. 写爬虫时遇到的问题及解决方法
  11. 深度学习7-常用损失函数和自定义损失函数
  12. php操作mysql数据_详解PHP操作MySQL数据库
  13. 普通的Shader-序列帧相关
  14. Mysql如何跨库查询数据?
  15. R语言笔记:机器学习【K近邻】
  16. Could not find artifact xxx.xxx:ww-www-ww:pom:1.0.1-SNAPSHOT in xxxx(http://xxx.xxx.xxx:xxxx私服地址)
  17. Verilog HDL题库练习--题目来源HDLBits
  18. 2022房地产最新消息
  19. 三星Android手机进入工程模式
  20. 小程序,公众号微信客服消息开发

热门文章

  1. java二级考点速记_同学,你要的考点速记口诀汇总篇来啦,速记!
  2. 【MongoDB】Sharding分片概念及原理
  3. 动态规划:斐波那契数列里面的东西?
  4. 【数据结构】排序算法及优化整理
  5. Spring bean相关
  6. 基于Dapper二次封装了一个易用的ORM工具类:SqlDapperUtil
  7. thinkPHP学习笔记
  8. javac 编译异常总结
  9. iw工具安装和使用 (修正版)
  10. heima Oracle day2