【PSU】AIX 11g RAC自动打GI PSU5

2018-03-19 16:29:06 浏览数 (1)

一.3.3 安装PSU的一般性步骤

每个PSU安装包中都包含一个README.html或README.TXT文档,其中描述了如何安装该PSU,有些PSU是可以直接安装的,而有些PSU则必须要求安装了上一个版本的PSU之后才能继续安装。比如对于10.2.0.4版本的数据库来说,PSU 10.2.0.4.4可以直接安装在最原始的10.2.0.4.0版本中,而最新的PSU 10.2.0.4.8则必须要求先安装10.2.0.4.4。这些信息在README.html中都可以找到,所以请仔细阅读该文档。

通常安装PSU是比较简单的,步骤如下:

1) 安装PSU需要使用到opatch,在README.html中有描述该PSU需要的最低版本opatch,如果当前opatch版本过低,则需要先下载 Patch 6880880,该Patch中包含最新的opatch,只需要解压覆盖原先的$ORACLE_HOME/OPatch目录即可。

查看当前的opatch版本,可以使用opatch version命令。

代码语言:javascript复制
$opatch version
InvokingOPatch 10.2.0.5.2 
OPatchVersion: 10.2.0.5.2  
OPatchsucceeded.

2)安装PSU,请仔细阅读README.html,确认安装命令,通常是简单的opatch apply。

$opatchapply

3)更新数据库,将修改过的SQL文件应用到数据库中,很多DBA在执行完上述安装命令以后就不再进行这一步,那么实际上PSU是没有完整安装的。

cd$ORACLE_HOME/rdbms/admin

代码语言:javascript复制
sqlplus/ as sysdba
SQL>STARTUP
SQL>@catbundle.sql psu apply
SQL>QUIT

注意:如果PSU是overlay PSU,比如10.2.0.4.8,则需要执行@catbundle.sql opsuapply,同样这些在README.html中都有详细描述。

一.3.4 如何确认当前数据库已经安装了什么PSU/CPU?

数据库版本 sqlplus -v

检查数据库PSU号命令为su - oracle ->opatch lsinventory

集群数据库

10205版本,CRS为PSU2,补丁号为9952245 | DB有PSU3,补丁号为11724962、DB有PSU6,补丁号为13343471、DB有PSU7,补丁号为13632743

10205版本单库无CRS,只有DB的PSU,如:DB有PSU3,补丁号为11724962、DB有PSU6,补丁号为13343471、DB有PSU7,补丁号为13632743

11G单库或集群都有GI和DB PSU,opatchlsinventory显示具体的PSU号,如:

代码语言:javascript复制
--------------------------------------------------------------------------------------------------
Patch  13923374    : applied on Tue Sep 04 10:53:32 GMT 08:00 2012
UniquePatch ID:  14912546
Patchdescription:  "Database Patch SetUpdate : 11.2.0.3.3 (13923374)" ---->DB PSU3补丁
Sub-patch  13696216; "Database Patch Set Update :11.2.0.3.2 (13696216)" ---->DB PSU2补丁
Sub-patch  13343438; "Database Patch Set Update :11.2.0.3.1 (13343438)" ---->DB PSU1补丁
Patch  13919095    : applied on Tue Sep 04 10:50:02 GMT 08:00 2012
UniquePatch ID:  14912546
Patchdescription:  "Grid InfrastructurePatch Set Update : 11.2.0.3.3 (13919095)" ---->GI PSU3补丁
---------------------------------------------------------------------------------------------------

上面的例子是11203版本的集群,DB安装了PSU1、PSU2、PSU3,取最大PSU号,即DB为PSU3,PSU3包括PSU2、PSU1,GI为PSU3

不同的版本类推即可!!!

代码语言:javascript复制
opatchlsinventory -bugs_fixed | grep 'PSU'
opatchlsinv
opatchlspatches
[ZFLHRDB1:grid]:/home/grid>opatchlspatches
13343438;DatabasePatch Set Update : 11.2.0.3.1 (13343438)
13348650;GridInfrastructure Patch Set Update : 11.2.0.3.1 (13348650)
[ZFLHRDB1:grid]:/home/grid>
colaction_time   for a30
colaction       for a10
colnamespace     for a10
colversion       for a10
colbundle_series for a10
colcomments    for a30
SELECTto_char(action_time, 'YYYY-MM-DD HH24:MI:SS') action_time,
       action,
       namespace,
       version,
       id,
       bundle_series,
       comments
  FROM dba_registry_history D;

