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 ...
随机推荐
- es6 语法 (解构赋值)
1.结构赋值 { let a,b,c; [a,b] = [1,2]; console.log(a,b); //1,2} { let a,b,rest; [a,b,...rest] = [1,2,3,4 ...
- Play 2D games on Nexus 6P running Android N7.1.1 with Daydream View VR headset
http://files.cnblogs.com/files/we-hjb/N6P_Android7_SBS_SF.rar
- .net webapi 后台导出excel 申请付款单实例
[HttpGet, AllowAnonymous] public void ExportSettlementPrint(string code) { FinSettlementModel settle ...
- 【Spring源码解读】bean标签中的属性(一)你可能还不够了解的 scope 属性
scope 属性说明 在spring中,在xml中定义bean时,scope属性是用来声明bean的作用域的.对于这个属性,你也许已经很熟悉了,singleton和prototype信手捏来,甚至还能 ...
- 上了IPD和CMMI,为什么还要搞敏捷?
文/资深顾问 杨学明 现在国内许多产品创新型企业一旦研发团队上了规模,就会进行IPD体系的变革或CMMI的认证,但现在还有一种更加流程的开发模式,就是敏捷,华为公司早在2009年正式发文在全公司现在流 ...
- 用户不在 sudoers 文件中,此事将被报告
在使用Linux系统过程中,通常情况下,我们都会使用普通用户进行日常操作,而root用户只有在权限分配及系统设置时才会使用,而root用户的密码也不可能公开.普通用户执行到系统程序时,需要临时提升权限 ...
- (python)面向对象
一.面向对象概述 要了解面向对象,就需要先了解面向过程的概念,那么什么是面向过程编程呢?最具代表性的就是C语言了,所谓面向过程编程就是在做一件事的时候,需要按步骤进行,第一步干什么,第二步干什么,这种 ...
- SQL Server死锁的解决过程
某现场报一个SQL死锁,于是开启了1222跟踪: dbcc traceon(1222,-1) 一段时间之后拷贝ERROR文件查找相关信息,比较有用的摘录出来如下: 语句一: select study_ ...
- timeout 命令
命令简介 运行指定的命令,如果在指定时间后仍在运行,则杀死该进程.用来控制程序运行的时间. 使用方法 1 2 3 timeout [选项] 数字[后缀] 命令 [参数]... 后缀 s 代表秒(默认值 ...
- Linux进程调度策略的发展和演变--Linux进程的管理与调度(十六)
1 前言 1.1 进程调度 内存中保存了对每个进程的唯一描述, 并通过若干结构与其他进程连接起来. 调度器面对的情形就是这样, 其任务是在程序之间共享CPU时间, 创造并行执行的错觉, 该任务分为两个 ...