大批量数据导出导入的一些经验总结

本文总结了在进行大批量数据导出导入时的经验,包括确定导出要求、规划表空间、选择合适方案以及后续处理。通过特定工具和技巧,如expdp、impdp、databse link等,有效地处理了大表的导出导入问题,确保数据一致性,并优化了操作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      在2月份,主要做了几次大批量数据的导出导入,总结了一些经验教训,这里记录一下。


1.  一定要确定要求。

     有些导数要求所有导出的数据最后都在同一个时间点,这个时候,如果主库有dataguard, 我们可以先让dataguard停止应用归档,然后从dataguard进行导出; 如果没有,我们可以先将数据rman恢复到一个中间应急环境,然后将应急环境启动到read only状态,然后从这个应急环境进行导出。 也许我们还有其他的想法,如ogg,dsg等第三方工具,这些工具总会有一些时间差,导出的数据最后在同一个时间点这个不容易做到;而且,这些工具配置也比较麻烦,而且收费。


2.  确定好批次和目标库的表空间大小

     由于数据量比较大,想一下子搞定是不可能的,我们必须在主库查询出各个表的大小,然后分批次导出,尽量每个批次的大小一致。

     有的时候,目标库中已经存在相应的表,我们要将原库中的表中数据导入到目标库已经存在的表中,这时候,我们要根据原库中表和其索引的大小相对性的扩目标库中已经存在表和索引的表空间,这个一般是根据最大的几个大表。 注意,不要随意改变目标库中表和索引所在的表空间,要先根据原表进行扩表空间操作,不然会引起投诉的。


3.  确定数据导出导入方案

    由于表数目众多,根据在原库查询出来的各个表的大小,我们要做针对性的处理。

    小表部分: 一般4g以下的可以叫做小表,可以直接进行insert + dblink, 这样比较快,3g、4g左右的表insert时间也有点长,但还在可接受范围内。

    大表部分: 对于4g以上的表,我们要使用expdp +  network_link 进行导出到目标端,这样可以省去原库一大部分空间,导出导入的时候只导数据,导完之后再进行索引的创

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值