ORA-39700: database must be opened with UPGRADE option

来源:互联网 发布:淘宝下架宝贝有影响吗 编辑:程序博客网 时间:2024/05/29 03:06

开发那边说数据库启动报错:

ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00704: bootstrap process failure
ORA-39700: database must be opened with UPGRADE option
Process ID: 3332
Session ID: 233 Serial number: 1

看到这个报错,第一反应是数据库被升级了,但又自己否定了这个想法,开发人员也很配合的说没有。

开发人员说之前用起来都是好的,系统重启后数据库就变成这样了。

一开始我以为是spfile有问题,折腾了半天,重写了参数文件,启动的时候依然报错。

使用oerr ora 39700看了下:

[oracle@hpc01 ~]$ oerr ora 39700
39700, 00000, "database must be opened with UPGRADE option"
// *Cause:  A normal database open was attempted, but the database has not 
//          been upgraded to the current server version.
// *Action: Use the UPGRADE option when opening the database to run 
//          catupgrd.sql (for database upgrade), or to run catalog.sql 
//          and catproc.sql (after initial database creation).

看到oracle的action中写道,在upgrade模式下执行脚本catupgrd.sql,或者在数据库初始化后执行catalog.sql和catproc.sql

看到初始化这个地方,立马询问开发人员,数据库是手工建的还是dbca建的,开发人员爽快的说是dbca,我接着问道dbca界面正常结束吗,

开发人员磨蹭了两三秒。。说dbca界面在最后好像卡死了,但他看到数据库正常使用,就直接关掉了。

瞬间豁然开朗,定是数据库建完后,跑数据字典这一步时,dbca界面卡住,而开发人员又将其关掉,导致数据字典未正常执行。。。

但数据库此时用起来也无异常,但当服务器重启,数据库重新启动时候,数据库开始数据字典相关的检查,发现异常,于是有了如上报错。

按照oracle的建议步骤执行:

先startup upgrade

然后依次执行catalog.sql和catproc.sql脚本,完成后停掉数据库,再startup,恢复正常!

阅读全文
0 0
原创粉丝点击