ORA-39700: database must be opened with UPGRADE option

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

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,恢复正常!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值