【oracle】使用数据泵导出某用户每张表部分数据

您所在的位置:网站首页 oracle导入某个表数据 【oracle】使用数据泵导出某用户每张表部分数据

【oracle】使用数据泵导出某用户每张表部分数据

2023-10-24 08:50| 来源: 网络整理| 查看: 265

oracle使用数据泵导用户每张表部分数据

(每张表5000行数据,少于5000的导入全部下每张表5000行数据,少于5000的导入全部)

数据库版本:11.2.0.4;系统版本:Oracle Linux 6.4

场景: 开发提出一个需求,需要把tods用户下的数据全部导入到UAT环境,便于他们测试使用; 但经查询该用户下的数据量过大,达到了300GB以上,但目标数据库目前只剩下5000GB左右的空间; 而且这个数据库不单单该部分开发使用还有别的部门也在使用,故建议他们考虑只导入部分数据测试即可。

解决: 因11g数据库如果导用户的数据使用expdp/impdp来操作的话会比较得心应手,并且速度还能接受; 并且习惯使用数据泵来导用户的数据,并且不需要考虑写sql,一条语句就能搞定; 但这次的需求是只需要导出一部分的数据库,跟以往不同,所幸数据泵也提供了这种功能:parfile和query

--查询该用户下的表名(大写表名) select t.owner || '.' || t.TABLE_NAME from dba_tables t where t.owner in ('TODS');

--创建parfile参数文件(文件名可随意定义,建议跟用户时间相关,这样好区分)  

$ vi test.par dumpfile=d_otest_1116.dmp directory=UTL_DATA logfi


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3