重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2929|回复: 0

[体系架构] 如何才能在15分钟内完成数据库迁移升级

[复制链接]
发表于 2019-4-9 19:30:14 | 显示全部楼层 |阅读模式
使用逻辑备库进行数据库滚动升级
环境:
    当前版本:11.2.0.3
    升级版本:11.2.0.4
   
    主库:prod1
    备库: sbdb1
    数据库数据量:100g
   
目标:
    要求:以最小停库时间(比如15分钟)实现数据库迁移到新机器并同时实现版本升级
    分析:
          逻辑导出导入,15分钟肯定不够,
          rman直接备份恢复,升级时间不够
解决办法:
    通过逻辑备库滚动升级方式实现

423135cac823f0520c.png
   
思路:
    先在新机器搭建一个主库的物理备库,并转化为逻辑备库,停用sql应用,之后,升级逻辑备库,启用sql应用,切换逻辑备库为主库。
   
具体步骤:
    1.在新机器搭建主库的物理备库
      步骤略
    2.转换物理备库为逻辑备库
      --主库创建数据字典
      execute DBMS_LOGSTDBY.BUILD;
      --备库转换为逻辑备库
      ALTER DATABASE RECOVER TO LOGICAL STANDBY sbdb1;
      ALTER DATABASE OPEN RESETLOGS;
      --启动日志应用
      ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;
      
    3.执行滚动升级
      3.1 准备动作
          1.停止日志应用
             ALTER DATABASE STOP LOGICAL STANDBY APPLY ;
          2.设置兼容参数
         
      3.2 在新机器上安装数据库新版本
          安装11.2.0.4
         
      3.3 升级逻辑备库到新版本
          可以通过手工或者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
   前端应用不用修改连接配置   
      
    到此,我们的目标达到。
      
      
               
   
   
   
        


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-4-19 09:18 , Processed in 0.097303 second(s), 24 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表