ORA-39700 with UPGRADE option错误的处理-阿里云开发者社区

开发者社区> 猎人笔记> 正文

ORA-39700 with UPGRADE option错误的处理

简介: 场景:通过rman做一个数据库的异机恢复,进行到最关键的一步,打开数据库的时候报了错误,详细如下 SQL> startup mount; ORACLE 例程已经启动。
+关注继续查看

场景:通过rman做一个数据库的异机恢复,进行到最关键的一步,打开数据库的时候报了错误,详细如下

SQL> startup mount;

ORACLE 例程已经启动。

Total System Global Area 6797832192 bytes

Fixed Size 2241264 bytes

Variable Size 3523218704 bytes

Database Buffers 3254779904 bytes

Redo Buffers 17592320 bytes

数据库装载完毕。

SQL> alter database open resetlogs;

alter database open resetlogs

*

第 1 行出现错误:

ORA-01092: ORACLE instance terminated. Disconnection forced

ORA-00704: bootstrap process failure

ORA-39700: database must be opened with UPGRADE option

进程 ID: 3650

会话 ID: 292 序列号: 5

问题原因:进行数据库报错的时候才突然想起犯了一个错误原数据库的版本是11.2.0.1,但是目标数据库的版本是11.2.0.3,所以在打开的时候就提示了0RA-39700。

解决方法:通过upgrade的方式打开数据库,如下

[oracle@ekptest001 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on 星期三 12月 24 15:31:16 2014

Copyright (c) 1982, 2011, Oracle. All rights reserved.

已连接到空闲例程。

SQL> startup mount;

ORACLE 例程已经启动。

Total System Global Area 6797832192 bytes

Fixed Size 2241264 bytes

Variable Size 3523218704 bytes

Database Buffers 3254779904 bytes

Redo Buffers 17592320 bytes

数据库装载完毕。

SQL> alter database open upgrade;

数据库已更改。

SQL> select status from v$Instance;

STATUS

------------------------------------

OPEN MIGRATE

SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql;

其中运行catupgrd.sql脚本花费了30分钟,完成后会自动关闭数据库,就可以正常打开了。

原理:当数据库的升级的时候,数据库内部的基表进行了变更,数据字典也需要进行相应的更新,运行catupgrd.sql会进行相应对象更新;

[oracle@ekptest001 admin]$ cat catupgrd.sql

Rem

Rem $Header: rdbms/admin/catupgrd.sql /st_rdbms_11.2.0/3 2011/05/18 15:07:25 cmlim Exp $

Rem

Rem catupgrd.sql

Rem

Rem Copyright (c) 1999, 2011, Oracle and/or its affiliates.

Rem All rights reserved.

Rem

Rem NAME

Rem catupgrd.sql - CATalog UPGraDe to the new release

Rem

Rem DESCRIPTION

Rem This script is to be used for upgrading a 9.2, 10.1 or 10.2

Rem database to the new release. This script provides a direct

Rem upgrade path from these releases to the new Oracle release.

Rem

Rem The upgrade is partitioned into the following 5 stages:

Rem STAGE 1: call the "i" script for the oldest supported release:

Rem This loads all tables that are necessary

Rem to perform basic DDL commands for the new release

Rem STAGE 2: call utlip.sql to invalidate PL/SQL objects

Rem STAGE 3: Determine the original release and call the

Rem c0x0x0x0.sql for the release. This performs all

Rem necessary dictionary upgrade actions to bring the

Rem database from the original release to new release.

Rem

Rem NOTES

Rem

Rem * This script needs to be run in the new release environment

Rem (after installing the release to which you want to upgrade).

Rem * You must be connected AS SYSDBA to run this script.

Rem

Rem MODIFIED (MM/DD/YY)

Rem skabraha 05/16/11 - Backport skabraha_bug-11823179 from main

Rem cmlim 05/12/11 - Backport cmlim_bug-12337546 from main

Rem skabraha 07/29/10 - Backport skabraha_bug-9928461 from main

Rem cdilling 03/29/07 - set error logging off - bug 5959958

Rem rburns 12/11/06 - eliminate first phase

Rem rburns 07/19/06 - fix log miner location

Rem rburns 05/22/06 - restructure for parallel upgrade

Rem rburns 02/15/06 - re-run message with expected errors

Rem gviswana 03/09/06 - Add utlrdt

Rem rburns 02/10/06 - fix re-run logic for 11.1

Rem rburns 01/10/06 - release 11.1.0

Rem rburns 11/09/05 - version fixes

Rem rburns 10/21/05 - remove 817 and 901 upgrades

Rem cdilling 09/28/05 - temporary version until db version updated

Rem ssubrama 08/17/05 - bug 4523571 add note before utlip

Rem sagrawal 06/28/05 - invalidate PL/SQL objects for upgrade to 11

Rem rburns 03/14/05 - dbms_registry_sys timestamp

Rem rburns 02/27/05 - record action for history

Rem rburns 10/18/04 - remove catpatch.sql

Rem rburns 09/02/04 - remove dbms_output compile

Rem rburns 06/17/04 - use registry log and utlusts

Rem mvemulap 05/26/04 - grid mcode compatibility

Rem jstamos 05/20/04 - utlip workaround

Rem rburns 05/17/04 - rburns_single_updown_scripts

Rem rburns 01/27/04 - Created

Rem

DOC

#######################################################################

#######################################################################

The first time this script is run, there should be no error messages

generated; all normal upgrade error messages are suppressed.

If this script is being re-run after correcting some problem, then

expect the following error which is not automatically suppressed:

ORA-00001: unique constraint () violated

possibly in conjunction with

ORA-06512: at "", line NN

These errors will automatically be suppressed by the Database Upgrade

Assistant (DBUA) when it re-runs an upgrade.

#######################################################################

#######################################################################

#

Rem Initial checks and RDBMS upgrade scripts

@@catupstr.sql

Rem catalog and catproc run with some multiprocess phases

@@catalog.sql --CATFILE -X

@@catproc.sql --CATFILE -X

--CATCTL -S

Rem Final RDBMS upgrade scripts

@@catupprc.sql

Rem Upgrade components with some multiprocess phases

@@cmpupgrd.sql --CATFILE -X

--CATCTL -S

Rem Final upgrade scripts

@@catupend.sql

Rem Set errorlogging off

SET ERRORLOGGING OFF;

REM END OF CATUPGRD.SQL

REM bug 12337546 - Exit current sqlplus session at end of catupgrd.sql.

REM This forces user to start a new sqlplus session in order

REM to connect to the upgraded db.

exit

Rem *********************************************************************

Rem END catupgrd.sql

Rem *********************************************************************

总结:经过以上操作,便可以打开数据库了。可能有朋友已经发现其实这个过程也同样适用于数据库升级的操作。

******************************************************************************************************

本文作者:JOHN QQ:1916066696 (请备注数据库)

ORACLE技术博客:
ORACLE 猎人笔记 http://blog.itpub.net/12679300/

********************************************************************************************************

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Oracle编程,遇到并发的情况处理
在实际业务处理,特别是在统计报表数据时,经常会遇到并发的情况。 在实际工作中,我遇到过类似的情况,大概情况是这样的: 在统计报表的时候需要,用户前台点击生成,当2个用户登陆,同时点击报表生成时,会出现报表数据重复的现在。这当然是,一个用户点击生成时,后台数据还没有完全跑完,然后有一个用户点击,又重新跑刚才的同一个过程,并且入参都一样,这就导致重复数据的出现。 现在想到一个处理方法如下
948 0
Oracle迁移PPAS:中文表名的处理
Oracle迁移到RDS for PPAS(PostgreSQL)时我们会用到很多不同的工具,在中国有些用户会用 中文 作为表名,甚至字段名。迁移可能会出现ERROR: zero-length delimited identifier at or near """"的错误。针对于此,做了以下DEM.
4356 0
asp.net发布到IIS中出现错误:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
开发web项目时需要安装IIS,在安装好IIS的Windows7本上发布asp.net网站时,web程序已经映射到了本地IIS上,但运行如下错误提示“处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“Man...
822 0
[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)
原文:[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆) [推荐]ORACLE PL/SQL编程之五: 异常错误处理(知已知彼、百战不殆)       继上三篇:ORACLE PL/SQL编程之八:把触发器说透               ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)               [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)  得到了大家的强力支持与建议,万分感谢。
758 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
11889 0
ORA-14402的处理
SQL>  SQL> create table test_part(id number(10),name varchar2(100),cdate date)           2  partition by range(cdate...
638 0
【我的Android进阶之旅】解决SVN Cleanup错误: Failed to run the WC DB work queue associated with
错误描述 在Android Studio中点击VCS向下箭头使用SVN Update功能更新代码的时候,报错如下所示: 错误描述信息: Error:svn: E155037: Previous operation has not finished...
3170 0
Oracle-01033错误处理
今天电脑非常卡,强制重启后,发现oracle 11g启动不了了,提示错误: ERROR - ORA-01033 oracle initialization or shutdown in progress 解决步骤 首先sysdba账号登录下 很长时间没登录了,发现sys的密码忘记了,于是第一步,...
845 0
+关注
猎人笔记
开源技术专家
237
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载