前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >多实例数据库一个用PSU

多实例数据库一个用PSU

原创
作者头像
PHP开发工程师
修改2021-05-14 14:44:31
4530
修改2021-05-14 14:44:31
举报
文章被收录于专栏:thinkphp+vue

背景:

现在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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档