ORA-16433 The database must be opened in read write mode故障解决
转
一、首先删除原有控制文件并新建控制文件
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故障解决的更多相关文章
- 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 ...
- 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 ...
- Oracle 数据库 Database Express Edition 11g Release 2 (11.2) 错误解决集锦(安装方面)
前言:第一次接触数据库,想下载个oracle试玩下(虽然听说一般大企业才用),到 官网下载 了个简易版 XE 版本,安装时要注意记住自己输入的数据库密码(口令) 还有安装路径不能含有空格(Do no ...
- MySQL:Error : Tablespace for table '`database`.`temp`' exists. Please DISCARD the tablespace before IMPORT.解决办法
今天在navicat上操作mysql数据库表,突然没有响应了.随后重启,mysql服务也终止了.随后启动服务,检查表,发现一张表卡没了,就重新添加一张表.报了一个错: Error : Tablespa ...
- Oracle 数据库 Database Express Edition 11g Release 2 (11.2) 错误解决集锦(使用语法)
ORA-14552: 在查询或 DML 中无法执行 DDL, 提交或回退 PL/SQL“ORA-14551:无法在查询中执行DML操作 解决:在声明函数时加上: PRAGMA AUTONOMOUS_T ...
- [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 ...
- ORA 各种oraclesql错误
ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出 ...
- Oracle的tnsnames.ora配置(PLSQL Developer)
首先打开tnsnames.ora的存放目录,一般为D:\app\Administrator\product\11.2.0\client_1\network\admin,就看安装具体位置了. 步骤阅读 ...
- Ways to access Oracle Database in PostgreSQL
Today, organizations stores information(data) in different database systems. Each database system ha ...
随机推荐
- 借鉴Glide思想二次封装Fresco
本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 最近封装了个 Fresco 的组件库:DFresco,就顺便来讲讲. 背景 Fresco 图片库很强大,我们项目中就是使用的 Fre ...
- angluarjs中页面初始化的时候会出现语法{{}}在页面中问题
angluarjs中页面初始化的时候会出现语法{{}}在页面中问题,也即是页面闪烁问题.出现这个的原因是:由于页面或者组件需要渲染加载数据,浏览器和angluarjs渲染页面需要消耗一定的时间,虽然这 ...
- Navicat Premium for Mac 破解版地址
找了好几个都不能使用 试了一下这个 可以使用 放地址:http://www.orsoon.com/Mac/85386.html
- ArrayMap 和HashMap的区别
在以往android开发中,我们常常用key-value存储数据时,随手就会打出HashMap的代码,当数据量较小时,这种方法还不错还可以,当数据量比较多的时候,如果是PC机上,也还阔以.但是如果使用 ...
- Daydream Controller手柄数据的解析
参考: How I hacked Google Daydream controller How I hacked Google Daydream controller (Part IV) 反编译代码: ...
- virtualbbox centos7 NAT模式外网 Host-only Adapter模式联网 双网卡
1.下载oracle VM virtualbox centos7 1.1. 下载地址:https://www.virtualbox.org/wiki/Downloads https://www.ce ...
- 没有服务商如何购买ERP的序列号?
一.试用期(未过期) 站点版购买: 门店版购买: 二.试用期(使用时间<=15天) 三.试用期(已过期) 登录时会弹出以下弹窗 剩下的购买步骤与未过期时购买步骤一致 四.续费 剩下步骤与未过期时 ...
- IE浏览器兼容性调整总结技巧
前言 最近项目做完,用户需要兼容IE,于是开展了兼容性的调整工作.边调整边想感叹IE真是个沙雕..特将我遇到的问题记录下来,以及记录我的解决办法,以下问题及解决办法,都是真实可用的,本人亲测~~ 一. ...
- C#核心基础--类的声明
C#核心基础--类的声明 类是使用关键字 class 声明的,如下面的示例所示: 访问修饰符 class 类名 { //类成员: // Methods, properties, fields, eve ...
- [Hive_add_7] Hive 实现最高气温统计
0. 说明 Hive 通过 substr() 函数实现最高气温统计 1. Hive 实现最高气温统计 1.1 思路 将一行文本加载为 String 通过 substr() 函数截取年份和温度 1.2 ...