当前位置:  数据库>oracle

Oracle 10g升级后启动失败(Oracle instance terminated. Disconnection forced)

    来源: 互联网  发布时间:2017-06-17

    本文导语: 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-0...

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

utlrp.sql脚本可以在数据库运行的状态下执行以编译、数据库中的invalid对象,oracle建议在对数据库进行迁移、升级、降级后都运行一遍utlrp.sql以编译无效对象。
以sysdba登陆来执行脚本
[oracle@Oel_10 ~]$ sqlplus / as sysdba
SQL> @/opt/product/10.2.0/db_1/rdbms/admin/utlrp.sql
注:要写全脚本路径
TIMESTAMP
--------------------------------------------------------------------------------
COMP_TIMESTAMP UTLRP_BGN  2012-11-2307:04:44
 
DOC>  The following PL/SQL blockinvokes UTL_RECOMP to recompile invalid
DOC>  objects in the database.Recompilation time is proportional to the
DOC>  number of invalid objectsin the database, so this command may take
DOC>  a long time to execute on adatabase with a large number of invalid
DOC>  objects.
DOC>
DOC>  Use the following queriesto track recompilation progress:
DOC>
DOC>  1. Query returning thenumber of invalid objects remaining. This
DOC>      number shoulddecrease with time.
DOC>        SELECTCOUNT(*) FROM obj$ WHERE status IN (4, 5, 6);
DOC>
DOC>  2. Query returning thenumber of objects compiled so far. This number
DOC>      shouldincrease with time.
DOC>        SELECTCOUNT(*) FROM UTL_RECOMP_COMPILED;
DOC>
DOC>  This script automaticallychooses serial or parallel recompilation
DOC>  based on the number of CPUsavailable (parameter cpu_count) multiplied
DOC>  by the number of threadsper CPU (parameter parallel_threads_per_cpu).
DOC>  On RAC, this number isadded across all RAC nodes.
DOC>
DOC>  UTL_RECOMP usesDBMS_SCHEDULER to create jobs for parallel
DOC>  recompilation. Jobs arecreated without instance affinity so that they
DOC>  can migrate across RACnodes. Use the following queries to verify
DOC>  whether UTL_RECOMP jobs arebeing created and run correctly:
DOC>
DOC>  1. Query showing jobscreated by UTL_RECOMP
DOC>        SELECTjob_name FROM dba_scheduler_jobs
DOC>          WHERE job_name like 'UTL_RECOMP_SLAVE_%';
DOC>
DOC>  2. Query showing UTL_RECOMPjobs that are running
DOC>        SELECTjob_name FROM dba_scheduler_running_jobs
DOC>          WHERE job_name like 'UTL_RECOMP_SLAVE_%';
DOC>#
 
PL/SQL procedure successfully completed.
 
 
TIMESTAMP
--------------------------------------------------------------------------------
COMP_TIMESTAMP UTLRP_END  2012-11-2307:05:46
 
 
PL/SQL procedure successfully completed.
 
DOC> The following query reports thenumber of objects that have compiled
DOC> with errors (objects that compilewith errors have status set to 3 in
DOC> obj$). If the number is higherthan expected, please examine the error
DOC> messages reported with each object(using SHOW ERRORS) to see if they
DOC> point to system misconfigurationor resource constraints that must be
DOC> fixed before attempting torecompile these objects.
DOC>#
 
OBJECTS WITH ERRORS
-------------------
                0
 
DOC> The following query reports thenumber of errors caught during
DOC> recompilation. If this number isnon-zero, please query the error
DOC> messages in the table UTL_RECOMP_ERRORSto see if any of these errors
DOC> are due to misconfiguration orresource constraints that must be
DOC> fixed before objects can compilesuccessfully.
DOC>#
 
ERRORS DURING RECOMPILATION
---------------------------
                        0
 
PL/SQL procedure successfully completed
SQL> shutdown  immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
 
Total System Global Area 7516192768 bytes
Fixed Size                2107936 bytes
Variable Size          1258292704 bytes
Database Buffers        6241124352 bytes
Redo Buffers              14667776 bytes
Database mounted.
Database opened.

 

SQL> select * from v$version;    //查看数据库版本
BANNER
--------------------------------------------------------------------------------
Oracle Database 10g Enterprise EditionRelease 10.2.0.5.0 - 64bi
PL/SQL Release 10.2.0.5.0 - Production
CORE    10.2.0.5.0    Production
TNS for Linux: Version 10.2.0.5.0 -Production
NLSRTL Version 10.2.0.5.0 - Production

到此为止,升级工作初步完成


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3