ORA-39700 Oracle 10g升级后数据库实例无法启动
今天把Oracle数据库 10.2.0.1升级到10.2.0.5
然后启动数据库的时候出错:
ORA-01092: ORACLE instance terminated. Disconnection forced 实例终止并强制断开。
遂查看数据库警报日志, 默认地址 $ORACLE_BASE/admin/$ORACLE_SID/bdump/ 目录下的aler_SID.log
[oracle@RedHat4 bdump]$ cd $ORACLE_BASE/admin/$ORACLE_SID/bdump/
[oracle@redhat4 bdump]$ pwd
/u01/app/oracle/admin/crab/bdump
[oracle@redhat4 bdump]$ vim alert_crab.log
日志最近错误信息:
Mon Jun 09 13:54:51 CST 2014
ARC0: Becoming the heartbeat ARCH
Mon Jun 09 13:54:51 CST 2014
Thread 1 opened at log sequence 14
Current log# 1 seq# 14 mem# 0: /u01/app/oracle/oradata/crab/redo01.log
Successful open of redo thread 1
Mon Jun 09 13:54:51 CST 2014
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Mon Jun 09 13:54:51 CST 2014
SMON: enabling cache recovery
Mon Jun 09 13:54:57 CST 2014
Errors in file /u01/app/oracle/admin/crab/udump/crab_ora_2768.trc:
ORA-00704: bootstrap process failure
ORA-39700: database must be opened with UPGRADE option
Mon Jun 09 13:54:57 CST 2014
Error 704 happened during db open, shutting down database
USER: terminating instance due to error 704
Instance terminated by USER, pid = 2768
ORA-1092 signalled during: ALTER DATABASE OPEN...
找到问题关键
oracle 10g官方文档显示 :
ORA-39700: 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)
我只安装了升级包,没有执行升级数据库的过程
进入数据库,启动到upgrade
sqlplus / as sysdba
startup upgrade
@/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catalog.sql
@/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catproc.sql
这俩个脚本比较慢 我执行了半小时
或者亦可以 @/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/ catupgrd.sql
然后关闭数据库,再启动
SQL> select open_mode from v$database;
OPEN_MODE
----------
READ WRITE
1 row selected.
SQL> show user
USER is "SYS"
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.