一、首先删除原有控制文件并新建控制文件

1、找到控制文件位置

SQL> show parameter control_files;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

control_files string C:\APP\ADMINISTRATOR\ORADATA\C

METEST\CONTROLFILE\O1_MF_9OZDT

FYF_.CTL, C:\APP\ADMINISTRATOR

\FLASH_RECOVERY_AREA\CMETEST\C

ONTROLFILE\O1_MF_9OZDTG4K_.CTL

2、重建控制文件(通过控制文件备份重建,或者通过现有控制文件重建)

备份控制文件到文本文件(查看控制文件具体内容)

SQL> alter database backup controlfile to trace as '/home/oracle/ctl.txt';

Database altered.

linux下可以使用:

SQL> host strings  /home/oracle/control03.ctl  >  /home/oracle/ctl.txt

SQL> host cat /home/oracle/ctl.txt

从生成的文件中找到控制文件的内容,复制成sql脚本

3、删除控制文件

4、由spfile创建pfile,并添加下面的三个参赛参数

_allow_error_simulation=TRUE

_allow_resetlogs_corruption=TRUE

_allow_terminal_recovery_corruption=TRUE

二、具体恢复流程如下:

C:\Users\Administrator>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期二 9月 30 15:40:24 2014

Copyright (c) 1982, 2010, Oracle. All rights reserved.

已连接到空闲例程。

SQL> startup pfile='C:\app\Administrator\product\11.2.0\dbhome_1\database\pfilec

me.ora' mount;

ORACLE 例程已经启动。

Total System Global Area 1060585472 bytes

Fixed Size 2182504 bytes

Variable Size 771752600 bytes

Database Buffers 281018368 bytes

Redo Buffers 5632000 bytes

ORA-00205: ?????????, ??????, ???????

SQL> select status from v$instance;

STATUS

------------------------

STARTED

SQL> @e:/ctl.sql;

控制文件已创建。

SQL> recover database until cancel using backup controlfile;

ORA-00279: ?? 4658923 (? 09/30/2014 15:31:26 ??) ???? 1 ????

ORA-00289: ??:

E:\FLASH_RECOVERY_AREA\CMETEST\ARCHIVELOG\2014_09_30\O1_MF_1_1_%U_.ARC

ORA-00280: ?? 4658923 (???? 1) ??? #1 ?

指定日志: {=suggested | filename | AUTO | CANCEL}

auto

ORA-00308: ????????

'E:\FLASH_RECOVERY_AREA\CMETEST\ARCHIVELOG\2014_09_30\O1_MF_1_1_%U_.ARC'

ORA-27041: ??????

OSD-04002: ????????????

O/S-Error: (OS 2) ??????????????????????

ORA-00308: ????????

'E:\FLASH_RECOVERY_AREA\CMETEST\ARCHIVELOG\2014_09_30\O1_MF_1_1_%U_.ARC'

ORA-27041: ??????

OSD-04002: ????????????

O/S-Error: (OS 2) ??????????????????????

ORA-01547: ??: RECOVER ??? OPEN RESETLOGS ???????

ORA-01194: ?? 1 ?????????????

ORA-01110: ???? 1:

'C:\APP\ADMINISTRATOR\ORADATA\CMETEST\DATAFILE\O1_MF_SYSTEM_9OZDTXRQ_.DBF'

SQL> select file#,CHECKPOINT_CHANGE#,LAST_CHANGE# from v$datafile order by 1;

FILE# CHECKPOINT_CHANGE# LAST_CHANGE#

---------- ------------------ ------------

1 4658923

2 4658923

3 4658923

4 4658923

5 4658923

6 4658923

已选择6行。

SQL> select file#,CHECKPOINT_CHANGE# from v$datafile_header order by 1;

FILE# CHECKPOINT_CHANGE#

---------- ------------------

1 4658923

2 4658923

3 4658923

4 4658923

5 4658923

6 4658923

已选择6行。

SQL> select CHECKPOINT_CHANGE# from v$database;

CHECKPOINT_CHANGE#

------------------

4658920

SQL> shutdown immediate;

ORA-01109: ??????

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup nomount pfile='C:\app\Administrator\product\11.2.0\dbhome_1\databas

e\pfilecme.ora';

ORACLE 例程已经启动。

Total System Global Area 1060585472 bytes

Fixed Size 2182504 bytes

Variable Size 771752600 bytes

Database Buffers 281018368 bytes

Redo Buffers 5632000 bytes

SQL> alter database mount;

数据库已更改。

SQL> alter session set events '10015 trace name ADJUST_SCN level 10';

会话已更改。

SQL> alter database open;

alter database open

*

第 1 行出现错误:

ORA-01589: ??????????? RESETLOGS ? NORESETLOGS ??

SQL> alter database open resetlogs;

数据库已更改。

SQL> select open_mode from v$database;

OPEN_MODE

--------------------

READ WRITE

SQL> alter system switch logfile;

系统已更改。

SQL>

