Oracle - 数据库打补丁实践
原文:https://www.cnblogs.com/ddzj01/p/12097467.html一、概述
本文将先容怎样给oracle数据库打最新补丁,数据库版本为11.2.0.4单实例,操作体系为redhat6.5
二、下载相关升级包
1. 登录MOS,查阅(ID 2118136.2),下载最新补丁包
https://img-blog.csdnimg.cn/direct/9da479138aa84aa5af47663fb07f543c.png
PSU (Patch Set Update),数据库补丁
2. 搜索"Patch 6880880",下载最新opatch
https://img-blog.csdnimg.cn/direct/f2165f4030c2419dafaceca08e6c1619.png
opatch是安装补丁的程序,数据库软件安装完成后,就自带了opatch,但是版本太旧了,所以这里下载最新的opatch
至此已下载两个文件
p6880880_112000_Linux-x86-64.zip:opatch升级包
p29913194_112040_Linux-x86-64.zip:数据库补丁
三、升级opatch
opatch的升级比较简单,就是个文件覆盖
3. 查看原始opatch信息
3.1.查看版本信息
$ cd $ORACLE_HOME/OPatch
$ ./opatch version# 查看版本信息
OPatch Version: 11.2.0.3.4
OPatch succeeded. 3.2.查看打补丁的情况
$ ./opatch lsinventory# 查看打补丁的情况
Oracle Interim Patch Installer version 11.2.0.3.4
Copyright (c) 2012, Oracle Corporation.All rights reserved.
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.4
OUI version : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2019-12-25_14-26-47PM_1.log
Lsinventory Output file location : /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory2019-12-25_14-26-47PM.txt
--------------------------------------------------------------------------------
Installed Top-level Products (1):
Oracle Database 11g 11.2.0.4.0
There are 1 products installed in this Oracle Home.
There are no Interim patches installed in this Oracle Home.
--------------------------------------------------------------------------------
OPatch succeeded. 4. 备份原opatch
$ cd $ORACLE_HOME
$ mv OPatch OPatch.bak 5. 解压新下载的opatch包
将下载的opatch包上传到oracle的家目录
$ cd ~
$ sz
$ ls p6880880_112000_Linux-x86-64.zip
p6880880_112000_Linux-x86-64.zip
# 文件上传成功 解压新下载的opatch包
$ cd ~
$ unzip p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME
6. 再来查看opatch信息
$ cd $ORACLE_HOME/OPatch
$ ./opatch version # 查看版本信息
OPatch Version: 11.2.0.3.21
OPatch succeeded. 至此 opatch 升级完毕
四、打数据库补丁
7. 关闭em、监听、数据库
$ emctl stop dbconsole# 如果没有开启em,这步可以跳过
$ lsnrctl stop
$ sqlplus / as sysdba
SQL> shutdown immediate
SQL> exit 8. 解压新下载的补丁包
将下载的补丁包上传到oracle的家目录
$ cd ~
$ ls p29913194_112040_Linux-x86-64.zip
p29913194_112040_Linux-x86-64.zip
$ unzip p29913194_112040_Linux-x86-64.zip 9. 校验该补丁包是否与之前的补丁有冲突
$ cd 29913194
$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
Oracle Interim Patch Installer version 11.2.0.3.21
Copyright (c) 2019, 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.21
OUI version : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2019-12-25_14-46-26PM_1.log
Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail" passed.
OPatch succeeded. 由于这个测试库之前并没有打什么补丁,所以这里就不可能有补丁冲突的问题,如果这里显示有冲突,再去mos上查找相关办理方案。
10. 正式升级
$ $ORACLE_HOME/OPatch/opatch apply https://img-blog.csdnimg.cn/direct/622e171c8c1b4546a8262dcea030842d.png
这里要输入3次y和一次回车,这个是时间耗时比较久的,耐心等候
https://img-blog.csdnimg.cn/direct/db78e9fcca8f4bb88ba69f61c0619b04.png
升级完成后报上面的错误,通过查阅mos(ID 2265726.1),可知这个错误可以被忽略
11. 再次查看打补丁的情况
$ $ORACLE_HOME/OPatch/opatch lsinventory# 查看打补丁的情况
内容较多,略 12. 启动数据库,并运行sql文件
$ cd $ORACLE_HOME/rdbms/admin
$ sqlplus / as sysdba
SQL> startup
SQL> @catbundle.sql psu apply
SQL> quit 13. 启动监听、em
$ lsnrctl start
$ emctl start dbconsole# 如果没有开启em,这步可以跳过 至此数据库打补丁已全部完成!
五、回退数据库补丁
数据库在做变动时,当然要考虑回退方案了,接下来先容怎样回退数据库补丁
14. 关闭em、监听、数据库
$ emctl stop dbconsole# 如果没有开启em,这步可以跳过
$ lsnrctl stop
$ sqlplus / as sysdba
SQL> shutdown immediate
SQL> exit 15. 回退补丁
$ $ORACLE_HOME/OPatch/opatch rollback -id 29913194 https://img-blog.csdnimg.cn/direct/4700f91ba4494a40826e25ea1bab4fe4.png
这里要输入一次y,时间比较久,耐心等候
https://img-blog.csdnimg.cn/direct/a4eeb6a4bc4e4f808a4148d1a549a27e.png
这里提示warning,查阅mos(ID 1448337.1),得知可以忽略
16. 启动数据库,并运行sql文件
$ cd $ORACLE_HOME/OPatch
$ ./opatch lsinventory# 查看打补丁的情况
OPatch Version: 11.2.0.3.21
OPatch succeeded.
$ ./opatch lsinv
Oracle Interim Patch Installer version 11.2.0.3.21
Copyright (c) 2019, Oracle Corporation.All rights reserved.
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.21
OUI version : 11.2.0.4.0
Log file location : /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/opatch2019-12-25_16-15-41PM_1.log
Lsinventory Output file location : /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory2019-12-25_16-15-41PM.txt
--------------------------------------------------------------------------------
Local Machine Information::
Hostname: orasingle
ARU platform id: 226
ARU platform description:: Linux x86-64
Installed Top-level Products (1):
Oracle Database 11g 11.2.0.4.0
There are 1 products installed in this Oracle Home.
There are no Interim patches installed in this Oracle Home.
--------------------------------------------------------------------------------
OPatch succeeded. 可以看到补丁都被卸载了
18. 启动监听 和 EM
$ lsnrctl start
$ emctl start dbconsole# 如果没有开启em,这步可以跳过
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]