迁移2T BLOB 数据的挑战
把10g数据库中2T BLOB 数据迁移到另一套11g rac数据库上
源环境 oracle 10g 单机 32C/32G linux5.5 文件系统
目标环境 oracle 11g RAC 4C/62G AIX6.1 ASM
源环境在虚拟机上,目标环境的主机有16核
实际数据有3T,blob数据占2T,集中在一个图片表中,并且在一个表空间中,这个表空间有142个数据文件。
迁移要求:
停机时间不能超过1周,优先保障系统及时可用,图片数据可以延后几天补齐。
因此整体
方案为:
搭建rac环境,停止业务,迁移基础数据,启动业务指向新库,补齐图片数据
迁移方法的选型考虑到环境特殊性(跨平台、跨版本、跨字节序),最后选择逻辑导入导出方式。
用最笨的方法:依据rowid中的相对文件号逐个exp,然后scp到目标机,然后imp
par文件例子:
userid=user1/user1
file=/exp/image/img12.dmp
log=/exp/image/img12exp.log
tables=图片表
query="where rowid like 'AAAKdhAFN%'"
INDEXES=n
STATISTICS=none
小技巧:最好导出前将表名改一下,方便后期合并
导入的例子:
imp
user1/user1 file=img12.dmp log=img12imp.log fromuser=xt touser=fp ignore=y
阅读(2469) | 评论(0) | 转发(0) |