expdp/impdp快速导入导出数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了expdp/impdp快速导入导出数据库相关的知识,希望对你有一定的参考价值。
在业务库包含大量数据情况下如何进行快速导入、导出,提高测试工作效率?
操作环境
SuSE11 + Oracle11gR2
需求背景
某次性能测试分析过程中发现磁盘IO使用率100%,分析发现所有业务表空间的数据文件都在内置盘上,并且数据文件都是以文件系统的方式进行管理。实际上该服务器是挂载磁阵。因此,需将数据文件管理方式修改为ASM或者裸设备。
问题分析
本次性能测试模型要求业务表数据量为1000W*15张表。大概平均分布在2个业务数据库上。通常来说。业务性能测试oracle数据文件管理方式通常为ASM自动管理(oracle11gR2),并按照要求规划表空间容量。但本次由于性能测试人员未关注到此预置条件的检查导致问题遗漏到压测阶段问题定位时才发现。距离任务完成时间有限。因此考虑采用备份数据库、重建表空间并导入备份方式完成。
问题解决
1、利用impdp导出数据库完成数据库备份。利用parallel参数和并行方式同时导出多个业务数据库方式提高导出效率。
expdp system/oracle directory=dump_file dumpfile=expdp_20171021_%U.dmp logfile=expdp_20171021.log filesize=1024M parallel=6
2、重建业务表空间。数据文件从磁阵利用LVM管理划分出LV进行分配,实际上Oracle11gR2默认没有这种方式。LV划分参考LVM磁盘管理
3、利用impdp导入备份数据库。同上
impdp system/oracle directory=dump_file dumpfile=expdp_20171021_%U.dmp logfile=impdp_20171021.log parallel=5
测试建议
1、性能测试前检查ORACLE数据库表空间规划。包括业务表空间容量(容量太小,容量太小可能会造成导入失败,如果数据文件时自动扩展,也会影响导入效率)、表空间数据文件规划、redo文件大小、processes/sessions参数设置。目标是与生产环境一致。
2、检查Linux系统参数配置、业务核心参数配置。
3、如果涉及影响性能测试结果参数的修改,需发邮件知会相关人员。
以上是关于expdp/impdp快速导入导出数据库的主要内容,如果未能解决你的问题,请参考以下文章