暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

Linux Oracle 11.2.0.4 单节点数据库升级至11.2.0.4.190416 安装指北

JiekeXu之路 2019-07-06
4930

前   言


4 月中旬, Oracle 官方发布了季度补丁程序包,我们生产环境的众多数据库能打补丁的都打上了补丁,不重要的数据库也不能打补丁则关停了一段时间,上个月也可真是风风火火的一个月,感觉天天都在打补丁,事后也写了篇 Oracle 11GR2 RAC 最新补丁指导,感兴趣的可以点此查看。这两日有部分小伙伴说对于单节点的数据库该怎么操作,碰巧今晚又有两台单节点的数据库需要打补丁,那么难得有时间就写一下吧,方便以后学习。

 

补丁准备

 

    Linux 平台下 2019 年 4 月发布的补丁包
    p6880880_112000_Linux-x86-64.zip
    p29255947_112040_Linux-x86-64.zip

     

    Oracle 官方发布的 Linux 11.2.0.4 的补丁,如上所示,可去官网下载,这里选择补丁号和平台即可,若没有 Oracle MOS 账号,我这里已经下载好了,只需要在此公众号【JiekeXu之路】后台回复【RAC补丁】即可,此补丁和 RAC 使用的是同一个补丁。也可到如下地址去下载:

    https://support.oracle.com/epmos/faces/PatchSearchResults?_afrLoop=27957295908138&_afrWindowMode=0&_adf.ctrl-state=11h190dceq_4

     

                            

    下载完补丁后,最主要的是看一看里面的 README.html, 这里面有方法步骤英文不错的同学可直接看文档不用看下文了。


    正   文


    废话不多说,直接按下面步骤操作即可。


    0.备份

     

    如果目录比较大,满足条件,可以做个全备,这个很有必要,因为升级中出现的问题不可控,有备份就好说了,实在没条件的话, cp 整个 ORACLE_HOME 即可。

     

    1.升级环境检查


    $ORACLE_BASE 目录至少存在5G的升级空间,然后检查数据库版本,不能跨大版本。

     

                       

      su - oracle
      opatch lsinventory

         注意:如果opatch 命令不可用,需要配置环境变量或者进入到 $ORACLE_HOME/OPatch 下
        exportPATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

         


        2.上传补丁包至 u01/app/-----------这里这个目录为oracle权限


        OPatch 补丁包:p6880880_112000_Linux-x86-64.zip

        数据库 PSU 补丁包:p29255947_112040_Linux-x86-64.zip

         

        3.oracle用户解压缩


        unzip p21523375_112040_AIX64-5L.zip   (必须用unzip解压!!!!!)

        unzip p6880880_112000_AIX64-5L.zip    (解压完了生成OPatch文件夹)

        注意;这里写的是 AIX 下的补丁包,正常情况下是下图的补丁包。

         


        4. oracle用户停止监听, 停止数据库


        注意,如果有两个实例,需要设置环境变量,分别停库:停另外一个实例

        ps  -ef |grep smon

        export ORACLE_SID=test2

         

        如果有连接,需要杀掉连接,使用如下命令:

          ps -ef | grep LOCAL=NO | grep -v grep |awk'{print $2}' | xargs kill -9
          停止监听
          lsnrctl stop
          停止数据库
          sqlplus as sysdba
          shutdown immediate

           


          5.升级opatch


            [oracle@JiekeXu dbhome_1]$cd $ORACLE_HOME
            [oracle@JiekeXu dbhome_1]$mv OPatch OPatch_bak190705
            [oracle@JiekeXu dbhome_1]$ mv/u01/app/OPatch/ ./

             

            检查版本

              [oracle@JiekeXu dbhome_1]$ opatch version
              -bash: opatch: command not found
              [oracle@JiekeXu dbhome_1]$ cd OPatch
              [oracle@JiekeXu OPatch]$
              [oracle@JiekeXu OPatch]$ ./opatch version
              OPatch Version: 11.2.0.3.21

              OPatch succeeded.
              [oracle@JiekeXu OPatch]$

               

              6.升级补丁包p29255947_112040_Linux-x86-64.zip


                cd u01/app/29255947/29141056
                opatch apply
                如果没法使用此命令,设置下环境变量在执行
                exportPATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
                opatch apply

                 

                首先输入 y, 不需要输入邮箱直接回车,接着输入 Y 然后输入 y 如下图所示。

                 

                 


                             ----------------warring 可以忽略,不报failed 就可以了

                 

                7.检查数据库版本


                  [oracle@JiekeXu bin]$ opatch lsinventory |grep Sub-patch
                  Sub-patch 28729262; "Database Patch Set Update : 11.2.0.4.190115(28729262)"
                  Sub-patch 28204707; "Database Patch Set Update : 11.2.0.4.181016(28204707)"
                  Sub-patch 27734982; "Database Patch Set Update : 11.2.0.4.180717(27734982)"
                  Sub-patch 27338049; "Database Patch Set Update : 11.2.0.4.180417(27338049)"
                  Sub-patch 26925576; "Database Patch Set Update : 11.2.0.4.180116(26925576)"
                  Sub-patch 26392168; "Database Patch Set Update : 11.2.0.4.171017(26392168)"
                  Sub-patch 26609445; "Database Patch Set Update : 11.2.0.4.170814(26609445)"
                  Sub-patch 25869727; "Database Patch Set Update : 11.2.0.4.170718(25869727)"
                  Sub-patch 24732075; "Database Patch Set Update : 11.2.0.4.170418(24732075)"
                  Sub-patch 24006111; "Database Patch Set Update : 11.2.0.4.161018(24006111)"
                  Sub-patch 23054359; "Database Patch Set Update : 11.2.0.4.160719(23054359)"
                  Sub-patch 22502456; "Database Patch Set Update : 11.2.0.4.160419(22502456)"
                  Sub-patch 21948347; "Database Patch Set Update : 11.2.0.4.160119(21948347)"
                  Sub-patch 21352635; "Database Patch Set Update : 11.2.0.4.8 (21352635)"
                  Sub-patch 20760982; "Database Patch Set Update : 11.2.0.4.7 (20760982)"
                  Sub-patch 20299013; "Database Patch Set Update : 11.2.0.4.6 (20299013)"
                  Sub-patch 19769489; "Database Patch Set Update : 11.2.0.4.5 (19769489)"
                  Sub-patch 19121551; "Database Patch Set Update : 11.2.0.4.4 (19121551)"
                  Sub-patch 18522509; "Database Patch Set Update : 11.2.0.4.3 (18522509)"
                  Sub-patch 18031668; "Database Patch Set Update : 11.2.0.4.2 (18031668)"
                  Sub-patch 17478514; "Database Patch Set Update : 11.2.0.4.1 (17478514)"

                   

                  8.数据库启动,执行升级脚本(如存在多个实例,每个实例都需要执行)

                   

                  具体意义可看 README.html,这里就不解释了,也懒得说了。

                    $cd $ORACLE_HOME/rdbms/admin
                    $sqlplus as sysdba
                    SQL >startup;
                    SQL >@catbundle.sql psu apply
                    SQL >@utlrp.sql

                     

                      SQL > @dbmsjdev.sql
                      SQL > exec dbms_java_dev.disable
                      $ rman catalog username/password@alias
                      RMAN> UPGRADE CATALOG;

                       

                      执行这几个脚本,可去看 README.html,这里多次提起,说明他还是很重要的哦!

                       

                      9.验证

                       

                        SYS@PROD>col ACTION_TIME for a35
                        SYS@PROD>col COMMENTS for a45
                        SYS@PROD>select ACTION_TIME,COMMENTSfrom registry$history;
                        ACTION_TIME COMMENTS
                        ------------------------------------------------------------
                        24-AUG-13 12.03.45.119862 PM Patchset 11.2.0.2.0
                        19-JAN-16 12.10.26.734097 AM Patchset 11.2.0.2.0
                        26-JAN-19 10.45.57.188831 AM PSU 11.2.0.4.180116 ------升级前数据库版本
                        26-JAN-19 11.52.32.664077 AM PSU 11.2.0.4.19041611.2.0.4.190416 ---升级后的数据库版本

                         


                        10.启动监听


                          lsnrctl start

                           

                          11.oracle 数据库注册到监听


                            SQL> alter  system register;

                             

                            12.验证监听状态


                              lsnrctl status

                               


                              好了,按照这个步骤执行是没有问题的,基本上踩得坑已经说明了,切记目录、版本要满足要求,要是需要回退的话可以去看官方文档或者阅读 README.html。这里不做说明,感兴趣的朋友可自行阅读,若没有 MOS 账号的话,是无法登陆下载补丁的,那么也不用担心,我这里已经下载好了,公众号【JiekeXu之路】后台回复【RAC补丁】即可获得补丁包。各位小伙伴们,晚安哦!

                               


                              推荐阅读:


                              万字详解Oracle架构、原理、进程,学会世间再无复杂架构

                              模拟真实环境下超简单超详细的 MySQL 5.7 安装

                              Oracle 11GR2 RAC 最新补丁 190416 安装指导

                              Oracle 11gR2 RAC 集群服务启动与关闭总结

                              Windows 环境下 Oracle11gR2 安装与卸载

                              史上最全的 OGG 基础知识整理

                               

                              资源分享:


                              5T 技术资源大放送!包括但不限于:Linux,Python,Oracle,MySQL,Java,前端,大数据,具体获取方式可关注本公众号或者添加我微信获取~~~


                              长按添加微信公众号,更多精彩内容不错过!

                              码字不易,点赞、转发是一种对作者的鼓励! 

                              最后修改时间:2020-03-24 17:11:43
                              文章转载自JiekeXu之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                              评论