如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638 QQ号:47079569 邮箱:service@parnassusdata.com

 

Oracle数据库- 企业版- 版本11.1.0.7以及更高版本

本文档中的信息适用于任何平台。

症状

可能出现的症状:

o数据库升级到11.1.0.7.2

   该数据库显示在读写模式。 (打开)

   由于错误,RMAN重新同步目录失败:

o这个问题可能是由于重建控制文件时使用重置日志,以及随后打开重置日志时的失败引起的, 也就是说,如果重建控制文件时使用重置日志,并且在打开重置日志时出现问题,在此状态下数据库会报错: ORA-16433:数据库尚未在读写模式被打开  .

$ rman catalog rman/rman@xxx target sys/xxx@xxx Recovery Manager: Release 11.1.0.7.0 - Production on Mon Mar 15 10:58:49 2010 Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database: OPMMPRF2 (DBID=1078444404) connected to recovery catalog database RMAN> resync catalog; RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03009: failure of resync command on default channel at 03/15/2010 10:58:56 ORA-16433: The database has not been opened in read-write mode

-试图打开只读模式的数据库,然后将其更改为读写模式。同样的错误

-由于同一错误失败,在这样的sqlplus中尝试sql> 'alter database backup controlfile to trace'

SQL> alter database backup controlfile to trace; alter database backup controlfile to trace * ERROR at line 1: ORA-16433: The database has not been opened in read-write mode

原因

错误8422605 备份控制文件追踪生成ORA-16433

升级到11.1.0.7版以后

升级 V1110

现状:31,无法重现。

解决方案

1) 重建控制文件,不使用重置日志选项. 2使用此命令恢复数据库: SQL> recover database; 3)打开数据库,如下所示: SQL> alter database open; # 这可以解决读/写问题,并允许打开数据库

注意:

由于更改数据库备份控制文件跟踪失败,如果没有控制文件,那从一开始就需要创建一个。

以下查询可用于收集数据库安装时重建控制文件所需的信息:

SQL> select name from v$datafile order by file#; SQL> select group#, member from v$logfile; SQL> select name, bytes from v$tempfile order by file#;

修正控制文件脚本的例子Example of modified controlfile script: -- -- Set #1. 不用重置日志的情况 -- -- 以下命令可以创建新的控制文件并使用它 -- 打开数据库. -- 恢复管理器所用的数据将会丢失. --离线介质恢复可能需要其他日志

--只有当所有在线日志的当前版本可用时才能使用这个。

-- 安装创建的控制文件后,下面的SQL -- 语句会将数据库放到恰当的

-- 保护模式: -- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "V11P" NORESETLOGS FORCE LOGGING ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE *** 2010-03-15 13:12:56.641 GROUP 1 'C:\APP\SSALEM\ORADATA\V11P\REDO01.LOG' SIZE 50M, GROUP 2 'C:\APP\SSALEM\ORADATA\V11P\REDO02.LOG' SIZE 50M, GROUP 3 'C:\APP\SSALEM\ORADATA\V11P\REDO03.LOG' SIZE 50M -- STANDBY LOGFILE DATAFILE 'C:\APP\SSALEM\ORADATA\V11P\SYSTEM01.DBF', 'C:\APP\SSALEM\ORADATA\V11P\SYSAUX01.DBF', 'C:\APP\SSALEM\ORADATA\V11P\UNDOTBS01.DBF', 'C:\APP\SSALEM\ORADATA\V11P\USERS01.DBF' CHARACTER SET WE8MSWIN1252 ;

--发布命令重建化身表 --下面的登录名必须改成磁盘上现有的文件名

--每个分支中的任意一个日志文件都可以用来

--重建化身记录

-- ALTER DATABASE REGISTER LOGFILE 'C:\ORA11G\ARCHIVE\V11P\1_1_708426060.ARC'; -- 如果数据文件要恢复备份,恢复是必须的Recovery is required if any of the datafiles are restored backups, -- 也可能,如果上次关机不正常或有延迟

恢复数据库 --所有入职需要存档,且需要一个日志切换. 更改所有系统存档日志ALTER SYSTEM ARCHIVE LOG ALL; -- 数据库现在可以正常打开. 更改数据库打开; --发布命令将临时文件添加到临时表空间。

--网上有临时文件有完整的空间信息。. --其他临时文件可能需要调整. ALTER TABLESPACE TEMP ADD TEMPFILE 'C:\APP\SSALEM\ORADATA\V11P\TEMP01.DBF' REUSE; -- 临时文件添加结束