开发需要比对生产与测试对象结构差异,将生产环境对象结构同步至测试环境,同时保留测试环境数据。包括表、视图、存储过程等约两千个,人工比对肯定不现实,搜了一下原来plsqldev就有这个功能。
一、 对比对象结构差异
左下方选择目标会话,例如源会话是A用户,目标会话是B用户,对比后会生成将B中对象改为和A中一样的sql,不要填反。
为避免对比影响生产环境,这里将生产环境对象结构dump到测试环境tmp用户,用测试环境的业务用户和tmp用户来比较。
selection中可以选择要对比的对象,如果不选默认会对比全部。
设置选项,第一项是指创建语句中还要包含表空间之类的存储配置,一般没这个必要。
点击右下角compare开始比较即可。
经观察对比约两千对象对性能基本没有什么影响,但是对比速度很慢,十分钟过去进度条才这么一丢丢。
对比结果可以在differences部分看到,右侧工具可以选择保存sql、复制sql、在目标库应用sql、查看差异。
二、 对比表数据差异
跟对象结构对比基本类似,selection中可以选择要对比的对象,如果不选默认会对比全部。
左下方选择目标会话
设置选项,可以选生成脚本,也可以选直接执行
点击右下角compare开始比较即可。
对比结果可以在differences部分看到,右侧工具可以选择保存sql、复制sql、在目标库应用sql。
参考
https://blog.csdn.net/wengtf/article/details/48439189
http://www.51testing.com/html/35/15073535-3718989.html