1. 从oracle官方网站或者metalink上下载补丁包,补丁包里有readme文件告诉你如何升级
2. 关闭正在运行的数据库服务,包括tns服务.否则会报错,然后安装补丁包
3.
安装完补丁包升级并没有完成,还要执行一些sql脚本(我就是因为没有执行这些脚本导致exp命令无法使用),这些脚本包括catpatch.sql,exppatch.sql等,readme文件中也有详细的叙述,这里写只是提醒要升级的朋友,安装完补丁文件并不算完.
如何查看 已经打过的补丁
set ORACLE_HOME=[oracle目录]
cd $ORACLE_HOME/Opatch/
opatch lsinventory -all -detail
[删除补丁] 删除这个补丁 opatch rollback -id [patchID]
如果没有安装opatch工具,需要先安装。
上传文件p2617419_10102_GENERIC.zip
解压到oracle目录下:
unzip p2617419_10102_GENERIC.zip
将这个路径加到oracle的path中:
:/home/oracle/OPatch
执行opatch lsinventory检查工具
e.g.
将oracle patch上传到oracle目录下面:p4193286_10103_LINUX.zip
解压在oracle目录下面:
[oracle@**** oracle]$ unzip p4193286_10103_LINUX.zip
shutdown 数据 库、stop监听
打patch:
[oracle@**** oracle]$ cd 4193286
[oracle@**** 4193286]$ opatch apply
PERL5LIB=/home/oracle/product/10.1.0/db_1/perl/lib/5.6.1:/home/oracle/OPatch/perl_modules;
export PERL5LIB
/home/oracle/product/10.1.0/db_1/perl/bin/perl
/home/oracle/OPatch/opatch.pl apply
Oracle Home = /home/oracle/product/10.1.0/db_1
Location of Oracle Inventory =
/home/oracle/product/10.1.0/db_1/inventory
Oracle Universal Installer shared library =
/home/oracle/product/10.1.0/db_1/oui/lib/linux/liboraInstaller.so
Path to Java =
/home/oracle/product/10.1.0/db_1/jre/1.4.2/bin/java
Location of Oracle Inventory Pointer = /etc/oraInst.loc
Location of Oracle Universal Installer components =
/home/oracle/product/10.1.0/db_1/oui
Required Jar File under Oracle Universal Installer =
jlib/OraInstaller.jar
OPatch Version 1.0.0.0.50
Perl Version 5.006001
/home/oracle/OPatch/opatch.pl version: 1.0.0.0.50
Copyright (c) 2001-2004 Oracle Corporation. All Rights
Reserved.
Some commands below are not in your path:
Command= fuser
Path= /usr/kerberos/bin:/bin:/usr/bin:/usr/local/bin:
/usr/bin/X11:/usr/X11R6/bin:/home/oracle/bin:/home/oracle/bin:
/home/oracle/product/10.1.0/db_1/bin:/home/oracle/OPatch
执行opatch lsinventory察看patch是否正确安装:
[oracle@bj34 4193286]$ opatch lsinventory