【PSU】AIX 11g RAC自动打GI PSU5
一.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命令。
$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
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号,如:
--------------------------------------------------------------------------------------------------
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
不同的版本类推即可!!!
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目录,然后赋权。
[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目录进行备份:
[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替换
[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替换
[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文件
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包
首先升级节点一:
[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用户进行检查:
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh$ORACLE_HOME
$ORACLE_HOME/OPatch/opatch prereqCheckConflictAgainstOHWithDetail -phBaseDir /softtmp/psu5 -oh $ORACLE_HOME
其实在安装过程中也会自动校验是否有冲突,若有冲突也会退出安装的。
[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进行检查:
[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
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,升级的过程中是关闭状态
[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,详细日志:
[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进程就会全部停掉:
[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 检查升级情况
[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,过程和节点一一样,这里省略,对节点二升级完成后查看:
[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:
[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里边。
--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
- 牛顿迭代法(Newton's Method)
- 最长递减子序列(nlogn)(个人模版)
- Selenium2+python自动化26-js处理内嵌div滚动条
- Selenium2+python自动化25-js处理日历控件
- 转负二进制(个人模版)
- Selenium2+python自动化24-js处理富文本
- 【干货】对抗自编码器PyTorch手把手实战系列——PyTorch实现对抗自编码器
- Selenium2+python自动化23-富文本(自动发帖)
- 2-Sat+输出可行解(个人模版)
- 协同过滤原理及Python实现
- 每周学点大数据 | No.25二叉搜索树回顾(二)
- RBF神经网络及Python实现(附源码)
- 【干货】计算机视觉实战系列03——用Python做图像处理
- Adaboost从原理到实现(Python)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android 提交或者上传数据时的dialog弹框动画效果
- Android 调用系统应用的方法总结
- Android实现网易严选标签栏滑动效果
- Android socket实现原理详解 服务端和客户端如何搭建
- Android使用ViewFlipper实现图片切换功能
- Android 图片显示与屏幕适配的问题
- Android实现截图和分享功能的代码
- Android 自定义相机及分析源码
- Android实现微博菜单弹出效果
- Android开发之拖动条和评分组件用法分析
- Android使用AsyncQueryHandler实现获取手机联系人功能
- Android用过TextView实现跑马灯效果的示例
- android如何设置Activity背景色为透明色
- Android 手机防止休眠的两种实现方法
- Android编程实现的首页左右滑动切换功能示例