11.2.0.4 RAC 手动打补丁
1. 下载补丁和最新OPatch
GI PSU : p25869727_112040_Linux-x86-64.zip
OPatch : p6880880_112000_Linux-x86-64.zip
说明:GI PSU包括DB PSU,CPU。单机与RAC的opatch通用,单机与rac的psu不通用。
2. 检查数据库当前OPatch版本
RAC所有节点的GI home和DB home都需要检查。
$ $ORACLE_HOME/OPatch/opatch version
3. 更新OPatch,RAC所有节点的GI home和DB home都需要更新。
3.1 更新grid用户的OPatch
-- grid用户操作
node1-> echo $ORACLE_HOME
/u01/app/11.2.0/grid
-- root用户执行,/u01/app/11.2.0/grid/为grid用户下的$ORACLE_HOME路径
[root@node1 tmp]# mv /u01/app/11.2.0/grid/OPatch /u01/app/11.2.0/grid/OPatch_bak
[root@node1 tmp]# ll p6880880_112000_Linux-x86-64.zip
-rw-r--r--. 1 grid oinstall 99065778 Aug 3 03:07 p6880880_112000_Linux-x86-64.zip
[root@node1 tmp]# unzip p6880880_112000_Linux-x86-64.zip -d /u01/app/11.2.0/grid/
[root@node1 tmp]# chown -R grid:oinstall /u01/app/11.2.0/grid/OPatch
-- grid用户操作
node1-> $ORACLE_HOME/OPatch/opatch version
OPatch Version: 11.2.0.3.16
OPatch succeeded.
说明:需要注意grid用户$ORACLE_HOME 权限。
3.2 更新oracle用户的OPatch
-- oracle用户执行
node1-> echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/db_1
-- root用户执行,/u01/app/oracle/product/11.2.0/db_1 为oracle用户下的$ORACLE_HOME路径
[root@node1 tmp]# mv /u01/app/oracle/product/11.2.0/db_1/OPatch /u01/app/oracle/product/11.2.0/db_1/OPatch_bak
[root@node1 tmp]# unzip p6880880_112000_Linux-x86-64.zip -d /u01/app/oracle/product/11.2.0/db_1/
[root@node1 tmp]# chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1/OPatch
-- oracle用户操作
node1-> $ORACLE_HOME/OPatch/opatch version
OPatch Version: 11.2.0.3.16
OPatch succeeded.
4. 解压补丁文件 (所有节点的 grid,oracle都要解压psu文件)
-- root用户执行
[root@node1 tmp]# unzip p26030799_112040_Linux-x86-64.zip -d /tmp/grid_psu/
[root@node1 tmp]# chown -R grid:oinstall /tmp/grid_psu/
[root@node1 tmp]# unzip p26030799_112040_Linux-x86-64.zip -d /tmp/ora_psu/
[root@node1 tmp]# chown -R oracle:oinstall /tmp/ora_psu/
5. 所有节点都要检查补丁之间有无冲突
5.1 Node1节点 grid用户检查
grid用户执行结果:
node1-> cd 26030799/
node1-> $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
Oracle Interim Patch Installer version 11.2.0.3.16
Copyright (c) 2017, Oracle Corporation. All rights reserved.
PREREQ session
Oracle Home : /u01/app/11.2.0/grid
Central Inventory : /u01/app/oraInventory
from : /u01/app/11.2.0/grid/oraInst.loc
OPatch version : 11.2.0.3.16
OUI version : 11.2.0.4.0
Log file location : /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2017-08-03_03-53-17AM_1.log
Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail" passed.
OPatch succeeded.
5.2 Node1节点 oracle用户检查
oracle执行结果:
node1-> cd 26030799/
node1-> $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/grid_psu/26030799/ -oh $ORACLE_HOME
Oracle Interim Patch Installer version 11.2.0.3.16
Copyright (c) 2017, Oracle Corporation. All rights reserved.
PREREQ session
Oracle Home : /u01/app/oracle/product/11.2.0/db_1
Central Inventory : /u01/app/oraInventory
from : /u01/app/oracle/product/11.2.0/db_1/oraInst.loc
OPatch version : 11.2.0.3.16
OUI version : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2017-08-03_05-39-28AM_1.log
Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail" passed.
OPatch succeeded.
6. 为数据库做冷备份 (如果不考虑安全性,这步可以省略,有点点风险)
RMAN>run {
shutdown immediate;
startup mount;
allocate channel c1 type disk;
allocate channel c2 type disk;
backup full tag='db_full_bak' database format '/home/oracle/rmanbak/full_cold_%d_%s.bak';
alter database open;
}
使用root用户备份oracle_home (将#ORACLE_HOME上级目录整个备份)
tar -zcvpf db_20170802.tar.gz dbhome_1/
7. 停止 node1 数据库实例 和 node1 crs服务
root用户登录节点1
-- root用户执行,/u01/app/11.2.0/grid/ 为grid用户的 $ORACLE_HOME
[root@node1 bin]# ./srvctl stop instance -d devdb -i devdb1 (停node1的数据库实例)
[root@node1 bin]# /u01/app/11.2.0/grid/crs/install/rootcrs.pl -unlock
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'node1'
.....
Successfully unlock /u01/app/11.2.0/grid
8. 手动更新补丁
8.1 节点1 grid 用户执行
node1-> $ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /tmp/grid_psu/26030799/
输出略..
OPatch succeeded.
8.2 节点1 oracle 用户执行
[oracle@jyracdb1 ~]$ $ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /tmp/grid_psu/26030799/25869727/
输出略..
OPatch succeeded.
8.3 执行rootadd_rdbms.sh 、rootcrs.pl -patch
su – root
[root@node1 26030799]# /u01/app/11.2.0/grid/rdbms/install/rootadd_rdbms.sh
[root@node1 26030799]# /u01/app/11.2.0/grid/crs/install/rootcrs.pl -patch
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
Installing Trace File Analyzer
CRS-4123: Oracle High Availability Services has been started.
8.4 启动 node1 数据库实例 和 node1 crs服务(实际上前面执行 rootcrs.pl -patch 已经让node1的crs起来了)
[root@node1 bin]# ./srvctl start instance -d devdb -i devdb1
8.5 然后在节点2重复节点1(停止节点二数据库和节点二crs服务、grid、oracle打补丁、rootadd_rdbms.sh 、rootcrs.pl -patch)操作
9. 升级字典操作(升级数据库字典,要停业务。如果打补丁在DBCA之前,则不需要升级数据库字典,反之则需要升级数据库字典)
由于RAC实际只有一个数据库,因此任意节点登录数据库执行1次即可。最后重启数据库。
9.1 关闭数据库实例及相关进程 (静态监听、动态监听、EOM、相关服务)
--停止数据库外部进程
[root@11g ~]#ps -ef|grep -v grep |grep LOCAL=NO|awk '{print $2}'|xargs kill -9
[oracle@11g rmanbak]$ cat /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
[root@node1 bin]# ./srvctl stop listener
[root@node1 bin]# ./srvctl status listener
[oracle@11g rmanbak]$ ps -ef |grep ora_|grep -v grep
[oracle@11g rmanbak]$ netstat -an |grep 1521
[oracle@11g rmanbak]$ netstat -an |grep 1158
[root@node1 bin]# ./srvctl stop database -d devdb
9.2 正式升级数据库的数据字典
[root@node1 bin]# ./srvctl start database -d devdb
node1-> sqlplus / as sysdba
SQL> @$ORACLE_HOME/rdbms/admin/catbundle.sql psu apply
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
[root@node1 bin]# ./srvctl stop database -d devdb
[root@node1 bin]# ./srvctl start database -d devdb
10. 验证补丁更新结果
各节点的GI HOME和ORACLE HOME都执行验证。
-- grid用户
node1-> $ORACLE_HOME/OPatch/opatch lsinventory
Oracle Interim Patch Installer version 11.2.0.3.16
Copyright (c) 2017, Oracle Corporation. All rights reserved.
Oracle Home : /u01/app/11.2.0/grid
Central Inventory : /u01/app/oraInventory
from : /u01/app/11.2.0/grid/oraInst.loc
OPatch version : 11.2.0.3.16
OUI version : 11.2.0.4.0
Log file location : /u01/app/11.2.0/grid/cfgtoollogs/opatch/opatch2017-08-03_07-27-26AM_1.log
Lsinventory Output file location : /u01/app/11.2.0/grid/cfgtoollogs/opatch/lsinv/lsinventory2017-08-03_07-27-26AM.txt
--------------------------------------------------------------------------------
Local Machine Information::
Hostname: node1.localdomain
ARU platform id: 226
ARU platform description:: Linux x86-64
Installed Top-level Products (1):
Oracle Grid Infrastructure 11g 11.2.0.4.0
There are 1 products installed in this Oracle Home.
Interim patches (3) :
Patch 25920335 : applied on Thu Aug 03 06:30:47 CST 2017
Unique Patch ID: 21279331
Patch description: "OCW Patch Set Update : 11.2.0.4.170718 (25920335)"
Created on 27 Jun 2017, 05:40:19 hrs PST8PDT
OPatch succeeded.
-- oracle用户
node1-> sqlplus / as sysdba
SQL>
col ACTION_TIME for a30;
col COMMENTS for a20;
col BUNDLE_SERIES for a10;
select ACTION_TIME,BUNDLE_SERIES,COMMENTS from dba_registry_history;
ACTION_TIME BUNDLE_SER COMMENTS
------------------------------ ---------- --------------------
24-AUG-13 12.03.45.119862 PM PSU Patchset 11.2.0.2.0
24-FEB-17 05.51.27.427073 AM PSU Patchset 11.2.0.2.0
03-AUG-17 07.16.37.247390 AM PSU PSU 11.2.0.4.170718
--查看无效对象
select count(*) from dba_objects where status<>'VALID';
COUNT(*)
----------
0
11. 启动监听,对外提供服务,查看监听是否正常
[root@node1 bin]# ./srvctl start listener
[root@node1 bin]# ./srvctl status listener
11.2.0.4 RAC 手动打补丁的更多相关文章
- 【Oracle】11G 11.2.0.4 RAC环境打补丁
一.准备工作 1,数据库环境 操作系统版本 : RedHat 7.2 x64 数据库版本 : Oracle 11.2.0.4 x64 RAC Grid : 11.2 ...
- RHEL6.5安装11.2.0.3 RAC并打补丁
[TOC] 一,主机配置 1.修改hosts文件(两节点) #127.0.0.1 localhost localhost.localdomain localhost4 localhost4.local ...
- Oracle 11.2.0.4 RAC安装最新PSU补丁
环境:两节点RAC(RHEL 6.4 + GI 11.2.0.4 + Oracle 11.2.0.4) 需求:安装最新PSU补丁11.2.0.4.7 1.下载补丁和最新OPatch 2.检查数据库当前 ...
- oracle 11.2.0.4 rac 打补丁
本次安装pus环境是11.2.0.4 rac,打的patch为11.2.0.4.180717 (Includes Database PSU),gi补丁和数据库补丁一起打 安装最新opatch版本 un ...
- RHEL7或CentOS7安装11.2.0.4 RAC碰到的问题
RHEL7或CentOS7安装11.2.0.4 RAC碰到的问题 随着Linux 版本的普及,但Oracle数据库主流版本仍是11gR2, 的支持不很完美,在Linux 上安装会遇到几处问题,以此记录 ...
- ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档
ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档 2015-10-21 12:51 525人阅读 评论(0) 收藏 举报 分类: Oracle RA ...
- Oracle从11.2.0.2开始,数据库补丁包是一个完整安装包(转)
从11.2.0.2开始,数据库补丁包是一个完整安装包.也就是说:比如要打11.2.0.2的补丁包,直接用11.2.0.2包来安装就可以了,不需要像10G一样先安装数据库软件再来打补丁包. 如果已经安装 ...
- HPDL380G8平台11.2.0.3 RAC实施手册
HPDL380G8平台11.2.0.3 RAC实施手册 1 前言 此文档详细描述了Oracle 11gR2 数据库在HPDL380G上的安装RAC的检查及安装步骤.文档中#表示root用户执行,$ ...
- Oracle 11.2.0.4 RAC重建EM案例
环境:Oracle 11.2.0.4 RAC 重建EM 背景:客户之前的EM已经被损坏,需要重建EM 重建EM的方案有很多,其中最简单的方法是:直接使用emca重建,oracle用户下,只需一条命令搞 ...
随机推荐
- flask 扩展之 -- flask-mail
Flask-Mail 封装了 python 标准库 smtplib 包, 以便于更好的与 Flask 集成. 一. 安装 $ pip install flask-mail 二. 配置 及 初始化 Fl ...
- Xamarin开发笔记—设备类&第三方弹窗的使用和注意事项
一.设备类是Xamarin重要开发组成部分,下面介绍一下设备类的主要用法: //唤醒打电话 Device.OpenUri(new Uri("tel:180xxxxxxxx")); ...
- jqueryui autocomplete的使用与angular配合的小坑
刚开始在做搜索联想功能时,使用了jquery.autocomplete.js插件,当并不理想,首先插件老旧,也只适合老版的jquery.其次在数组中只能联想到首字母一样的数据,比如[12,23,222 ...
- 【WPF】DispatcherFrame 是个啥玩意儿
对于 WPF 的线程模型,Dispatcher 对象相信各位大伙伴已经不陌生,尤其是跨线程更新UI的时候,都会用它来调度消息.与 Dispatcher 对象有关的,还有一个叫 DispatcherFr ...
- 前端UI组件复用工具
"懒"是第一生产力. 代码复用总是程序员喜闻乐见的,前端组件化的最终目的就是复用,今天我们就将深入探讨如何实现UI组件的复用. 通常我们所说的组件往往是包含业务逻辑的前端组件,而这 ...
- indexOf和lastIndexOf的使用
indexOf()和 lastIndexOf()是返回位置index的两个方法:都是接收两个参数,其中,indexOf()方法从数组的开头(位 置 0)开始向后查找:lastIndexOf()方法则从 ...
- android权限(permission)大全
权限添加位置: 权限代码: 1.android.permission.WRITE_USER_DICTIONARY允许应用程序向用户词典中写入新词 2.android.permission.WRITE_ ...
- Docker部署DVWA
上次在Docker手动配置了一个Ubuntu的Lamp镜像,这次来试验一下使用这个镜像部署一个简单的web应用吧. 首先从Lamp镜像运行一个容器 root@VM-149-127-debian:~/a ...
- Hibernate错误:Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
报错:Exception in thread "main" org.hibernate.exception.SQLGrammarException: Could not execu ...
- VB6之CRC32
翻译篇:http://www.cnblogs.com/duzouzhe/archive/2009/08/05/1539543.html Private Declare Function GetTick ...