真实案例:有BLOB的表数据从测试库导入到正式库如何操作
公司开发人员提这样一问题,
测试环境有一张含有BLOB字段的A表。里面有20条数据。
正式环境A表有100条数据。
现在想把测试环境A表里的数据增量的导入到正式环境。怎么弄?
?
环境说明一下,
测试环境和正式环境都是oracle 10g for linux。
?
分析一下,
这个问题本质在于有BLOB字段。
?
(miki西游 @mikixiyou 文档 ,链接: http://mikixiyou.iteye.com/blog/1560950
)
?
解决方法,
我列了这样一个解决步骤,
1、将测试库A表,CTAS一下成一张新表,如B表。
2、将B表用exp导出,或者expdp导出。
3、将导出的文件数据导入到正式库上。
4、在正式库上,你就会看到B表数据了,是不,100条的那个。
5、在正式库上,将B表数据插入到A表上,这里插入有啥条件判断的,自己根据逻辑去处理一下。
其实这个步骤还是烦了点。得知测试库和正式库的A表数据是不重复的,那么连A表CTAS成B表的操作都不要做了。
在imp时加一个ignore=y或impdp时加CONTENT=DATA_ONLY。
还有一点,切记。在正式库操作之前,备份一下A表。
一直觉得,开发人员学习一下expdp/impdp知识会有帮助,求人不予求己。
你觉得我说的对吗?
您可以参考下列文档:
Oracle 10g expdp
/impdp在项目中实践总结
expdp
和impdp在有条件时导出入数据
这是两份关于expdp和impdp使用总结。
?