第二章 PSU升级正文部分

二.1 准备工作

OS版本及kernel版本

AIX 64位 6100-07-05-1228

AIX 64位 6100-07-05-1228

OS hostname

ZHLHRDB1ZHLHRDB2

ZHLHRDB1ZHLHRDB2

platform_name

AIX-Based Systems (64-bit)

AIX-Based Systems (64-bit)

字符集

ZHS16GBK

ZHS16GBK

compatible

11.2.0.0.0

11.2.0.0.0

二.1.2 软件准备

我们需要准备的软件如下表格所示,至于这些内容怎么来的我们不要急,且看下边的MOS上下载安装软件:

项目

SOURCE DB

OPatch version

根据readme.html要求为11.2.0.3.0 or later,这里我们下载的是11.2.0.3.12,,具体文件为p6880880_112000_AIX64-5L.zip

GI PSU

patch号为14727347 (11.2.0.3.5),具体文件为p14727347_112030_AIX64-5L.zip

说明:GI PSU包括DB PSU,CPU。

二.1.2.1 MOS上下载安装软件

一、 PSU下载

首先我们登录MOS网站,https://support.oracle.com,然后查找文档号为:1922396.1,找到11.2.0.3,如下图所示:

或者文档ID 1922396.1的文件小麦苗已经下载下来了,大家可以去http://blog.itpub.net/26736162/viewspace-1624453进行下载,不止如此,小麦苗还把其他需要阅读的文档也下载下来了,可以去云盘下载。

找到11.2.0.3.5,由于我们是rac环境,所以下载GI PSU即可,所以对应的就是 14727347(11.2.0.3.5),如上图中所示,点击相应的连接进入下载页面,然后在右边选择我们需要的平台,AIX 64位,如下图所示:

复制连接地址到迅雷或直接点击即可下载。

接下来就是等PSU下载完成后,我们用2345好压软件或其它解压缩软件打开,把其中的readme.html文件先拿出来,

打开:

该文件即PSU5的安装说明文档,我们接下来安装这个文档来安装就可以了。

二、 OPatch下载

我们从上边的readme.html中得到opatch的最低要求是11.2.0.3.0,而目前我们的版本为11.2.0.1.7,所以需要下载最新版本,下载的地址下图中也有连接即6880880,如图所示:

我们也可以直接去OPatch下载地址: https://updates.oracle.com/download/6880880.html

https://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=6880880

打开相应的连接后,需选择我们需要的平台:

接下来下载即可。

二.2 上传软件到/softtmp目录并赋权

首先利用SecureFX软件上传下载的文件p14727347_112030_AIX64-5L.zip和p6880880_112000_AIX64-5L.zip到/softtmp目录,然后赋权。

代码语言:javascript复制
[ZHLHRDB1:root]:/softtmp>chmod 777 p*
[ZHLHRDB1:root]:/softtmp>l
total 2425568
drwxr-xr-x    2 root    system          256 May 05 15:31lost found
-rwxrwxrwx    1 oracle  dba      1187252238 May 17 09:44p14727347_112030_AIX64-5L.zip
-rwxrwxrwx    1 root    system     54636538 May 16 22:13p6880880_112000_AIX64-5L.zip
[ZHLHRDB1:root]:/softtmp>

二.3 更新2个节点的OPatch版本,必须要更新

说明:分别在两个节点更新GRID_HOME和ORACLE_HOME的OPatch版本。

二.3.1 备份OPatch目录

分别对grid和oracle用户下的OPatch目录进行备份:

代码语言:javascript复制
 [ZHLHRDB1:root]:/softtmp>cp -r /oracle/app/oracle/product/11.2.0/db/OPatch/oracle/app/oracle/product/11.2.0/db/OPatch_bk
[ZHLHRDB1:root]:/softtmp>cp -r /oracle/app/11.2.0/grid/OPatch/oracle/app/11.2.0/grid/OPatch_bk

