转

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

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网页日历显示控件calendar3.1使用详解

    关于日历插件,我做了好多次尝试,一直致力于开发一款简单易用的日历控件.我的想法是争取在引用这个控件后,用一行js代码就能做出一个日历,若在加点参数,就能自定义外观和功能丰富多彩的日历.Calendar ...

  2. java 不使用paint方法进行画图

    private Graphics2D g; g = (Graphics2D) getGraphics();

  3. Android图片采样缩放

    为什么要对Android中的图片进行采样缩放呢? 是为了更加高效的加载Bitmap.假设通过imageView来显示图片,很多时候ImageView并没有图片的原始尺寸那么大,这时候把整张图片加载进来 ...

  4. JVM虚拟机学习一:垃圾回收算法总结

    1.java虚拟机中涉及到的数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型. 基本类型的变量保存原始值,即:他代表的值就是数值本身:而引用类型的变量保存引用值.“引用值”代表了某 ...

  5. 「Android」SurfaceFlinger分析

    本篇针对surfaceFlinger模块进行分析,目录如下: 1.SurfaceFlinger功能 1.1.BufferQueue原理(native/libs/gui模块) 1.2   layer显示 ...

  6. Android--使用JobService实现进程保活

    进程保活一直是广大APP开发者所希望的,因为进程活着我们就可以操作很多事情(推送,数据同步等等),但是google大大是不允许这样做的(优化),所以我们要另辟蹊径. 先来看看android中有几种进程 ...

  7. Ehcache缓存配置以及基本使用

    在java项目广泛的使用.它是一个开源的.设计于提高在数据从RDBMS中取出来的高花费.高延迟采取的一种缓存方案.正因为Ehcache具有健壮性(基于java开发).被认证(具有apache 2.0 ...

  8. 页面间固定参数,通过cookie传值

    最后在做的页面,比如用户数据(用户头像,名称,年龄)这些信息,因为大部分页面都要用,之前是通过url地址传,另一页面接收.考虑到这样做会让url过长,因此,尝试使用cookie,把固定的值保存在coo ...

  9. SQL Server如何用触发器捕获DML操作的会话信息

    需求背景 上周遇到了这样一个需求,维护人员发现一个表的数据经常被修改,由于历史原因:文档缺少:以及维护人员的经常变更,导致他们对系统也业务也不完全熟悉,他们也不完全清楚哪些系统和应用程序会对这个表的数 ...

  10. 【MM系列】SAP的库存管理

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP的库存管理   前言部分 库存 ...