ORA-16433 The database must be opened in read write mode故障解决的更多相关文章

  1. Oracle案例04——ORA-39700: database must be opened with UPGRADE option

    Oracle11.2.0.3数据库通过rman备份到Oracle11.2.0.4上做还原,报需要升级的错误,具体处理步骤如下: 一.错误信息 SQL> alter database open r ...

  2. ORA-39700: database must be opened with UPGRADE option【转】

    1. 错误 数据库升级后(从11.2.0.1升级到11.2.0.4)启动报错 SQL> startup ORACLE instance started.   Total System Globa ...

  3. Oracle 数据库 Database Express Edition 11g Release 2 (11.2) 错误解决集锦(安装方面)

    前言:第一次接触数据库,想下载个oracle试玩下(虽然听说一般大企业才用),到 官网下载 了个简易版 XE 版本,安装时要注意记住自己输入的数据库密码(口令)  还有安装路径不能含有空格(Do no ...

  4. MySQL:Error : Tablespace for table '`database`.`temp`' exists. Please DISCARD the tablespace before IMPORT.解决办法

    今天在navicat上操作mysql数据库表,突然没有响应了.随后重启,mysql服务也终止了.随后启动服务,检查表,发现一张表卡没了,就重新添加一张表.报了一个错: Error : Tablespa ...

  5. Oracle 数据库 Database Express Edition 11g Release 2 (11.2) 错误解决集锦(使用语法)

    ORA-14552: 在查询或 DML 中无法执行 DDL, 提交或回退 PL/SQL“ORA-14551:无法在查询中执行DML操作 解决:在声明函数时加上: PRAGMA AUTONOMOUS_T ...

  6. [Oracle][RMAN] Use RMAN to Migrate database from CentOS_5-11201-SingleDB to OracleLinux_5-11204-SingleDB

    リンク:How to Move/Restore DB to New Host and File System using RMAN (Doc ID 1338193.1)https://docs.ora ...

  7. ORA 各种oraclesql错误

    ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出 ...

  8. Oracle的tnsnames.ora配置(PLSQL Developer)

    首先打开tnsnames.ora的存放目录,一般为D:\app\Administrator\product\11.2.0\client_1\network\admin,就看安装具体位置了. 步骤阅读 ...

  9. Ways to access Oracle Database in PostgreSQL

    Today, organizations stores information(data) in different database systems. Each database system ha ...

随机推荐

  1. jQuery与vue分别实现超级简单的绿色拖动验证码功能

    jquery的绿色拖动验证功能 在网上看到了一个这样的问题:那种像拖动滑块匹配图形的验证方式是怎么实现的?. 突然想到实现一个简单绿色拖动验证码的功能,在网上搜了下,有一个用jquery实现的该功能代 ...

  2. 朝花夕拾 - 应用了6年久经实际项目考验未变的代码 - singleton模式

    最近整理自正式工作(从有上社保开始算起)8年来的知识.发现技术演变过程如下: 开发工具和.Net Famework: Visual Studio 2002 ->2003 -> 2005 - ...

  3. Spotlight on Mysql在Windows平台下的安装及使用简介

    Spotlight on Mysql在Windows平台下的安装及使用简介   by:授客 QQ:1033553122 1.   测试环境 Win7 64位 mysql-connector-odbc- ...

  4. Android-textview图文混排(网络图片)

    工作太忙,不做过多的解释了,核心是用到了 SpannableStringBuilder  Glide  和 Rxjava 直接上代码了,就两个类. public class ImageSpanAsyn ...

  5. event.target和event.currentTarget区别

    首先本质区别是: event.target返回触发事件的元素 event.currentTarget返回绑定事件的元素

  6. 虚拟机中安装Virtualbox,嵌套的虚拟机不能运行64位系统

    https://www.quora.com/Can-I-install-Virtualbox-in-a-virtual-machine Here is a previous question on Q ...

  7. Spring入门详细教程(二)

    前言 本篇紧接着spring入门详细教程(一),建议阅读本篇前,先阅读第一篇.链接如下: Spring入门详细教程(一) https://www.cnblogs.com/jichi/p/1016553 ...

  8. c/c++ 智能指针 shared_ptr 使用

    智能指针 shared_ptr 使用 上一篇智能指针是啥玩意,介绍了什么是智能指针. 这一篇简单说说如何使用智能指针. 一,智能指针分3类:今天只唠唠shared_ptr shared_ptr uni ...

  9. 一、JSP标签介绍,自定义标签

    一.JSP标签介绍 1. 标签库有什么作用 自定义标签库是一种优秀的表现层技术,之前介绍的MVC模式,我们使用jsp作为表现层,但是jsp语法嵌套在html页面,美工还是很难直接参与开发,并且jsp脚 ...

  10. Tomcat配置自定义JAVA环境

    Tomcat的bin目录下 在setclasspath.sh(Linux系统,Windows系统为setclasspath.bat)文件的开头添加: export JAVA_HOME=/usr/lib ...