IT 邦德

凡尔赛,不存在!欢迎欣赏客户发我感谢信的迁移案例

数据库升级迁移,是一项涉及面广、复杂繁琐的工作,可以带来很大的收益,但同样面临很多的问题及风险。

以下罗列了一些迁移数据库的经典案例分享给大家

Image

1.19C非容器整合PDB迁移

如何将X86操作系统19.3迁移至Exadata 19.24,并转为PDB呢?

本案例是将一套19.3.0.0的RAC集群异机迁移到19.24.0.0的一体机,采用的升级方式是先通过Dataguard+failover方式将数据库实时复制到异机的新环境Exadata,并在异机的新环境上通过Autoupgrade的方式将NO CDB转换为CDB。

Image
1.recovery standby中断了怎那么办呢?
ecover standby database from service prod_pd;

2.ADG正式切换的时候,进行startup的时候会报,
部分恢复不一致的情况,备库无法open?

通过service name可以同步备库数据,
对于丢失归档、少量差异甚至全库重新初始化都比较方便

alter database recover managed standby database until consistent;

3.如何快速实现转PDB(4.5T耗费时间2H)
$ java -jar autoupgrade.jar -config config.cfg -mode analyze
$ java -jar autoupgrade.jar -config config.cfg -mode deploy

2.HPUNIX 10G迁移到一体机19C

HPUNIX操作系统10.2.0.4迁移至ODA一体机 19.24

本案例是将一套10.2.0.4的RAC集群异机迁移到19.24.0.0的ODA一体机,客户之前存在硬件老化无法更换,业务卡顿的问题,本次迁移也是利用应用改造的期间,停机8个小时,使用数据泵dump的方式进行迁移升级(job、存储过程复杂)

Image
1.低版本客户端的兼容问题?

19C数据库默认不支持11G客户端访问也不支持121客户端访问,
可以通过修改SOLNET.ORA设值相关参数后方可连接,ORA-28040

SOLNET.ALLOWED LOGON VERSION SERVER=8

2.升级19c后,通过dblink连接本地和远程主表上的物化
视图刷新时间较慢,或者无法使用物化视图?

请删除并使用包含的用户名和密码重新创建公共DB链接

3.密码版本兼容问题?
升级后用户密码版本会有变化,导致有些应用无法连接,
PASSWORD VERSIONS记录密码的版本
select dbms_metadata.get_ddl('USER', u.username) AS ddl
from dba_users;重建密码即可

4.JDBC版本兼容问题?
JDBC版本不匹配会导致应用连接报错/不稳定,
需要使用和数据库版本匹配的ojdbc和idk版本

5.WM_CONCAT函数?
12c之后已不支持该函数(行列转换函数,替代函数LISTAGG)

3.HPUNIX 12C迁移至X86小机19C

本案例是将一套HPUNIX操作系统12C的RAC集群异机迁移到19.24.0.0的X86小机上,12C的版本BUG非常多,造成应用的卡顿、频繁DOWN机,数据量20T核心MES,使用XTTS迁移方式进行迁移升级,前后经过6次测试!

Image

如果你的数据量很大,迁移停机教短吗,那么就要选择XTTS了,通过XTTS快捷、高效、平稳、安全的将Oracle数据库“小型机+集中式存储”环境迁移至“X86架构平台+分布式存储”已然成为一大神技!

4.IBM AIX系统11G迁移至X86小机

本案例是将一套IBM AIX操作系统11.2.0.4的RAC集群异机迁移到19.24.0.0的X86小机上,客户只提供20分钟的停机时间,数据量2T,使用OGG迁移方式进行迁移升级!

Image
1.打开Supplemental log注意什么?
如果生产环境中有大量的业务在运行,这条语句一发出,会被锁住,
视业务的低峰期而定,再去执行

2.Trandata的重要性
OGG凭什么来定位数据变更以及追加,就是靠Trandata
trandata schema千万不要在业务期间做,应该add trandata schema.table,为了确保不被遗漏,通过数据字典dba_log_groups确认

3.数据初始化应该注意什么?
避开备份任务,单个表的容量过大,记得开并行
减少传输时间,通过挂共享存储的方式
undo_retention的值大小设定在 >= 导出的时间
需要保障undo tablespace的大小
4.flaskback scn极容易被忽略的?
当前系统是还是正在有长事务发生,你忽略掉这个长事务而直接取
出生产库上当前的flaskback scn,
那么该长事务可能会影响会你后续相关的数据完整性
5.Job、trigger、foreign key?
防止重复地跑一遍而将数据跑乱,全部禁用

5.迁移Oracle到openGauss

从Oracle迁移到openGauss不仅仅是按下一个开关这么简单。这是一个包含一系列步骤的旅程,例如架构转换、数据迁移、应用程序迁移和性能调优。每个阶段都有自己的问题,我需要一个解决方案的工具箱来处理它们。

Image

6.迁移Oracle到PostgreSQL

Image

如何实现了OGG实现Oracle19C到postgreSQL14的迁移呢?我们可以用OGG!

总结

作为一名大型国企的Oracle DBA,我花了数年时间掌握Oracle数据库。随着目前信创产业的发展,部分项目的需求,随时要从一个经验丰富的Oracle DBA转变为国产数据库领域的新人。在经历了这些迁移之后,我觉得有必要分享我在此过程中获得的见解。

最后期待大家来听我的直播,每周5定期的会分享干货,一起交流!

Image