Oracle 10g升级后启动失败(Oracle instance terminated. Disconnection forced)
SQL> startup
Oracle instance started.
Total System Global Area 285212672 bytes
Fixed Size 1267044 bytes
Variable Size 130026140 bytes
Database Buffers 146800640 bytes
Redo Buffers 7118848 bytes
Database mounted.
ORA-01092: ORACLEinstance terminated. Disconnection forced
查看alert_rhip.log文件(/opt/oracle/admin/rhip/bdump/alert_rhip.log)
Errors in file /opt/oracle/admin/rhip/udump/rhip_ora_17875.trc:
ORA-00704: bootstrap process failure
ORA-39700: database must be opened withUPGRADE option
Tue May 19 17:35:50 CST 2015
Error 704 happened during db open, shuttingdown database
USER: terminating instance due to error 704
Instance terminated by USER, pid = 17875
ORA-1092 signalled during: ALTER DATABASEOPEN...
查看rhip_ora_17875.trc文件
/opt/oracle/admin/rhip/udump/rhip_ora_17875.trc
Oracle Database 10g Enterprise EditionRelease 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Miningand Real Application Testing options
ORACLE_HOME = /opt/oracle/product/10.2.0/db_1
System name: Linux
Node name: test
Release: 2.6.18-164.el5
Version: #1 SMP Tue Aug 18 15:51:48 EDT 2009
Machine: x86_64
Instance name: rhip
Redo thread mounted by this instance: 1
Oracle process number: 15
Unix process pid: 17875, image: oracle@test(TNS V1-V3)
*** ACTION NAME:() 2015-05-19 17:35:50.802
*** MODULE NAME:(sqlplus@test (TNS V1-V3))2015-05-19 17:35:50.802
*** SERVICE NAME:(SYS$USERS) 2015-05-1917:35:50.802
*** SESSION ID:(159.3) 2015-05-1917:35:50.802
ORA-00704: bootstrap process failure
ORA-39700: database must be opened withUPGRADE option
原因:因为今天进行了数据库升级,数据字典的一些基表内容被修改了。
解决方法:以upgrade模式启动数据库,升级数据字典
SQL>startup upgrade
SQL> select status from v$instance;
STATUS
------------------------
OPEN MIGRATE
确认此时instance状态为OPEN MIGRATE()
升级数据库的大版本或大的patch的时候总是需要升级现有数据库的数据字典,升级数据字段的原因是因为随着Oracle版本的升级,某些对象的属性需要改变,以便保证系统的的数据词典的完整性和有效性这些变更都是在升级脚本$ORACLE_HOME/rdbms/admin/catupgrd.sql中。
1、以升级模式启动数据库后,开始升级数据字典
1 SQL>@/opt/product/10.2.0/db_1/rdbms/catupgrd.sql
升级数据字典时,可以看到相应的操作
PL/SQL procedure successfully completed.
Type created.
Grant succeeded.
Package created.
No errors.
Table created.
PL/SQL procedure successfully completed.
View created.
Synonym created.
进而进一步验证了catupgrd.sql作用,升级完数据字典后,,sqlplus下会出现以下信息
TIMESTAMP
--------------------------------------------------------------------------------
COMP_TIMESTAMP RUL 2012-11-23 06:56:47
DBUA_TIMESTAMP RUL VALID 2012-11-23 06:56:47
COMP_TIMESTAMP UPGRD_END 2012-11-2306:58:01
.
Oracle Database 10.2 Upgrade StatusUtility 11-23-2012 06:58:01
.
Component Status Version HH:MM:SS
Oracle Database Server VALID 10.2.0.5.0 00:07:52
JServer JAVA Virtual Machine VALID 10.2.0.5.0 00:00:56
Oracle XDK VALID 10.2.0.5.0 00:00:23
Oracle Database Java Packages VALID 10.2.0.5.0 00:00:12
Oracle Text VALID 10.2.0.5.0 00:00:18
Oracle XML Database VALID 10.2.0.5.0 00:02:02
Oracle Workspace Manager VALID 10.2.0.5.0 00:00:36
Oracle Data Mining VALID 10.2.0.5.0 00:00:15
OLAP Analytic Workspace VALID 10.2.0.5.0 00:00:16
OLAP Catalog VALID 10.2.0.5.0 00:00:42
Oracle OLAP API VALID 10.2.0.5.0 00:00:31
Oracle interMedia VALID 10.2.0.5.0 00:02:21
Spatial VALID 10.2.0.5.0 00:01:32
Oracle Expression Filter VALID 10.2.0.5.0 00:00:06
Oracle Enterprise Manager VALID 10.2.0.5.0 00:00:30
Oracle Rule Manager VALID 10.2.0.5.0 00:00:06
.
Total Upgrade Time: 00:20:01
DOC>#######################################################################
DOC>#######################################################################
DOC>
DOC> The above PL/SQL lists theSERVER components in the upgraded
DOC> database, along with theircurrent version and status.
DOC>
DOC> Please review the statusand version columns and look for
DOC> any errors in the spool logfile. If there are errors in the spool
DOC> file, or any components arenot VALID or not the current version,
DOC> consult the Oracle DatabaseUpgrade Guide for troubleshooting
DOC> recommendations.
DOC>
DOC> Next shutdown immediate,restart for normal operation, and then
DOC> run utlrp.sql to recompileany invalid application objects.
DOC>
DOC>#######################################################################
DOC>#######################################################################
2、 再次重启数据库
SQL> shutdown immediate
SQL> startup
ORACLE instance started.
3、编译无效对象脚本utlrp.sql