oracle10g升级后启动失败(ORACLE instance terminated. Disconnection forced)

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介:
1
2
3
4
5
6
7
8
9
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模式启动数据库,升级数据字典

1
2
3
4
5
6
7
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

升级数据字典时,可以看到相应的操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
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、 再次重启数据库

1
2
3
SQL>  shutdown  immediate              
SQL> startup
ORACLE instance started.

3、编译无效对象脚本utlrp.sql 

        utlrp.sql脚本可以在数据库运行的状态下执行以编译、数据库中的invalid对象,oracle建议在对数据库进行迁移、升级、降级后都运行一遍utlrp.sql以编译无效对象。

sysdba登陆来执行脚本

[oracle@Oel_10 ~]$ sqlplus / as sysdba

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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.


1
2
3
4
5
6
7
8
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

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





      本文转自ling118 51CTO博客,原文链接:http://blog.51cto.com/meiling/1653218 ,如需转载请自行联系原作者



相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
SQL Oracle 安全
Virtualbox安装Oracle 19c 升级到19.8(Oracle Restart和数据库)完整步骤
这个文档是来自鼎甲科技的姚远工作中整理的,在Virtualbox上安装Oracle 19.3 再升级到19.8(Oracle Restart和数据库)完整步骤,包括:配置系统环境,安装grid,oracle,建库,补丁下载升级等全过程。
798 0
|
SQL Oracle 关系型数据库
Oracle 19c 补丁升级引发的单表恢复失败谜案
问题表现 某客户在恢复 Oracle 数据库的单表时,提示类似下面的信息
158 0
|
SQL Oracle 关系型数据库
|
Oracle 容灾 安全
实战篇:生产库升级,容灾库 Oracle DataGuard 如何升级?
实战篇:生产库升级,容灾库 Oracle DataGuard 如何升级?
实战篇:生产库升级,容灾库 Oracle DataGuard 如何升级?
|
监控 Oracle 关系型数据库
实战篇:AutoUpgrade 便捷高效的升级 Oracle 数据库
实战篇:AutoUpgrade 便捷高效的升级 Oracle 数据库
实战篇:AutoUpgrade 便捷高效的升级 Oracle 数据库
【阿里云新品发布·周刊】第14期:POLARDB 2.0 重磅升级,分别支持Oracle与PostgreSQL
点击订阅新品发布会! 新产品、新版本、新技术、新功能、价格调整,评论在下方,下期更新!关注更多内容,了解更多 最新发布 POLARDB 2.0 重磅升级 2019年6月19日15时,阿里云 POLARDB 2.0重磅发布,高度兼容 Oracle,助力企业快速进入云智能时代;完全兼容 PostgreSQL,适合中大型企业核心业务场景;最大100T,计算和存储分离架构提供澎湃性能。
4744 0
|
SQL Oracle Java
如何将PG,PPAS,oracle,mysql,ms sql,sybase 迁移到 PG, PPAS (支持跨版本升级)
标签 PostgreSQL , PPAS , 迁移 , 跨版本升级 , oracle , mysql , SQL Server , Sybase , 同步 背景 使用EDB的MTK工具,可以完成异构迁移,同构迁移,异平台迁移,版本升级等动作例如: 1、PG, PPAS, oracle, mysql, ms sql, sybase 迁移到 PG, PPAS。
2746 0
|
Oracle 关系型数据库 SQL
oracle 升级12c参数样例
alter system set audit_trail=DB scope=spfile; alter system set shared_pool_size=2000M scope=spfile;alter system set shared_pool_reserved_size=160M sc...
1055 0
|
SQL Oracle 关系型数据库
Oracle APEX 系列文章8:如何从 APEX 5.1.4 升级到最新的 APEX 18.1
Oracle APEX 18.1 发布已经有几天了,相信很多搞APEX的同学都尝过鲜了,接下来需要面临的问题就是如何从早期的 APEX 版本升级到最新的 APEX 18.1。
3111 0

推荐镜像

更多