二.3.2 grid目录OPatch替换

代码语言:javascript复制
 [ZHLHRDB1:grid]:/home/grid>unzip /softtmp/p6880880_112000_AIX64-5L.zip -d $ORACLE_HOME
Archive:  /softtmp/p6880880_112000_AIX64-5L.zip
extracting: /oracle/app/11.2.0/grid/OPatch/version.txt  
…
  inflating:/oracle/app/11.2.0/grid/OPatch/opatchdiag 
[ZHLHRDB1:grid]:/home/grid>whichopatch  
/oracle/app/11.2.0/grid/OPatch/opatch
[ZHLHRDB1:grid]:/home/grid>opatch version
OPatch Version:11.2.0.3.12 ====》grid用户的OPatch软件升级成功
OPatchsucceeded.

二.3.3 oracle目录OPatch替换

代码语言:javascript复制
 [ZHLHRDB1:oracle]:/oracle>opatch version
Invoking OPatch11.2.0.1.7
OPatch Version:11.2.0.1.7
OPatchsucceeded.
[ZHLHRDB1:oracle]:/oracle>unzip /softtmp/p6880880_112000_AIX64-5L.zip -d $ORACLE_HOME
Archive:  /softtmp/p6880880_112000_AIX64-5L.zip
… 
  inflating:/oracle/app/oracle/product/11.2.0/db/OPatch/opatchdiag  
[ZHLHRDB1:oracle]:/oracle>opatch version
OPatch Version:11.2.0.3.12 ====》grid用户的OPatch软件升级成功
OPatchsucceeded.

二.4 root用户分别在节点1和节点2生成ocm.rsp文件

代码语言:javascript复制
The OPatch utility will prompt for yourOCM (Oracle Configuration Manager) response file when it is run. You shouldenter a complete path of OCM response file if you already have created this inyour environment. OCM response file is required and is not optional.
[ZHLHRDB1:root]:/softtmp>$ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner -output/softtmp/ocm_11gR2_psu5_lhr.rsp
You have notprovided an email address for notification of security issues.
Do you wish toremain uninformed of security issues ([Y]es, [N]o) [N]:  Y
The OCMconfiguration response file (/softtmp/ocm_11gR2_psu5_lhr.rsp) was successfullycreated.
[ZHLHRDB1:root]:/softtmp>l
total 2425576
drwxr-xr-x    2 root    system          256 May 05 15:31lost found
-rw-r--r--    1 root    system          621 May 17 10:10 ocm_11gR2_psu5_lhr.rsp
-rwxrwxrwx    1 oracle  dba      1187252238 May 17 09:44p14727347_112030_AIX64-5L.zip
-rwxrwxrwx    1 root    system     54636538 May 16 22:13p6880880_112000_AIX64-5L.zip

二.5 开始升级GIPSU软件包

说明:一定要按照顺序一个节点一个节点的打,会同时升级当前节点的GRID和DB SOFTWARE。

二.5.1 解压PSU包

首先升级节点一:

代码语言:javascript复制
[ZHLHRDB1:root]:/softtmp>mkdir psu5  
[ZHLHRDB1:root]:/softtmp>l
total 2425576
drwxr-xr-x    2 root    system          256 May 05 15:31lost found
-rw-r--r--    1 root    system          621 May 17 10:10ocm_11gR2_psu5_lhr.rsp
-rwxrwxrwx    1 oracle  dba      1187252238 May 17 09:44p14727347_112030_AIX64-5L.zip
-rwxrwxrwx    1 root    system     54636538 May 16 22:13p6880880_112000_AIX64-5L.zip
drwxr-xr-x    2 root    system          256 May 17 10:17psu5
[ZHLHRDB1:root]:/softtmp>unzip p14727347_112030_AIX64-5L.zip -d ./psu5/
Archive:  p14727347_112030_AIX64-5L.zip
   creating: ./psu5/14727310/
   …
  inflating: ./psu5/bundle.xml       
[ZHLHRDB1:root]:/softtmp>l
total 2425576
drwxr-xr-x    4 root    system          256 May 17 10:18psu5
[ZHLHRDB1:root]:/softtmp>chmod -R 777 psu5

二.5.2 测试兼容性

