首页 > 大数据 > Hadoop > 多实例数据库一个用PSU(转载)
背景:
现在Oracle 11gR2 扩展补丁最新已经到20200714了,今天给生产系统打了几个系统补丁,有很多设备上是一台服务器创建了十几个数据库,这样涉及到后面跑脚本和启停数据库是一件非常麻烦的事,特写这篇博客在这里记录今天的完整处理过程。
单库操作步骤:
1.解压替换OPatch
|
1
2
3
4
5
6 |
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.关闭数据库和监听
|
1
2
3 |
lsnrctl stop
sqlplus / as sysdba
shut immediate |
3.应用补丁
|
1
2
3
4
5
6
7 |
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.检查补丁是否已经打上
|
1
2
3
4
5 |
[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.跑升级脚本
|
1
2
3 |
sqlplus / as sysdba
@?
/rdbms/admin/catbundle
.sql psu apply
@?
/rdbms/admin/utlrp
.sql |
多库环境操作步骤:
1.获取所有数据库的SID信息
|
1
2
3
4
5
6
7
8
9 |
[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.配置停库脚本
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14 |
#!/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.应用补丁
|
1
2
3
4
5
6
7 |
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.跑升级脚本
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 |
#!/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.重启数据库:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 |
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 |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69978212/viewspace-2707991/ ,如需转载,请注明出处,否则将追究法律责任。