升级ORACLE 10.1.0.2到ORACLE 10.2.0.5
今天需要把ORACLE 10.1.0.2的数据库升级到ORACLE 10.2.0.5.由于10.1不能直接升级到10.2
因此首先需要升级到10.2.0.1,然后再打PS到10.2.0.5
1,升级数据库第一件事就是要做好备份,并且制定回退计划;
2,查询一下当前的版本
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Prod
PL/SQL Release 10.1.0.2.0 - Production
CORE 10.1.0.2.0 Production
TNS for 32-bit Windows: Version 10.1.0.2.0 - Production
NLSRTL Version 10.1.0.2.0 - Production
3,关闭数据库,由于是windows平台,需要把关于ORACLE的数据库服务都要停掉
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
4,接下就是安装10.2.0.1,都是图形化操作,直接点一下就都可以了,新的ORACLE_HOME
最好在相同的ORACLE_BASE下,如我原来的ORACLE_HOME为C:\oracle\product\10.1.0\Db_1,
那么新的ORACLE_HOME设为C:\oracle\product\10.1.0\Db_2
然后安装10.2.0.5的PS,也图形化操作,直接点一下就都可以了.基本都是一些体力活.
5,把原来的ORACLE_HOME\DATABASE下的spfile和PWD都拷贝到新的ORACLE_HOME\DATABASE下,
修改注册表的下的service中的oracle服务的path.并且通过netca重配listener。数据库这时候不能
正常打开的,如:
D:\Documents and Settings\Administrator.C6POWERTEST>sqlplus /nolog
SQL*Plus: Release 10.2.0.5.0 - Production on 星期六 10月 29 10:31:42 2011
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
SQL> conn / as sysdba;
已连接到空闲例程。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 171966464 bytes
Fixed Size 1302224 bytes
Variable Size 142606640 bytes
Database Buffers 25165824 bytes
Redo Buffers 2891776 bytes
数据库装载完毕。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01092: ORACLE 实例终止。强制断开连接
6,在安装的PS后,必须以upgrade方式才能打开;
SQL> conn /as sysdba;
已连接到空闲例程。
SQL> startup upgrade;
ORACLE 例程已经启动。
Total System Global Area 171966464 bytes
Fixed Size 1302224 bytes
Variable Size 142606640 bytes
Database Buffers 25165824 bytes
Redo Buffers 2891776 bytes
数据库装载完毕。
数据库已经打开。
SQL>spool up.log;
SQL>@?\rdbms\admin\utlu102i.sql;
运行该脚本进行先决检查,然后看一下up.log中有没有很明显的错误信息,有些是可以ignore掉的
运行该脚本并不是必须条件
7,闭数数据库,然后再次以upgrade方式打开,开始真正的升级;
SQL>@?\rdbms\admin\catupgrd.sql;
SELECT dbms_registry_sys.dbupg_script('CATJAVA') AS dbmig_name FROM DUAL
*
第 1 行出现错误:
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-04031: 无法分配 4108 字节的共享内存 ("shared pool","select /*+
index(idl_ub1$ i_...","Typecheck","kgghteInit")
出现错误,由于shared pool过小,增加shared_pool_size,再次运行catupgrd.sql;
8,关闭数据库,然后以正常方式打开数据库,重新编绎一下无效的应用程序对像
SQL>@?\rdbms\admin\utlrp.sql;
9,关闭数据库,然后以正常方式打开数据库.检查版片信息和alert.log有无重要的信息.
阅读(7148) | 评论(0) | 转发(0) |