重庆思庄Oracle、Redhat认证学习论坛

标题: ORA-01092、ORA-00704、ORA-39700 错误的处理方法 [打印本页]

作者: jiawang    时间: 2023-6-30 14:45
标题: ORA-01092、ORA-00704、ORA-39700 错误的处理方法
本帖最后由 jiawang 于 2023-6-30 14:45 编辑

场景:通过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.4,所以在打开的时候就提示了0RA-39700。

解决方法:通过upgrade的方式打开数据库,如下
[oracle@ekptest001 ~]$ sqlplus / as sysdba

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

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、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2