蓝红石

生活与工作点滴

   :: 首页  ::  :: 联系 :: 订阅 订阅  :: 管理

环境:

solaris10  64bit   、oracle10gR2 64bit

操作:

主要是做数据库软件升级,由10.2.0.1升级到10.2.0.5

当完成升级软件安装后,通过sqlplus 用DBA权限登录,执行startup时报错

-bash-3.00$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Sat Jun 9 15:47:30 2012

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> startup UPGRADE
ORACLE instance started.

Total System Global Area  167772160 bytes
Fixed Size                  2094800 bytes
Variable Size             100665648 bytes
Database Buffers           58720256 bytes
Redo Buffers                6291456 bytes
ora-01092 oracle instance terminated

查询错误:

查看admin/ORCL/bdump/alert_ORCL.log内容:

Sat Jun  9 14:21:41 2012

Starting background process EMN0

EMN0 started with pid=28, OS id=7636

Sat Jun  9 14:21:41 2012

Shutting down instance: further logons disabled

Sat Jun  9 14:21:41 2012

Stopping background process QMNC

Sat Jun  9 14:21:41 2012

Stopping background process CJQ0

Sat Jun  9 14:21:43 2012

Stopping background process MMNL

Sat Jun  9 14:21:44 2012

Stopping background process MMON

Sat Jun  9 14:21:45 2012

Shutting down instance (immediate)

License high water mark = 19

Sat Jun  9 14:21:45 2012

Stopping Job queue slave processes

Sat Jun  9 14:21:45 2012

Job queue slave processes stopped

All dispatchers and shared servers shutdown

Sat Jun  9 14:21:57 2012

PMON failed to acquire latch, see PMON dump

PMON failed to acquire latch, see PMON dump

PMON failed to acquire latch, see PMON dump

PMON failed to acquire latch, see PMON dump

PMON failed to acquire latch, see PMON dump

Sat Jun  9 14:22:09 2012

PMON failed to acquire latch, see PMON dump

PMON failed to acquire latch, see PMON dump

Sat Jun  9 14:22:13 2012

ALTER DATABASE CLOSE NORMAL

Sat Jun  9 14:22:14 2012

SMON: disabling tx recovery

SMON: disabling cache recovery

Sat Jun  9 14:22:14 2012

Shutting down archive processes

Archiving is disabled

Sat Jun  9 14:22:19 2012

ARCH shutting down

ARC1: Archival stopped

Sat Jun  9 14:22:24 2012

ARCH shutting down

ARC0: Archival stopped

Sat Jun  9 14:22:25 2012

Thread 1 closed at log sequence 3

Successful close of redo thread 1

Sat Jun  9 14:22:25 2012

Completed: ALTER DATABASE CLOSE NORMAL

Sat Jun  9 14:22:25 2012

ALTER DATABASE DISMOUNT

Completed: ALTER DATABASE DISMOUNT

ARCH: Archival disabled due to shutdown: 1089

Shutting down archive processes

Archiving is disabled

Archive process shutdown avoided: 0 active

ARCH: Archival disabled due to shutdown: 1089

Shutting down archive processes

Archiving is disabled

Archive process shutdown avoided: 0 active

Sat Jun 09 14:48:07 CST 2012

Starting ORACLE instance (normal)

LICENSE_MAX_SESSION = 0

LICENSE_SESSIONS_WARNING = 0

Shared memory segment for instance monitoring created

Picked latch-free SCN scheme 3

IMODE=BR

ILAT =18

LICENSE_MAX_USERS = 0

SYS auditing is disabled

ksdpec: called for event 13740 prior to event group initialization

Starting up ORACLE RDBMS Version: 10.2.0.5.0.

System parameters with non-default values:

  processes                = 150

  __shared_pool_size       = 92274688

  __large_pool_size        = 4194304

  __java_pool_size         = 4194304

  __streams_pool_size      = 0

  sga_target               = 167772160

  control_files            = /oracle/oradata/ORCL/control01.ctl, /oracle/oradata/ORCL/control02.ctl, /oracle/oradata/ORCL/control03.ctl

  db_block_size            = 8192

  __db_cache_size          = 58720256

  compatible               = 10.2.0.1.0

  log_archive_dest_1       = LOCATION=/oracle/arch/

  log_archive_format       = %t_%s_%r.dbf

  db_file_multiblock_read_count= 8

  undo_management          = AUTO

  undo_tablespace          = UNDOTBS1

  remote_login_passwordfile= EXCLUSIVE

  db_domain                =

  dispatchers              = (PROTOCOL=TCP) (SERVICE=ORCLXDB)

  job_queue_processes      = 10

  background_dump_dest     = /oracle/admin/ORCL/bdump

  user_dump_dest           = /oracle/admin/ORCL/udump

  core_dump_dest           = /oracle/admin/ORCL/cdump

  audit_file_dest          = /oracle/admin/ORCL/adump

  db_name                  = ORCL

  open_cursors             = 300

  pga_aggregate_target     = 148897792

PSP0 started with pid=3, OS id=18694

PMON started with pid=2, OS id=18692

MMAN started with pid=4, OS id=18696

DBW0 started with pid=5, OS id=18698

LGWR started with pid=6, OS id=18700

CKPT started with pid=7, OS id=18702

SMON started with pid=8, OS id=18704

RECO started with pid=9, OS id=18706

CJQ0 started with pid=10, OS id=18708

MMON started with pid=11, OS id=18710

Sat Jun 09 14:48:09 CST 2012

starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...

MMNL started with pid=12, OS id=18712

Sat Jun 09 14:48:09 CST 2012

starting up 1 shared server(s) ...

Sat Jun 09 14:48:10 CST 2012

ALTER DATABASE   MOUNT

Sat Jun 09 14:48:16 CST 2012

Setting recovery target incarnation to 2

Sat Jun 09 14:48:16 CST 2012

Successful mount of redo thread 1, with mount id 1313337388

Sat Jun 09 14:48:16 CST 2012

Database mounted in Exclusive Mode

Completed: ALTER DATABASE   MOUNT

Sat Jun 09 14:48:17 CST 2012

ALTER DATABASE OPEN

Sat Jun 09 14:48:17 CST 2012

LGWR: STARTING ARCH PROCESSES

ARC0 started with pid=16, OS id=18720

Sat Jun 09 14:48:17 CST 2012

ARC0: Archival started

ARC1: Archival started

LGWR: STARTING ARCH PROCESSES COMPLETE

ARC1 started with pid=17, OS id=18722

ARC1: Becoming the 'no FAL' ARCH

ARC1: Becoming the 'no SRL' ARCH

Sat Jun 09 14:48:17 CST 2012

ARC0: Becoming the heartbeat ARCH

Sat Jun 09 14:48:17 CST 2012

Thread 1 opened at log sequence 3

  Current log# 2 seq# 3 mem# 0: /oracle/oradata/ORCL/redo02.log

Successful open of redo thread 1

Sat Jun 09 14:48:17 CST 2012

MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set

Sat Jun 09 14:48:17 CST 2012

SMON: enabling cache recovery

Sat Jun 09 14:48:19 CST 2012

Errors in file /oracle/admin/ORCL/udump/orcl_ora_18718.trc:

ORA-00704: bootstrap process failure

ORA-39700: database must be opened with UPGRADE option

Sat Jun 09 14:48:19 CST 2012

Error 704 happened during db open, shutting down database

USER: terminating instance due to error 704

Instance terminated by USER, pid = 18718

ORA-1092 signalled during: ALTER DATABASE OPEN...

 

以上红色表示出现的error info。

根据上述提示,查询/oracle/admin/ORCL/udump/orcl_ora_18718.trc文件:

 

/oracle/admin/ORCL/udump/orcl_ora_18718.trc

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

ORACLE_HOME = /oracle/product/10.2.0

System name: SunOS

Node name:     solaris10ora10gr2x64

Release:  5.10

Version:   Generic_141445-09

Machine: i86pc

Instance name: ORCL

Redo thread mounted by this instance: 1

Oracle process number: 15

Unix process pid: 18718, image: oracle@solaris10ora10gr2x64 (TNS V1-V3)

 

*** ACTION NAME:() 2012-06-09 14:48:19.068

*** MODULE NAME:(sqlplus@solaris10ora10gr2x64 (TNS V1-V3)) 2012-06-09 14:48:19.068

*** SERVICE NAME:(SYS$USERS) 2012-06-09 14:48:19.068

*** SESSION ID:(159.3) 2012-06-09 14:48:19.068

ORA-00704: bootstrap process failure

ORA-39700: database must be opened with UPGRADE option

解决方案:

原因是由于在完成升级版本后,数据字典的内容被修改了,需要使用catalog.sql和catproc.sql这两个脚本再运行一下把数据字典再更新一下。于是使用命令"startup upgrade"启动数据库,再运行catupgrd.sql这个脚本,即运行"@ORACLE_HOME\rdbms\admin\catupgrd.sql",这条语句会执行比较久的时间,我是在PC机上操作的,执行了12分钟左右。执行完成以后,关闭数据库,再使用正常模式启动数据库,再运行一下utlrp.sql这个脚本来重新编译一下一些无效的对象。OK了。

-bash-3.00$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Sat Jun 9 15:47:30 2012

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> startup UPGRADE
ORACLE instance started.

Total System Global Area  167772160 bytes
Fixed Size                  2094800 bytes
Variable Size             100665648 bytes
Database Buffers           58720256 bytes
Redo Buffers                6291456 bytes
Database mounted.
Database opened.
SQL>

 

posted on 2012-06-09 16:05  蓝红石  阅读(2517)  评论(0编辑  收藏  举报