`
sjk2013
  • 浏览: 2184654 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

因为公司9.2.0.6 版本的Oracle Data Guard 环境下有个小bug,所以决定对Oracle 进行升级,从9.2.0.6 升级到9.2.0.8.

因为Data Guard环境的特殊,主库我们可以按照正常的方式进行升级即可,但是备库却会遇到问题。 因为备库我们我们都是启动到mount standby 模式,在升级实例的过程中,需要执行相关脚本, 需要在startup migrate 模式下进行, 但是standby 是无法启动到这种模式的,因为它是备库,它的控制文件是standby control file

Oracle 联机文档上说的升级方法,看了下,有点麻烦,不想这么折腾。

http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/upgrades.htm

后来想了一下,既然主库可以正常升级,那么我们对Data Guard 环境做一个switchover,升级完主库后,主备switchover 一下,备库变成主库,此时备库就可以正常升级了,升级之后在做switchover.

google 上搜了一下,也有人这么做。

完整的步骤如下:

1. 冷备份数据库,把整个Oracle 目录都copy一份。

2. 运行升级程序,将数据库软件升级到对应版本

3. 运行相关脚本,把实例的组件升级到对应版本

4. 执行SQL检查组件是否成功,状态是否有效: select * from dba_regitstry;

5. 在主库手动切换下redo log,看Data Guard 是否正常同步。同步就继续下一步。

6. 主备库进行switchover

7. 升级主库(原备库)数据库软件

8. 运行脚本,升级实例的组件

9. 执行SQL检查组件是否成功,状态是否有效: select * from dba_regitstry;

10. 验证Data Guard 主备同步

11. 将主备库再次进行switchover,还原到升级之前的模式。

Data Guard 环境下的升级过程就是如上11步。 这里这是个大概说明,详细方法参考:

Oracle Data Guard Switchover 切换

http://blog.csdn.net/tianlesoftware/archive/2010/07/27/5768602.aspx

Oracle 9i 9.2.0.1升级到 9.2.0.6 步骤

http://blog.csdn.net/tianlesoftware/archive/2009/11/21/4843836.aspx

Oracle 10g的库玩得比较多,这次升级9i,遇到了几个小问题,搞的最后,差点时间不够用。 有点小杯具。 通过这次升级,也感觉到Oracle 9i 10g的一些区别。 最简单的,就是两个命令: startup migrate9i Startup upgrade(10g). 不留心还真容易搞错。

在做的过程中,突然有了一个想法,因为要做switchover切换, 就想直接将备库切换成主库,主库不切换,这样就可以少做一步,待备库升级完,在切换主库。 后来的测试证明,此方法行不通。

正常情况下的swithover 是先将主库切换成备库,在将备库切换成主库。 如果我们不按照这个步骤来执行,在执行: Alter database commit to switchover to primary with session shutdown 的时候,这个动作就卡住了。 停止不动。 不会返回结果。 所以如果有人遇到这种情况,不妨检查一下主库的状态。

个人的理解,Oracle Data Guard 之间还是有一些内部通信的,只有将主库切换成备库后,主库将这些信息传给了备库,备库才可以切换成主库。

小结:

1. Oracle 做一些变跟比较大的操作时,备份永远是第一位。 还有,就是如果不是十足的把握,就给自己多预留点时间。比如正常情况下,1个小时能搞定,那么就要申请2个小时的时间。 给自己多留点余地。不然如果出现意外,就没有时间来处理,到时会搞的自己很被动。

2. Oracle 打了这个补丁,可能会触发其他的bug 所以啊,不是迫不得已,也不要途新鲜,去打补丁了。 对于生产环境,稳定第一。

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

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表空间和数据文件的关系,否则拒绝申请

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics