背景:
现在Oracle 11gR2 扩展补丁最新已经到20200714了,今天给生产系统打了几个系统补丁,有很多设备上是一台服务器创建了十几个数据库,这样涉及到后面跑脚本和启停数据库是一件非常麻烦的事,特写这篇博客在这里记录今天的完整处理过程。
1.解压替换OPatch
123456 | cd psu cd $ORACLE_HOME/ mv OPatch/ OPatch_bak cd ~/psu unzip p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME/ unzip p31326405_112040_Linux-x86-64.zip |
---|
2.关闭数据库和监听
123 | lsnrctl stop sqlplus / as sysdba shut immediate |
---|
3.应用补丁
1234567 | cd 31326405/31103343 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./ $ORACLE_HOME/OPatch/opatch apply cd ../31219953 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./ $ORACLE_HOME/OPatch/opatch apply |
---|
4.检查补丁是否已经打上
12345 | [oracle@pjs-jypt 31103343]$ $ORACLE_HOME/OPatch/opatch lspatches 31219953;OJVM PATCH SET UPDATE 11.2.0.4.200714 31103343;Database Patch Set Update : 11.2.0.4.200714 (31103343) OPatch succeeded. |
---|
5.跑升级脚本
123 | sqlplus / as sysdba @?/rdbms/admin/catbundle.sql psu apply @?/rdbms/admin/utlrp.sql |
---|
多库环境操作步骤:
1.获取所有数据库的SID信息
123456789 | [db-oracle@CXDB~/psu]$ps -ef|grep pmon |grep -v greporacle 1194 1 0 18:39 ? 00:00:00 ora_pmon_dsgmonoracle 1296 1 0 18:39 ? 00:00:00 ora_pmon_zzdboracle 1411 1 0 18:40 ? 00:00:00 ora_pmon_dboracle 1525 1 0 18:40 ? 00:00:00 ora_pmon_SKDBoracle 1645 1 0 18:40 ? 00:00:00 ora_pmon_ZXDBoracle 1801 1 0 18:40 ? 00:00:00 ora_pmon_OADBoracle 1908 1 0 18:40 ? 00:00:00 ora_pmon_QCDBgrid 10471 1 0 Jul03 ? 00:07:03 asm_pmon_+ASM |
---|
2.配置停库脚本
1234567891011121314 | #!/bin/kshORACLE_SID="$1"echo $isqlplus / as sysdba << EOFshut immediate;exitEOFsh shut.sh dsgmonsh shut.sh zzdbsh shut.sh dbsh shut.sh SKDBsh shut.sh ZXDB sh shut.sh OADBsh shut.sh QCDB |
---|
3.应用补丁
1234567 | cd 31326405/31103343 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./ $ORACLE_HOME/OPatch/opatch apply cd ../31219953 $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./ $ORACLE_HOME/OPatch/opatch apply |
---|
4.跑升级脚本
1234567891011121314151617 | #!/bin/kshORACLE_SID="$1"echo $isqlplus / as sysdba << EOF startup @?/rdbms/admin/catbundle.sql psu apply; @?/rdbms/admin/utlrp.sql; shutdown immediate;exitEOFsh exec_psu.sh dsgmonsh exec_psu.sh zzdbsh exec_psu.sh dbsh exec_psu.sh SKDBsh exec_psu.sh ZXDB sh exec_psu.sh OADBsh exec_psu.sh QCDB |
---|
5.重启数据库:
123456789101112131415 | lsnrctl start#!/bin/kshORACLE_SID="$1"echo $isqlplus / as sysdba << EOFstartup forceexitEOFsh restart.sh dsgmonsh restart.sh zzdbsh restart.sh dbsh restart.sh SKDBsh restart.sh ZXDB sh restart.sh OADBsh restart.sh QCDB |
---|
来自 “ 开源世界 ” ,链接:http://ym.baisou.ltd/?id=516,如需转载,请注明出处,否则将追究法律责任。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有