oracle rac p31718723_112040_Linux-x86-64 打补丁201002步骤

包下载
链接:https://pan.baidu.com/s/1vBKnIr8hESjsypMIhCYRrg
提取码:77vu

或登录mos搜索:Database 11.2.0.4 Proactive Patch Information (Doc ID 2285559.1)

基于 11.2.0.4 和 Asianux 7.3 的补丁升级

31537677 DB PSU 11.2.0.4.201020 Both DB homes and Grid home

29938455 OCW PATCH SET UPDATE 11.2.0.4.191015 Both DB Homes and Grid Home

29509309 ACFS PATCH SET UPDATE 11.2.0.4.190716 Only Grid Home

1、备份/oracle和/grid目录
root用户执行
tar -czvf /tmp/oracle.tar.gz /oracle
tar -czvf /tmp/grid.tar.gz /grid

grid 和 oracle都执行:
cp -ar $ORACLE_HOME/OPatch ~/OPatch.bak.2020-05-15

2、更新Oracle database home和GI home的OPatch

所有节点
mkdir/tmp/orasoft/
将*.zip上传到/tmp/orasoft
chmod 777 -R /tmp/orasoft/

oracle执行:
unzip /tmp/orasoft/p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME
选A
$ORACLE_HOME/OPatch/opatch version

grid用户执行:
unzip/tmp/orasoft/p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME
选A
$ORACLE_HOME/OPatch/opatch version

3、配置OCM(手动打补丁不需要此步骤)
grid用户:
cd到grid用户的home目录
cd
$ORACLE_HOME/OPatch/ocm/bin/emocmrsp
遇到:
Email address/User Name: --回车
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]: Y
会产生一个名为ocm.rsp的文件:
ls -l ocm.rsp

4、验证Oracle Inventory
使用grid用户:
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

使用oracle用户:
$ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

5、解压PSU补丁
grid用户:

cd/tmp/orasoft/
unzip p31718723_112040_Linux-x86-64.zip
unzip p31537677_112040_Linux-x86-64.zip
unzip p31668908_112040_Linux-x86-64.zip
unzip p31749197_112040_Linux-x86-64.zip
选A

查看是否有dbconsole服务*************************
如有,使用如下命令停止
As the Oracle RAC database home owner execute:

su - oracle
$ $ORACLE_HOME/bin/emctl stop dbconsole


6、冲突检测
–grid
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/orasoft/31718723/31537677
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/orasoft/31718723/29938455
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/orasoft/31718723/29509309

–oracle
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/orasoft/31718723/31537677
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /tmp/orasoft/31718723/29938455

7、手工打补丁(两边)
7.1 oracle用户:
$ORACLE_HOME/bin/emctl stop dbconsole
如果没有安装EM 的话,会报错找不到/oracle/db11g/oc4j/j2ee/OC4J_DBConsole_hostname_sid not found
确认没有dbconsole进程就可以:
ps -ef | grep dbconsole

7.2 oracle用户:
node1:
$ORACLE_HOME/bin/srvctl stop home -o $ORACLE_HOME -s /home/oracle/status -n hostname
node2:
$ORACLE_HOME/bin/srvctl stop home -o $ORACLE_HOME -s /home/oracle/status -n hostname

7.3 root用户:(两节点)
. /home/grid/.bash_profile
$ORACLE_HOME/crs/install/rootcrs.pl -unlock

ps -ef|grep d.bin

7.4 打CRS补丁
grid用户:
su - grid
/grid/grid_home/OPatch/opatch napply -oh /grid/grid_home -local /tmp/orasoft/31718723/31537677
/grid/grid_home/OPatch/opatch napply -oh /grid/grid_home -local /tmp/orasoft/31718723/29938455
/grid/grid_home/OPatch/opatch apply -oh /grid/grid_home -local /tmp/orasoft/31718723/29509309

7.5

oracle用户:
/tmp/orasoft/31718723/29938455/custom/server/29938455/custom/scripts/prepatch.sh -dbhome /oracle/db11g
/oracle/db11g/OPatch/opatch napply -oh /oracle/db11g -local /tmp/orasoft/31718723/29938455/custom/server/29938455
/oracle/db11g/OPatch/opatch apply -oh /oracle/db11g -local /tmp/orasoft/31718723/31537677
/tmp/orasoft/31718723/29938455/custom/server/29938455/custom/scripts/postpatch.sh -dbhome /oracle/db11g

二节点重复7.4及7.5

7.8
root用户执行:(1节点起完,2节点起)
. /home/grid/.bash_profile
$ORACLE_HOME/rdbms/install/rootadd_rdbms.sh
$ORACLE_HOME/crs/install/rootcrs.pl -patch

7.9 此时如果报“ "A system reboot is recommended before using ACFS” ”,重启机器,没报的话就继续,不需重启

7.10 oracle用户
node 1上:
$ORACLE_HOME/bin/srvctl start home -o $ORACLE_HOME -s /home/oracle/status -n hostname

node 2上:
$ORACLE_HOME/bin/srvctl start home -o $ORACLE_HOME -s /home/oracle/status -n hostname

检查:
每个节点都执行:
oracle用户:
$ORACLE_HOME/OPatch/opatch lsinventory
grid用户:
$ORACLE_HOME/OPatch/opatch lsinventory

  1. 打完补丁后数据库(下边的步骤没有实例不用执行):
    在node1上执行,同时node2的数据库要down掉
    oracle用户:
    cd $ORACLE_HOME/rdbms/admin
    sqlplus /nolog
    SQL> CONNECT / AS SYSDBA
    SQL> STARTUP
    SQL> @catbundle.sql psu apply
    SQL> select * from dba_registry_history;
    SQL> quit

检查日志文件:
cd $ORACLE_BASE/cfgtoollogs/catbundle/
grep error *.log
详细检查的话,日志文件的命名规则是:
catbundle_PSU_APPLY.log
catbundle_PSU_GENERATE.log

检查数据库中是否存在无效的对象:
select OWNER,OBJECT_NAME,OBJECT_ID,OBJECT_TYPE,STATUS from dba_objects where status <>‘VALID’;

无效对象重新编译一下就可以了
######alter view aucdb.view_preview_18_20 compile;
cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql

##########################################################################################
小补丁
Oracle用户:

  1. 停库(双边)
    srvctl stop instance -d -i
    或一个节点执行 srvctl stop database -d

  2. 解压缩小补丁(双边,上面第5步已解压)
    cd/tmp/orasoft/

  3. 安装补丁(双边)

cd …/31668908/
$ORACLE_HOME/OPatch/opatch apply

cd …/31749197/
$ORACLE_HOME/OPatch/opatch apply

$ORACLE_HOME/OPatch/opatch lsinventory

4.执行上面第8步

  1. 重启crs集群(双边)
    root用户:
    crsctl stop crs
    crsctl start crs

6.启动数据库
srvctl start database -d

起库时可能报磁盘权限dend的需要改一下oracle文件的权限
chown oracle:asmadmin /oracle/db11g/bin/oracle
chmod 6751 /oracle/db11g/bin/oracle

##########################################################################################
关闭tfa osw日志收集工具,不需要此服务,已部署在系统用户下
所有节点操作
root用户:
. /home/grid/.bash_profile
ps -ef|grep OSW
/grid/grid_home/bin/tfactl stop
/grid/grid_home/bin/tfactl disable
ps -ef|grep OSW

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值