Before beginning patch application,check the consistency of inventory information for GI home and each databasehome to be patched. Run the following command as respective Oracle home ownerto check the consistency.

分别对oracle和grid用户进行检查:

代码语言:javascript复制
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh$ORACLE_HOME
$ORACLE_HOME/OPatch/opatch prereqCheckConflictAgainstOHWithDetail -phBaseDir /softtmp/psu5 -oh $ORACLE_HOME

其实在安装过程中也会自动校验是否有冲突,若有冲突也会退出安装的。

代码语言:javascript复制
[ZHLHRDB1:oracle]:/oracle>$ORACLE_HOME/OPatch/opatch lsinventory -detail-oh $ORACLE_HOME
 …
OPatchsucceeded.
[ZHLHRDB1:oracle]:/oracle>
[ZHLHRDB1:oracle]:/oracle>$ORACLE_HOME/OPatch/opatch prereqCheckConflictAgainstOHWithDetail -phBaseDir /softtmp/psu5 -oh $ORACLE_HOME
…
OPatch succeeded.

oracle检查成功不存在冲突,下边对grid进行检查:

代码语言:javascript复制
 [ZHLHRDB1:grid]:/home/grid>$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh$ORACLE_HOME
…
OPatchsucceeded.
[ZHLHRDB1:grid]:/home/grid>$ORACLE_HOME/OPatch/opatch prereqCheckConflictAgainstOHWithDetail -phBaseDir /softtmp/psu5 -oh $ORACLE_HOME
…
OPatch succeeded.
[ZHLHRDB1:grid]:/home/grid>

grid用户也不存在冲突,可以安装PSU升级了。

二.5.3 升级前的PSU

代码语言:javascript复制
opatch lsinventory -bugs_fixed | grep 'PSU'
opatch lspatches
set line 9999
col action_time  for a30
col action      for a10
col namespace    for a10
col version      for a10
col bundle_series for a10
col comments   for a30
SELECT to_char(action_time, 'YYYY-MM-DDHH24:MI:SS') action_time,
      action,
      namespace,
      version,
       id,
      bundle_series,
      comments
  FROMdba_registry_history D;
[ZHLHRDB1:oracle]:/oracle>opatch lsinventory -bugs_fixed | grep'PSU'
[ZHLHRDB1:oracle]:/oracle>opatch lspatches
There are noInterim patches installed in this Oracle Home"/oracle/app/oracle/product/11.2.0/db".
OPatchsucceeded.
ACTION_TIME                    ACTION     NAMESPACE VERSION            ID BUNDLE_SERCOMMENTS
---------------------------------------- ---------- ---------- ---------- ---------- 
2011-10-2104:48:04            APPLY      SERVER    11.2.0.3            0 PSU        Patchset 11.2.0.2.0
2016-05-0516:36:06            APPLY      SERVER    11.2.0.3            0 PSU        Patchset 11.2.0.2.0
SQL> 

二.5.4 开始升级

root用户依次节点1,节点2上执行,升级前DB是open,升级的过程中是关闭状态

代码语言:javascript复制
[ZHLHRDB1:root]:/softtmp>opatch auto /softtmp/psu5 -ocmrf/softtmp/ocm_11gR2_psu5_lhr.rsp

升级完成后,数据库自动OPEN.

二.5.4.1 PSU升级日志

下边我们对升级过程简单分析,首先会升级DB的,该过程自动进行关闭DB:

主日志文件,/oracle/app/11.2.0/grid/cfgtoollogs/opatchauto2016-05-17_10-44-24.log,详细日志:

代码语言:javascript复制
 [ZHLHRDB1:root]:/oracle/app/11.2.0/grid/cfgtoollogs/opatch>l-lrt
total 896
…
-rw-r-----    1 grid    dba            2901 May 17 10:45 opatch2016-05-17_10-45-42AM_1.log

升级CRS的时候,节点一上的ha进程就会全部停掉:

代码语言:javascript复制
[ZHLHRDB1:root]:/>
[ZHLHRDB1:root]:/>ps-ef|grep d.bin
    root 2426158 2294074   0 10:57:38 pts/8  0:00 grep d.bin

