这个标题的文章,估计有很多大牛已经写了,我只系按照自己的操作流程,自己的思路做一下总结,做一下备忘。升级背景是这样的:八月十六,追月日,对的,你没有看错啊,是中秋假期,中秋假期啊。重庆一个同事打了电话过来,急冲冲的说。机房那边发了一份扫描报告,希望可以马上解决。我瞄了瞄那份扫描报告,擦,高度和中度风险全部都是oracle的漏洞,拒绝服务,绕开权限,缓冲区溢出...一大堆。面对一大堆漏洞,最好的办法自然是打补丁了。oracle 10g总共发行了4个补丁,分别是10.2.0.2,10.2.0.3,10.2.0.4,10.2.0.5这四个版本。我服务器的数据库版本是10.2.0.1,而我开发机和手提的版本是10.2.0.3,那最好的升级版本当然是10.2.0.4或者是10.2.0.5。这些版本网络上有很多链接,我也不一一描述,而且推荐用迅雷下载。因为10.2.0.5一直都下载不成功。所以我选择了10.2.0.4。以下是操作的步骤:
1.首先肯定是数据的备份,不备份只能哭了,一想到服务器掉数据,我的心就发毛
关掉数据库,进行冷备份,当然你也可以选择热备
2.在服务中,把关于oracle的服务全部停止
3.我下载的是p6810189_10204_Win32的压缩文件,打开10.2.0.4的安装文件,找到exe进行安装,因为我开发机和服务器的都是WIN7 64位,所以要修改以下p6810189_10204_Win32文件夹下的\Disk1\install\oraparam.ini。找到以下这一句,加上6.1
之后双击setup.exe安装,在安装时,注意一个地方,一定要覆盖原来10g的安装目录了,如果你没有覆盖,我只能...
一直点击下一步即可,如果提示你有一个或多个程序占用oracle,你应该去确认一下oracle的所有服务是否已经全部关闭,如无意外,更新成功。
4.升级数据库
接下来是升级数据库部分,确认服务已开启,
接着在sqlplus里输入 startup upgrade
下一步首先要设置两个重要的参数:java_pool_size和shared_pool_size,这两个会对加快升级的速度
alter system set java_pool_size='150M';
alter system set shared_pool_size='150M'
接下来输入升级的sql
@?/rdbms/admin/catupgrd.sql ;
startup mount;
@?/rdbms/admin/utlrp.sql
@?/rdbms/admin/catalog.sql;
@?/rdbms/admin/catproc.sql;
shutdown immediate;
startup mount;
至此完成升级所需流程,打开其他用户,发觉正常,再 select * from v$version;确认是10.2.0.4,表明升级成功。
最后显示一下10.2.0.1到10.2.0.4的升级时间