如何保障业务0暂停下,从11gR2 MAA升级到12c?(有彩蛋)

 

手把手教你使用前台业务0暂停的方式,从11gR2 MAA升级到12c MAA。...





本文根据DBAplus社群第79期线上分享整理而成,文末还有书送哦~

讲师介绍

唐波
中科院高级工程师
资深EBS套件DBA


  • DBAplus社群联合发起人,Oracle 10g/11g OCM、RHCI,中国东南甲骨文用户组secoug主席,ACOUG&SHOUG核心成员。
  • 中科院最佳技术顾问、知名WDP讲师,福建省第一批Oracle ERP实施顾问。


大家好,我是来自中科院的唐波,今天我将跟大家分享如何使用保障前台业务0暂停的方式,从Oracle 11gR2 MAA升级到Oracle12c MAA。

本次分享将包括以下4个方面:

1.  环境概览

2.  通过两次Dataguard切换,升级所有GI

3.  通过Transient Logical Standby转换,升级所有DB

4.总结
一、环境概览
1、升级前环境概览

将要升级一套11.2.0.4的MAA系统到12.1.0.2。系统是x8664架构,MAA架构中 station11和station12运行两节点RAC主库,station13和station14运行Data Guard物理备库。

station11:


1-1-station11.png
Station12:


1-1-station12.png
Station13:


1-1-station13.png
station14:


1-1-station14.png










下面将要使用Oracle Grid Infrastructure Configuration Utility在以上两套网格基础架构的各个节点上进行升级。为了尽量不影响主库,我们先升级备库两个节点(升级之前这两个节点,可能要通过添加共享磁盘扩大+DATA和+FRA盘组的大小,保证 +DATA可用空间不小于8G)。station11、station12、station13和station14都以grid用户预先采用“software-only installation”选项在/u01/app/12.1.0/grid目录下安装了12.1.0.2.0版本的Grid Infrastructure软件。


1-2-station13.png


2-1-station13.png


2-2-station13.png
在station11的/u01/app/oraInventory/logs目录下面看日志,在我的环境中执行了46分钟:

2-3-station13.png
2-4-station13.png 


2-5-station13.png


2-6-station13.png


2-7-station13.png


2-8-station13.png
在station11的/u01/app/oraInventory/logs目录下面看日志,在我的环境中执行了46分钟:


























2-10-station13.png
2、 备库升级后环境概览



二、通过两次Dataguard切换,升级所有GI
1、主库Dataguard切换



并且确保备库接收日志没有延迟,应用日志也没有延迟。







确保新备库接收日志没有延迟,应用日志也没有延迟。



下面将要使用Oracle Grid Infrastructure Configuration Utility在station11上升级网格基础架构。


3-1-station11.png


3-2-station11.png


3-3-station11.png


3-4-station11.png


3-5-station11.png


3-6-station11.png


3-7-station11.png


3-8-station11.png


3-9-station11.png
如果进度条在44%时报错,点“retry”就是。


































3-10-station11.png
2、原主库(新备库)升级后环境概览

3、主库Dataguard切换,原主库(新备库)重新成为主库



并且确保备库接收日志没有延迟,应用日志也没有延迟。







确保新备库接收日志没有延迟,应用日志也没有延迟。



到此四台主机上的GI都成功升级完成,请把station11和station13上/home/grid/.bash_profile文件以grid用户都改成:



改后都要以grid用户使其生效:



请把station12和station14上/home/grid/.bash_profile文件以grid用户都改成:



改后都要以grid用户使其生效:

三、通过Transient Logical Standby转换,升级所有DB
1My Oracle Support Bulletin 949322.1综述

到此,我们已经升级了所有的GI。下一步我们要准备升级MAA中的两个数据库,并且要在升级过程中使用Rolling Patch技术以期达到对前台业务的0影响。我们注意到早在2015年2月5日已经发布的My Oracle Support Bulletin 949322.1专注于在Linux/UNIX上实现这一工作并提供一个叫做“physru.sh”的Bash Shell脚本来具体实施。但是949322.1标注的适用范围是11.1.0.6(含RAC)到11.2.0.4(含RAC)。

于是需要仔细评估一下这个由大量SQL操作和验证语句写成的“physru.sh”脚本在我们这套MAA数据库从11.2.0.4升级到12.1.0.2的场景里的适用性,最后需要进行严格实验测试。

My Oracle Support Bulletin 949322.1中提到的 “Transient Logical Standby” 应该指的是为了执行升级目的而临时由物理Standby数据库转换成的逻辑Standby数据库;通过在转换前设定保障闪回还原点可以在升级后再转换回物理Standby架构。 “Transient Logical Standby”的概念最早出现在11.1,见

运维改革探索(一):用多层级监控实现可视化运维

从摆脱Data Guard手工搭建及维护的烦恼说起

一次耐人寻味的SQL优化:除了SQL改写,还要考虑什么?

分布式消息系统高危漏洞攻防术

如何快速扩展MySQL数据量?

◆  专家专栏  ◆  

杨志洪丨杨建荣丨陈能技丨丁俊丨卢钧轶丨李海翔

魏兴华丨邹德裕丨周正中丨高强丨白鳝丨卢飞丨王佩◆  近期活动  ◆  

Gdevops全球敏捷运维峰会上海站



峰会官网:www.gdevops.com



    关注 DBAplus社群


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册