从详细日志/oracle/app/11.2.0/grid/cfgtoollogs/opatchauto2016-05-17_10-44-24.report.log中可以看到自动升级过程中的所有的命令,这也是手动打PSU的步骤,一共32个命令:

二.5.5 检查升级情况

代码语言:javascript复制
 [ZHLHRDB1:oracle]:/oracle>opatch lsinventory -bugs_fixed | grep 'PSU'
 [ZHLHRDB1:oracle]:/oracle>opatch lspatches
14727310;DatabasePatch Set Update : 11.2.0.3.5 (14727310)
15876003;GridInfrastructure Patch Set Update : 11.2.0.3.5 (14727347)
OPatch succeeded.

节点一的grid和db软件都是11.2.0.3.5了,但是数据库还不是的,这个需要等2个节点的软件都升级完毕后再执行脚本$ORACLE_HOME/rdbms/admin/catbundle.sqlpsu apply才可以,下边先对节点二执行升级GI PSU后然后再升级DB实例的PUS,过程和节点一一样,这里省略,对节点二升级完成后查看:

代码语言:javascript复制
[ZHLHRDB2:root]:/softtmp>su- oracle
[ZHLHRDB2:oracle]:/oracle>opatch lspatches
14727310;DatabasePatch Set Update : 11.2.0.3.5 (14727310)
15876003;GridInfrastructure Patch Set Update : 11.2.0.3.5 (14727347)
OPatchsucceeded.
[ZHLHRDB2:oracle]:/oracle>

二.6 升级数据库数据字典

登录任意一个实例,执行升级数据字典脚本,@$ORACLE_HOME/rdbms/admin/catbundle.sqlpsu apply:

代码语言:javascript复制
[ZHLHRDB1:root]:/>su - oracle
[ZHLHRDB1:oracle]:/oracle>
[ZHLHRDB1:oracle]:/oracle>
[ZHLHRDB1:oracle]:/oracle>sqlplus / as sysdba
SQL> @$ORACLE_HOME/rdbms/admin/catbundle.sqlpsu apply

可以看到数据库里边数据字典也升级成功,到此PSU升级成功。

第三章 PSU总结

l 本次安装过程所涉及到的所有软件和文档阅读都可以去云盘(http://blog.itpub.net/26736162/viewspace-1624453)进行下载

l 安装PSU之前需要检查是否有冲突,$ORACLE_HOME/OPatch/opatchprereq CheckConflictAgainstOHWithDetail -phBaseDir /softtmp/psu5 -oh$ORACLE_HOME,若有冲突需要先回滚掉以前的patch再进行安装,回滚的办法也在readme里边。

--opatchauto /softtmp/psu5 -rollback -ocmrf /softtmp/ocm_11gR2_psu5_lhr.rsp

$ORACLE_HOME/OPatch/opatchrollback -local -id 13348650 -oh /oracle/app/oracle/product/11.2.0/db

$ORACLE_HOME/OPatch/opatchrollback -local -id 13004894 -oh /oracle/app/oracle/product/11.2.0/db

--@$ORACLE_HOME/rdbms/admin/catbundle_PSU_<databaseSID PREFIX>_ROLLBACK.sql

第三章 PSU总结

l 本次安装过程所涉及到的所有软件和文档阅读都可以去云盘(http://blog.itpub.net/26736162/viewspace-1624453)进行下载

l 安装PSU之前需要检查是否有冲突,$ORACLE_HOME/OPatch/opatchprereq CheckConflictAgainstOHWithDetail -phBaseDir /softtmp/psu5 -oh$ORACLE_HOME,若有冲突需要先回滚掉以前的patch再进行安装,回滚的办法也在readme里边。

代码语言:javascript复制
--opatchauto /softtmp/psu5 -rollback -ocmrf /softtmp/ocm_11gR2_psu5_lhr.rsp
$ORACLE_HOME/OPatch/opatchrollback -local -id 13348650 -oh /oracle/app/oracle/product/11.2.0/db
$ORACLE_HOME/OPatch/opatchrollback -local -id 13004894 -oh /oracle/app/oracle/product/11.2.0/db
--@$ORACLE_HOME/rdbms/admin/catbundle_PSU_<databaseSID PREFIX>_ROLLBACK.sql

0 人点赞