Oracle11g补丁安装(单实例)

Oracle11g补丁安装 (单实例)

一、安装环境及补丁版本

Oracle版本:11.2.0.4
Linux版本:Red Hat Enterprise Linux Server release 6.4 (Santiago)
PSU版本号 :p31718723_112040_Linux-x86-64.zip
OJVM版本号:p31668908_112040_Linux-x86-64.zip
OPatch版本:p6880880_112000_Linux-x86-64_11.2.0.3.27.zip

二、关闭数据库
1、关闭监听
关闭监听:
$ lsnrctl stop

查看监听状态:
$ lsnrctl status
----------------
启动监听:
$ lsnrctl start
2、关闭数据库:
# su - oracle

$ sqlplus / as sysdba

SQL> shutdown immediate
三、备份ORACLE_HOME目录
$ cd $ORACLE_HOME/

$ tar -pzcvf oraclehome1.tar*
四、上传并解压补丁和OPatch
1、更改补丁目录权限:
因为刚刚上传的补丁介质属主都为root,为了使oracle用户可以解压安装补丁,使用root用户更改补丁介质权限
# chown oracle:oinstall p31718723_112040_Linux-x86-64.zip
# chown oracle:oinstall p31668908_112040_Linux-x86-64.zip
# chown oracle:oinstall p6880880_112000_Linux-x86-64_11.2.0.3.27.zip
2、解压补丁
# su - oracle

$ unzip p31668908_112040_Linux-x86-64.zip -d /u01/software
$ unzip p31718723_112040_Linux-x86-64.zip -d /u01/software
3、解压OPatch(升级OPatch):
$ unzip p6880880_112000_Linux-x86-64_11.2.0.3.27.zip -d $ORACLE_HOME
4、查看OPatch版本:
[orcl][oracle@shuaige /u01/app/oracle/product/11.2.0.4]$ opatch version
OPatch Version: 11.2.0.3.27

OPatch succeeded.
[orcl][oracle@shuaige /u01/app/oracle/product/11.2.0.4]$ 
五、安装补丁

解压p31718723_112040_Linux-x86-64.zip的目录中,readme对于补丁使用对象的说明:
在这里插入图片描述

因为我在Oracle11g单机上打补丁,将31537677(DB psu)和29938455(OCW)两个补丁打上即可

1、打(31537677)补丁:
#opatch命令已设置环境变量,如未设置环境变量需指定opatch命令目录
$ cd /u01/software/31718723/31537677

[orcl][oracle@shuaige /u01/software/31718723/31537677]$ opatch apply

…
Composite patch 31537677 successfully applied.
OPatch Session completed with warnings.
Log file location: /u01/app/oracle/product/11.2.0.4/cfgtoollogs/opatch/opatch2020-12-02_19-06-46PM_1.log

OPatch completed with warnings
[orcl][oracle@shuaige /u01/software/31718723/31537677]$

31537677补丁安装成功!

2、打(29938455)补丁:
$ cd /u01/software/31718723/29938455/

[orcl][oracle@shuaige /u01/software/31718723/29938455]$ opatch apply
Oracle Interim Patch Installer version 11.2.0.3.27
Copyright (c) 2020, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/11.2.0.4
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/11.2.0.4//oraInst.loc
OPatch version    : 11.2.0.3.27
OUI version       : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.0.4/cfgtoollogs/opatch/opatch2020-12-02_19-18-14PM_1.log

Verifying environment and performing prerequisite checks...
UtilSession failed: Patch 29938455 requires component(s) that are not installed in OracleHome. These not-installed components are oracle.crs:11.2.0.4.0, 
Log file location: /u01/app/oracle/product/11.2.0.4/cfgtoollogs/opatch/opatch2020-12-02_19-18-14PM_1.log

OPatch failed with error code 73

这个补丁安装失败了,在网上查到用下面的命令可以将其安装好

<ORACLE_HOME> OPatch/opatch napply <UNZIPPED_PATCH_LOCATION> 31718723/29938455/custom/server -local -oh <ORACLE_HOME> -id 29938455

具体操作如下:

[orcl][oracle@shuaige /u01/software/31718723/29938455]$/u01/app/oracle/product/11.2.0.4/OPatch/opatch napply /u01/software/31718723/29938455/custom/server -local -oh /u01/app/oracle/product/11.2.0.4/ -id 29938455
…
Patching component oracle.rdbms, 11.2.0.4.0...
Patch 29938455 successfully applied.
Log file location: /u01/app/oracle/product/11.2.0.4/cfgtoollogs/opatch/opatch2020-12-02_19-24-46PM_1.log

OPatch succeeded.

29938455补丁安装成功!

3、打OJVM补丁:

在p31668908_112040_Linux-x86-64.zip解压目录下执行

$ cd /u01/software/31668908

[orcl][oracle@shuaige /u01/software/31668908]$ opatch apply
…
Patch 31668908 successfully applied.
Log file location: /u01/app/oracle/product/11.2.0.4/cfgtoollogs/opatch/opatch2020-12-02_19-27-04PM_1.log

OPatch succeeded.
六、在数据库中执行脚本
1、对于正在修补的Oracle主目录上运行的每个数据库实例,请使用SQL * Plus连接到数据库。连接为SYSDBA并运行catbundle.sql 脚本,如下所示:

cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> @catbundle.sql psu apply
SQL> QUIT
#该catbundle.sql执行在dba_registry_history 视图中通过与bundle系列相关的行反映出来PSU。


2、以下步骤将修改后的SQL文件加载到数据库中。对于Oracle RAC环境,请仅在一个节点上执行这些步骤。
(1).通过为单实例环境运行以下命令来安装补丁程序的SQL部分。

cd $ORACLE_HOME/sqlpatch/31668908
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> startup upgrade
SQL> @postinstall.sql
SQL> shutdown
SQL> startup


(2).对于Oracle RAC环境,请使用以下命令在一个节点上重新加载程序包。确保远程节点上没有其他数据库实例在运行。

cd $ORACLE_HOME/sqlpatch/31668908
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> STARTUP
SQL> alter system set cluster_database=false scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP UPGRADE
SQL> @postinstall.sql
SQL> alter system set cluster_database=true scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP 


(3).安装补丁的SQL部分后,某些软件包可能变为无效。访问时将重新编译该文件,或者您可以运行utlrp.sql以使其恢复为有效状态。

cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql
七、查看已安装补丁版本
#1、在操作系统中查看补丁版本
$ opatch lspatches
31668908;OJVM PATCH SET UPDATE 11.2.0.4.201020
29938455;OCW Patch Set Update : 11.2.0.4.191015 (29938455)
31537677;Database Patch Set Update : 11.2.0.4.201020 (31537677)

OPatch succeeded.

#2、查看具体的补丁号:
$ opatch lsinventory

#3、在数据库中查询补丁版本:
set line 200
col ACTION_TIME for a35
col COMMENTS for a45
select ACTION_TIME,version,COMMENTS from registry$history;

至此结束,详情请参阅readme,有什么问题欢迎留言,谢谢。

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值