Oracle 升级数据库后报错ORA-16433,包括RMAN DUPLICATE / RESTORE

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

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

服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]

 

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;
临时文件添加结束


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *