Oracle数据库的升级(10gR2至11gR2)(一)

2015-02-02 13:34:55 · 作者: · 浏览: 63

首先,升级前的准备就很多工作需要做:


1. 测试和准备, 主要是应用的做压力测试。因为版本升级,优化器可能使SQL性能回退(选择性能更差的执行计划),可以结合database replay做压力测试,SPA模拟环境变化的影响,以及SPM对执行计划做固定。


2. 升级的方法, 主要是图形界面DBUA(新目录的路径)来完成,相对简单;手工升级(手工执行脚本、DBUA只不过将这些手工动作代替而已、新目录路径);EXPDP(源库路径)/IMPDP(新库路径)等等。


其中,以下几种方法可以支持滚动升级:


Oracle数据库的升级(10gR2至11gR2)


可以看得出,升级的方案多样,根据不同的环境而定。


3. 升级前,务必将新库路径下$ORACLE_HOME/rdbms/admin/utlu112i.sql脚本拷至源库执行,主要是检查当前环境(如表空间大小,隐含参数,警告或建议)是否合适做升级,我们可以根据警告和建议做相应调整。


以下粘出单机数据库的升级实验步骤,供参数,由10.2.0.5升级至11.2.0.3.


时间允许的话,将做RAC的升级并更新文章


======================================================================================================


一、源库--备份


run {
allocate channel ch1 device type disk;
allocate channel ch2 device type disk;
allocate channel ch3 device type disk;
allocate channel ch4 device type disk;
backup AS BACKUPSET full tag 'db_full' format '/backup/db_%d_%T_%s_%U.bak' database include current controlfile;
sql 'alter system archive log current';
release channel ch4;
release channel ch3;
release channel ch2;
release channel ch1;
}



SQL> archive log list;
Database log mode? ? ? ? Archive Mode
Automatic archival? ? ? ? Enabled
Archive destination? ? ? ? /arch/ora10g
Oldest online log sequence? ? 49
Next log sequence to archive? 51
Current log sequence? ? ? ? 51



二、源库 -- 运行脚本utlu112i.sql,做升级前检查
[oracle@tivoli02 backup]$ sqlplus / as sysdba


SQL*Plus: Release 10.2.0.5.0 - Production on Mon Jan 26 20:27:42 2015


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



Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> spool /tmp/upgrade_info.log
@/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/utlu112i.sql


打印内容如下:
================
SQL> @/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/utlu112i.sql
Oracle Database 11.2 Pre-Upgrade Information Tool 01-26-2015 20:34:56
Script Version: 11.2.0.3.0 Build: 001
.
**********************************************************************
Database:
**********************************************************************
--> name:? ? ORA10G
--> version:? ? 10.2.0.5.0
--> compatible:? ? 10.2.0.5.0
--> blocksize:? ? 8192
--> platform:? ? Linux x86 64-bit
--> timezone file: V4
.
**********************************************************************
Tablespaces: [make adjustments in the current environment]
**********************************************************************
--> SYSTEM tablespace is adequate for the upgrade.
.... minimum required size: 643 MB
--> UNDOTBS1 tablespace is adequate for the upgrade.
.... minimum required size: 400 MB
--> SYSAUX tablespace is adequate for the upgrade.
.... minimum required size: 433 MB
--> TEMP tablespace is adequate for the upgrade.
.... minimum required size: 60 MB
.
**********************************************************************
Flashback: OFF
**********************************************************************
**********************************************************************
Update Parameters: [Update Oracle Database 11.2 init.ora or spfile]
Note: Pre-upgrade tool was run on a lower version 64-bit database.
**********************************************************************
--> If Target Oracle is 32-Bit, refer here for Update Parameters:
-- No update parameter changes are required.
.


--> If Target Oracle is 64-Bit, refer here for Update Parameters:
-- N