• Oralce 9.2.0.6 到 9.2.0.8 升级 小结


     

    13号,晚上加班,将2台数据库从9.2.0.6 升级到9.2.0.8. 因为之前有个小bug9.2.0.6 DataGuard中会经常不能识别备库的监听,造成Data Guard不能同步。

     

    Oracle 的升级包,path什么的,需要从metalink上下载,这个是Oralce的收费帐号,只有买了Oralcle的产品才有。 Oracle 的升级包里有readme.html文件,该文件里有升级的执行步骤,对于单实例,照上面的步骤操作就可以了。 这次升级是一个Data Guard 环境,所以要多几步操作。 关于Data Guard 环境下的Data Guard 升级,参考Blog

          Oracle Data Guard 环境下的数据库升级方法

         http://blog.csdn.net/tianlesoftware/archive/2010/10/13/5938582.aspx

     

     

    数据库是windows 2003 平台。 开始运行setup程序的时候,报了一个错误,虽然 oui窗口显示的中文是正常的,但是报错的窗口显示的却是乱码。

     

    在执行程序之前,已经把所有的Oracle 服务都停掉了。 所以有点奇怪,后来又检查了一遍服务,还是没有问题。 想折腾出oui 界面乱码的问题,好看下报什么错,google 一下,说是JDK 的问题。 不想现在去解决这个问题,因为今天的任务是升级数据库,不想节外生枝。也是避免问题扩大化。  

     

    最终的找到的原因是因为一个sqlplus 窗口没有关闭,杯具。 所以,在升级的时候,切记把所有的服务和窗口都关闭。

     

     

    这个错误之后,安装时又报了一个错误:

                 orapls9.dll(另一个程序正在使用此文件,进程无法访问)

     

    显示的界面还是乱码,因为不能确定问题,所以终止了安装,google 了一下。 有两种方法可以解决这个问题:

    1)找到使用该连接的进程,然后kill掉。

    找进程可以用命令:tasklist /m orapls9.dll
    杀进程可以用命令:orakill或者taskkill

           2 orapls9.dll会被Distributed Transaction Coordinator服务调用到,停掉这个服务后就可以继续安装了。

     

     

        经过上面的折腾,数据库已经升级完成了。不过实例的相关组件还没有升级,需要执行2个脚本:@?/rdbms/admin/catpatch.sql @ ?/rdbms/admin/utlrp.sql  . catapatch.sql用来升级实例的相关组件,utlrp.sql 用来编译无效对象。

     

        在这个执行这个脚本的时候,遇到了Oracle 的一个bug,还是9.2 的所有版本都有,到10g才修复。 关于这个bug 的处理过程,参考blog

     

        Oracle 9i 升级中的bug-- Sys.Cdc_alter_ctable_before ORA-04020 deadlock detected while trying to lock object

    http://blog.csdn.net/tianlesoftware/archive/2010/10/13/5937398.aspx

     

     

    把这个bug 搞定了,脚本也就执行完了,不过后来查看了一下组件的状态,有几个无效的,就又重新执行了一个catapatch.sql 脚本,最后还有一个组件, OLAP Catalog是无效的。最后从metalink上找到了解决方法。 具体参考Blog

        Oracle 9i 升级后 OLAP Catalog 组件 Invalid

    http://blog.csdn.net/tianlesoftware/archive/2010/10/13/5937372.aspx

     

        顺便也看了一下Oracle 组件的内容,参考Blog

        Oracle components and schema

          http://blog.csdn.net/tianlesoftware/archive/2010/10/13/5937382.aspx

     

     

    上面工作结束了,单实例的升级也就ok了。 不过这个是Data Guard,所以又折腾了很长时间,去升级另一个数据库,步骤都差不多。 搞到最后时间都差点不够用。 小杯具.

     

     

     

    小结:

        DBA,需要胆大心细,沉着稳重!还有,记得备份!

     

     

     

     

    ------------------------------------------------------------------------------

    Blog http://blog.csdn.net/tianlesoftware

    网上资源: http://tianlesoftware.download.csdn.net

    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

    DBA1 群:62697716(); DBA2 群:62697977()

    DBA3 群:62697850   DBA 超级群:63306533;    

    聊天 群:40132017

    --加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

    道森Oracle,国内最早、最大的网络语音培训机构,我们提供专业、优质的Oracle技术培训和服务! 我们的官方网站:http://www.daosenoracle.com 官方淘宝店:http://daosenpx.taobao.com/
  • 相关阅读:
    Java中break和continue跳出指定循环
    Linux命令对应英文全称
    linux 使用 rz 和 sz 命令
    linux tail命令的使用方法详解
    Linux常用命令大全(非常全!!!)
    正则 函数
    行级锁 java||数据库
    mysql插入操作跳过(ignore)、覆盖(replace into)、更新(on duplicate key)
    MYSQL 常用【函数】大全
    MySQL中INFORMATION_SCHEMA
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3609954.html
Copyright © 2020-2023  润新知