如何实现业务零宕机情况下完成Oracle 11g数据库升级到19C

文章探讨了在业务不停机或短停机情况下升级Oracle数据库和操作系统的复杂性,提出使用逻辑备库进行滚动升级的方法,详细描述了从11g到19c的升级过程,包括搭建物理备库、逻辑转换、升级步骤和业务切换等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库升级最头大的,就是业务不能停机,或者只能停很短的时间,否则,不能让你升级,这个对于跨大版本升级,而且还想数据库升级的同时,还想把操作系统也一起升级,不停机,或者很多时间停机,尤其比较麻烦。升级完成后,还要去检查数据的准确性,这个不同的技术,检查的难度也不一样。

针对这种升级数据库和操作系统的场景,目前可有的方式如下:

1.EXPDP/IMPDP

2.XTTS

3.OGG

4.逻辑备库

5.其他同步软件

但要实现不停机,或短时间停机,比如10分钟,EXPDP/IMPDP方式是不行的,使用XTTS数据是否准确的确认,也比较麻烦,如果使用OGG,整个过程比较长,最终可以实现零宕机,但实现难度比较高。

在实际的工作种,我们发现,可以直接使用逻辑备库的方式来实现跨版本的升级,还是一个不错的方案。

下面就使用逻辑备库完成ORACLE 11g升级到19c,同时完成操作系统升级的过程进行说明:

1. 环境:
    当前版本:11.2.0.4 + LINUX 6.8
    升级版本:19.20.0 + LINUX 8.8
    
    数据量:600g
    
2.目标:
    要求:以最小停库时间(比如15分钟)实现数据库迁移到新机器并同时实现版本升级
    
3.解决办法:
    通过逻辑备库滚动升级方式实现
    
4.思路:
    先在新机器搭建一个主库的物理备库,并转化为逻辑备库,停用sql应用,之后,升级逻辑备库,启用sql应用,切换逻辑备库为主库。之后,原来机器升级操作系统及数据库,并作为新主库的备库,最后再切换回来
    
5.具体步骤:
    1.在新机器搭建主库的物理备库
      步骤略
    2.转换物理备库为逻辑备库
      --主库创建数据字典
      execute DBMS_LOGSTDBY.BUILD;
      --备库转换为逻辑备库
      ALTER DATABASE RECOVER TO LOGICAL STANDBY lgdb;
      ALTER DATABASE OPEN RESETLOGS;
      --启动日志应用
      ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;
      
    3.逻辑备库执行滚动升级
      3.1 准备动作
          1.停止日志应用
             ALTER DATABASE STOP LOGICAL STANDBY APPLY ;
          2.设置兼容参数
          
      3.2 在新机器上安装数据库新版本
          安装19.20.0
          
      3.3 升级逻辑备库到新版本19.20.0
          可以通过手工或者dbca完成,此处过程略
      
      3.4 重启日志应用
          ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;
          
    4.主动切换到逻辑备库  (这里业务需要停止几分钟,看你的操作速度)
      4.1 查看有日志未应用完的情况,并解决
    SELECT EVENT_TIMESTAMP, EVENT, STATUS 
      FROM DBA_LOGSTDBY_EVENTS
     ORDER BY EVENT_TIMESTAMP;
     
      4.2 switchover 到逻辑备库
      1.主库:
      ALTER DATABASE COMMIT TO SWITCHOVER TO LOGICAL STANDBY;

      2.处理升级过程中主库新建立的备库不支持的表
      
      3.逻辑备库变为主库 
      ALTER DATABASE COMMIT TO SWITCHOVER TO LOGICAL PRIMARY;
      
    5.修改IP为以前主库的ip  (这里业务需要停止几分钟,看你的操作速度)
       前端应用不用修改连接配置    
    6.以前机器重装操作系统到LINUX 8.8,并安装ORACLE 19.20软件

         7.重新同步新机器的数据到新安装的老机器上。

         8.同步完成后,切换数据库到老机器即可。  (业务需要停的时间,看你手工熟练程度,一般10分钟内是可以完成)

    到此,我们的目标达到。
      
      
                
    
    
    
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值