ORA-01092、ORA-00704、ORA-39700 错误的处理方法

场景:通过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会进行相应对象更新;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值