Oracle 11gR2单实例数据库补丁升级记录

Oracle 11gR2是目前新系统应用比较广泛的Oracle版本,根据官方路线图,11.2.0.4是11g末期的一个版本。应该说,11gR2之后,Oracle直接提供了完整升级版本,可以直接安装高版本的数据库系统,不需要从基础版本逐步升级。

本篇主要记录以11.2.0.4为基础,单实例条件下Oracle补丁安装过程。

1、补丁包和环境介绍

首先确定数据库版本,笔者以一台全新安装Oracle 11gR2单实例进行安装,具体版本为11.2.0.4。

SQL> select * from v$version;

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

PL/SQL Release 11.2.0.4.0 - Production

CORE    11.2.0.4.0      Production

TNS for Linux: Version 11.2.0.4.0 - Production

NLSRTL Version 11.2.0.4.0 – Production

进行操作的补丁文件如下:

[root@XXX-PROD-DB upload]# cd patch/

[root@XXX-PROD-DB patch]# ls -l

total 282772

-rw-r--r--. 1 root root    407030 Jul 15 09:03 p19852360_112040_Generic.zip

-rw-r--r--. 1 root root  71580583 Jul 15 09:03 p20299013_112040_Linux-x86-64.zip

-rw-r--r--. 1 root root  12335412 Jul 15 09:03 p20299015_112040_Linux-x86-64.zip

-rw-r--r--. 1 root root  40486165 Jul 15 09:03 p20406239_112040_Linux-x86-64.zip

-rw-r--r--. 1 root root 112087303 Jul 15 09:02 p20834611_112040_Linux-x86-64.zip

-rw-r--r--. 1 root root  52648436 Jul 15 09:02 p6880880_112000_Linux-x86-64.zip

注意:其中p6880880_112000_Linux-x86-64.zip是新版本OPatch,一般而言打补丁都需要更新最新的OPatch。

2、升级OPatch组件

首先需要以覆盖方式升级OPatch组件。

[oracle@XXX-PROD-DB ~]$ cd $ORACLE_HOME

[oracle@XXX-PROD-DB dbhome_1]$ ls -l | grep OPatch

drwxr-xr-x.  8 oracle oinstall  4096 Jul 16 10:08 OPatch

备份OPatch目录,并用解压zip文件替换。

[oracle@XXX-PROD-DB dbhome_1]$ cp /upload/patch/p6880880_112000_Linux-x86-64.zip $ORACLE_HOME

[oracle@XXX-PROD-DB dbhome_1]$ ls -l | grep p6880880_112000_Linux-x86-64.zip 

-rw-r--r--.  1 oracle oinstall 52648436 Aug  4 08:42 p6880880_112000_Linux-x86-64.zip

[oracle@XXX-PROD-DB dbhome_1]$ mv OPatch OPatch_BK

[oracle@XXX-PROD-DB dbhome_1]$ ls -l | grep OPatch

drwxr-xr-x.  8 oracle oinstall    4096 Jul 16 10:08 OPatch_BK

解压OPatch文件。

[root@XXX-PROD-DB ~]# cd /u01/app/oracle/product/11.2.0/dbhome_1

[root@XXX-PROD-DB dbhome_1]# ls -l | grep p6880880_112000_Linux-x86-64.zip 

-rw-r--r--.  1 oracle oinstall 52648436 Aug  4 08:42 p6880880_112000_Linux-x86-64.zip

[root@XXX-PROD-DB dbhome_1]# unzip p6880880_112000_Linux-x86-64.zip

[root@XXX-PROD-DB dbhome_1]# ls -l | grep OPatch

drwxr-x---. 10 root  root        4096 Mar 31 17:10 OPatch

drwxr-xr-x.  8 oracle oinstall    4096 Jul 16 10:08 OPatch_BK

[root@XXX-PROD-DB dbhome_1]# chown -R oracle:oinstall OPatch

[root@XXX-PROD-DB dbhome_1]# ls -l | grep OPatch

drwxr-x---. 10 oracle oinstall    4096 Mar 31 17:10 OPatch

drwxr-xr-x.  8 oracle oinstall    4096 Jul 16 10:08 OPatch_BK

OPatch是一个命令脚本工具,为方便起见,可以将其加入到PATH环境变量中。

[oracle@XXX-PROD-DB dbhome_1]$ cd ~

[oracle@XXX-PROD-DB ~]$ vi .bash_profile 

(篇幅原因,有省略……)

ORACLE_SID=XXXCDB

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

PATH=$PATH:$ORACLE_HOME/bin:/u01/app/oracle/product/11.2.0/dbhome_1/OPatch

export ORACLE_SID

export ORACLE_BASE

export ORACLE_HOME

export PATH

".bash_profile" 23L, 409C written 

查看OPatch版本。

[oracle@XXX-PROD-DB ~]$ opatch version

OPatch Version: 11.2.0.3.10

OPatch succeeded.

2、补丁19852360_112040

补丁19852360_112040是一个简单的补丁,主要是针对JDBC相关的补丁类型。原则上,不需要进行关库操作。

[root@XXX-PROD-DB patch]# unzip p19852360_112040_Generic.zip 

Archive:  p19852360_112040_Generic.zip

creating: 19852360/

inflating: 19852360/README.txt     

creating: 19852360/files/

creating: 19852360/files/jdbc/

(篇幅原因,有省略……)

inflating: 19852360/etc/xml/GenericActions.xml 

inflating: 19852360/etc/xml/ShiphomeDirectoryStructure.xml 

进入解压目录,注意:要确保补丁文件的文件权限设置。

[oracle@XXX-PROD-DB ~]$ cd /upload/patch/

[oracle@XXX-PROD-DB patch]$ ls -l

total 282776

drwxr-xr-x. 4 oracle oinstall      4096 Oct 20  2014 19852360

-rw-r--r--. 1 root  root        407030 Jul 15 09:03 p19852360_112040_Generic.zip

[oracle@XXX-PROD-DB patch]$ cd 19852360/

[oracle@XXX-PROD-DB 19852360]$ ls -l

total 20

drwxr-xr-x. 4 oracle oinstall  4096 Oct 20  2014 etc

drwxr-xr-x. 3 oracle oinstall  4096 Oct 20  2014 files

-rw-rw-r--. 1 oracle oinstall 10858 Oct 28  2014 README.txt

[oracle@XXX-PROD-DB 19852360]$

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/86da74f94049df1221f5d0c2e6753cc4.html