最近几日在评估和测试EBS的系统升级(11i升级到R12),虽然官方的升级文档里介绍的比较详细了,但是依旧会出现一些容易疏忽的问题,这里做一些记录。这里并不是单纯的数据库升级,需要考虑EBS的特殊应用。对于升级方案,标准的有三种: 同时升级数据库和应用。 先升级数据库到10gR2,然后升级应用到R12。 先升级数据库到11gR2,然后升级应用到R12。 其中第2和第3种方案有点类似,都是将整个升级方案划分为两个阶段,只是数据库版本不同。实际上,从技术上看,第1种方案也是两步走,只是在应用层跳过一些过渡性的补丁直接升级到R12。 在数据库升级方面,升级路线主要有下面两种: 路线1: 9.2.0.6 -> 9.2.0.8 -> 11.2.0.1 如果是Solaris系统,则要求系统版本至少为 Solaris 10 Update 6。 路线2: 9.2.0.6 -> 10.2.0.1 -> 10.2.0.4 注:最新patchset是10.2.0.5,只是升级文档依旧停留在10.2.0.4。 从一般认识上讲,Oracle数据库在下一个大版本出来后,上一个版本才被认为是相对更稳定的,所以此处选择第二条路线。 数据库升级方式简单而言有以下几种: DBUA,直接通过图形化工具升级,这个最简单。 Manual,类似于上一种方式,只是手工进行各个步骤的升级操作。 Export/Import 有利于数据表的整理,重构数据库,比如修改字符集、数据文件、表空间参数等,在升级时间上,比DBUA和Manual两种方式都要长。 利用数据复制等技术,升级备用环境后再切换。 由于允许停机,并且暂无特殊的要求,所以这里使用DBUA做升级操作。 在升级之前,建议卸载statspack,并且先解决Invalid Objects的问题。此外,数据库升级后DBLINK需要重建,所以先准备相关重建脚本。下面按照文档步骤升级数据库9.2.0.6 至 10.2.0.4,每个步骤都列在下面,对几个步骤中需要额外关注的地方做了备注。 Verify software versions 检查现在软件版本,基本上应该不会有问题的,留意一下AD版本,最新版本是11i.AD.I.7,不过要求11i.AD.I.6就可以了。 Migrate to Oracle Portal 10g (conditional) Deregister the current database server (conditional) Update application tier [...]