看到各位安装PatchSet 9206的过程不完整,主要是安装完毕后没有升级数据库,忍不住把我的经验写出来,希望能给大家一点帮助。水平有限,难免有错误或遗漏,请谅解
我使用这个办法升级成功,数据库运行正常。但当我想把数据库降回9.2.0.1的时候,却出了问题,参见我的帖子:http://www.**.org/viewthread.php?tid=80133。期待高人解答我的疑惑。。。

Oracle 9i补丁集9.2.0.6安装指南

声明:以下内容是根据p3948480_9206_WINNT.zip里的README.html里的内容整理而得的,仅供参考。本文没有包括p4269928_9206_WINNT.zip的内容

一、下载补丁集
我是在这里下载的:http://apollo.solusoft.com/win/rdbms/92/

二、安装前的准备
1.在数据库服务器上以Administrator身份登录到Windows
2.停止所有Oracle相关的服务。这些服务名称通常是以Oracle打头
3.停止Distributed Transaction Coordinator服务
4.备份与Oracle数据库相关的所有文件(包括Oracle数据库软件及数据文件),把这些文件按原有的目录结构复制到安全的地方,并做好标记或记录

三、安装
1.将Oracle 9i补丁集p3948480_9206_WINNT.zip解压到某个临时目录,运行<补丁集所在路径>\Disk1\setup.exe
2.在“欢迎”窗体上点击“下一步”
3.在“指定文件位置”窗体上,源路径默认为<补丁集所在路径>\Disk1\stage\products.xml。该值通常不需要改变
4.在“指定文件位置”窗体上,点击“目标”的“名称”一栏的下拉按钮,在下拉菜单中选择需要安装补丁的Oracle主目录名称,同时记录“路径”里列出的路径名,在安装后的善后工作中会用到。然后点击“下一步”
5.在“概要”窗体上列举出了所有即将安装补丁,注意检查是否有某些内容被标记为红色(例如磁盘空间是否足够)。确认无误后点击“安装”
6.安装程序执行安装工作,直至出现“安装结束”窗体。在“安装结束”窗体上点击“退出”
注意:如果安装过程中出现带乱码的提示框,需要重新启动Windows,再重新进行“安装前的准备”、“安装”……

四、安装后的善后工作
1.检查表空间长度及设置参数值
1.1启动数据库,并以SYS用户登录
1.1.1.启动数据库实例服务。该服务名称通常为OracleServiceSID。其中SID是实例名称
1.1.2.启动监听器服务。该服务名称通常为OracleOraHomeTNSListener。其中OraHome是Oracle主目录名称
1.1.3.运行SQL Plus,并以SYS身份登录

C:\>sqlplus /nolog
SQL>connect sys/password as sysdba

其中password是SYS用户的密码
1.2检查SYSTEM表空间长度。如果安装的数据库软件中包括了JServer组件,则必须保证SYSTEM表空间有至少10M的可用空间
1.2.1.在SQL>提示符下输入如下命令:

select tablespace_name, sum(bytes)/(1024*1024) as free_space
  from dba_free_space
where tablespace_name = 'SYSTEM'
group by tablespace_name;

FREE_SPACE列出了SYSTEM表空间的可用空间,以兆为单位。如果该值小于10,则需要加大SYSTEM表空间的容量;否则以下的步骤无需执行了
12.2.在SQL>提示符下输入如下命令:

select file_name, round(bytes/(1024*1024),0) total_space
  from dba_data_files
where tablespace_name = 'SYSTEM';

结果中列出来了属于SYSTEM表空间的数据文件名及这些文件的大小,文件大小以兆为单位列在TOTAL_SPACE列
1.2.3.在SQL>提示符下输入如下命令:

alter database datafile 'data_filename' resize new_size;

该命令用以扩展指定的数据文件的大小,相应地也就扩展了SYSTEM表空间的容量
如果在第2步骤中列出的文件有多个,我们选择其中一个即可,只要该文件所在的磁盘有足够的剩余空间。使用其中一个文件名替换命令中的data_filename(注意要包含完整的路径,并且单引号要保留),并用新的容量替换new_size。新容量可以用如下公式计算:
新容量≥原容量+(10-SYSTEM表空间的可用空间)
注意:新容量可以指定单位,K表示千,而M表示兆。如150K,150M
1.3.设置SHARED_POOL_SIZE参数。本来Oracle建议还要调整JAVA_POOL_SIZE的,但如果没有使用太多Java应用,该参数可不调整
1.3.1.检查SHARED_POOL_SIZE的大小。在SQL>提示符下输入如下命令:

SHOW PARAMETER SHARED_POOL_SIZE;

在VALUE列给出了相应参数的大小,注意该数值是以字节计算的。参考的两个参数取值如下表:
物理内存容量(M)        SHARED_POOL_SIZE(M)
512        50
1024        100
2048        150
如果该参数的取值小于以上建议值,则应该把它加大到建议值;否则以下的步骤无需执行了
1.3.2.检查系统是使用初始化参数文件还是系统参数文件。在SQL>提示符下输入如下命令:

SHOW PARAMETER PFILE;

如果在VALUE列中包括INIT字样,则表明系统使用的是初始化参数文件;若包括SPFILE字样,则表明系统使用的是系统参数文件
1.3.3.若系统使用的是初始化参数文件,则需要notepad或其它纯文本编辑器编辑该文件,将以上参数的值增加到建议值
1.3.4.若系统使用的是系统参数文件,则在SQL>提示符下输入如下命令:

ALTER SYSTEM SET SHARED_POOL_SIZE='new_size' SCOPE=spfile;

其中new_size是建议的取值
1.4关闭数据库。在SQL>提示符下执行如下命令:

SHUTDOWN

2.升级数据库
2.1在SQL>提示符下输入如下命令:

STARTUP MIGRATE
SPOOL c:\patch.log
@OraHome\rdbms\admin\catpatch.sql
SPOOL OFF

注意:OraHome是安装补丁时指定的Oracle主目录的路径。执行catpatch.sql是个很耗时的过程,在我个人的机器上执行时花了50分钟时间
2.2检查c:\patch.log是否有错,并检查执行catpatch.sql时显示的组件列表及其版本、状态。
如果有必要,重新运行catpatch.sql,或者把错误报告给开发部,以便确认发生错误的原因和解决办法
2.3重新启动数据库。在SQL>提示符下输入如下命令:

SHUTDOWN
STARTUP

2.4运行utlrp.sql以重新编译所有无效的PL/SQL程序包。在SQL>提示符下输入如下命令:

@OraHome\rdbms\admin\utlrp.sql

3.重新启动Distributed Transaction Coordinator服务
4.备份数据库文件