【作者简介】
本人医疗行业DBA,从业7年,精通oracle底层;会文件、触发器加密的勒索恢复、asm磁盘组不能mount及各种灾难恢复,后面将利用空闲时间将自己工作中遇到的问题及整理的资料分享给更多愿意学习和提升自己的dba。
【环境】
旧服务器:linux,源库11.2.0.4,数据量450g,HIS业务库
新服务器:linux,目标库19.19
【需求】
停机只有30分钟,且在中午进行;
【升级、迁移切换思路】
在升级、迁移过程中我们可选择的方式比较多;
如expdp+impdp
如rman+dbua
如xtts
如ogg
如逻辑dg
但要在30分钟内快速切换就只有几种方式可以解决:xtts、ogg、逻辑dg,本例使用的是逻辑dg方式;
1)目标库安装好19.19安装代码,安装好11.2.0.4安装代码(其他机器tar过来也可以)
2)用11.2.0.4的安装代码搭建第二个备库
2)将第二个备库转换成逻辑dg
3)预升级检查
4)停11.2.0.4监听和库,切换到19.19目录下启动升级模式
5)升级库到19.19
6)将11.2.0.4 tnsnames,pwfile相关文件拷贝到19c安装代码中
7)升级完成后进行一系列调整:统计信息收集、his特定函数增加、响应授权、json、his部件检查、无效对象对比分析等处理(这些都是his脚本)
8)重新开启同步
9)检查同步情况(如果有同步慢的表,可以选择跳过,最后再进行单独处理)
10)正式停机处理
10.1)杀会话,数据库添加白名单,重启监听,只允许指定ip可以登陆服务器
10.2)手工分片导出同步慢的lob表
10.3)统计原库和目标库的数据
10.4)导入lob表
10.5)主、从摘掉dg参数
10.6)19.19执行激活
10.7)连19.19进行业务测试;
10.8)新旧服务器ip互换;
10.9)恢复业务;
【总结】
1、同步慢的表,需要快速的抽出大量的lob数据,需要提前准备好脚本;
2、单纯的运维数据库没有任何价值,更多的是要回归到业务本身来做运维;和HIS相关的脚本结合才能做这些事情;在很多三方厂商去运维一些自己都不清楚的业务库,为了做维护而做维护,用户提出的一些卡慢动不动就去看数据库报告,没有任何意义;
3、在本次迁移过程中遇到一个几十G的LOB表,分片了20,导出+传输+导入耗费了10分钟,不然几分钟就完成了整个切换动作;
总体来讲在使用逻辑dg完成升级、迁移和补丁等操作还是很方便的,可以提前将业务库升级到对应的版本,打完对应的补丁、做一系列的调整,最后改个ip就切换完了,前提是需要大量的配置和准备工作;




