关闭

数据泵expdp中query的使用及注意事项

标签: oracle数据泵expdpquery逻辑备份
2091人阅读 评论(0) 收藏 举报
分类:

    在用数据泵导出数据的时候,有时候我们需要按条件过滤掉一些不需要导出的数据,这时候就需要用到参数query。下面是一个简单使用query的小例子,在这个例子中我们也可以看出数据泵的一个缺陷,就是query参数和estimate参数是冲突的,当我们使用query参数的时候,数据泵estimate数据量会忽略query参数的过滤,使的estimate值异常。


expdp systemparfile=bi_20131203.par

Export: Release11.2.0.3.0 - Production on Tue Dec 3 18:51:04 2013

Copyright (c) 1982,2011, Oracle and/or its affiliates.  Allrights reserved.

Password:

Connected to: OracleDatabase 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With thePartitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Data Mining and RealApplication Testing options

Starting"SYSTEM"."SYS_EXPORT_TABLE_01":  system/******** parfile=bi_20131203.par

Estimate in progressusing BLOCKS method...

Processing objecttype TABLE_EXPORT/TABLE/TABLE_DATA

Total estimationusing BLOCKS method: 61.75 GB

Processing objecttype TABLE_EXPORT/TABLE/TABLE

Processing objecttype TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT


查看下参数文件more bi_20131203.par


directory=dump_bi

tables=bi_dw.DW_MID_CONTRACT

cluster=n filesize=4G

dumpfile=expdp_bi_ods_tables_20131203_%U.dmp 

query=bi_dw.DW_MID_CONTRACT:"where data_date in(to_date('2013-11-13','yyyy-mm-dd'),to_date('2013-11-14','yyyy-mm-dd'),to_date('2013-8-13','yyyy-mm-dd'),to_date('2013-8-14','yyyy-mm-dd'))"

nologfile=y


通过数据库查看到DW_MID_CONTRACT这张表有1.6亿的数据量,该表的segment达到了60G然而过滤后的数据只有2639086 rows,然而expdp计算的值

Total estimationusing BLOCKS method: 61.75 GB


最终,我们导出的文件仅仅只有873M  expdp_bi_ods_tables_20131203_01.dmp


另外在数据泵导数据的过程中,我们可以expdp system ATTACH=SYS_EXPORT_TABLE_01到该任务。

job的名字可以通过job参数指定,也可以走默认,dba_datapump_jobs中记载了正在执行的数据泵任务。

select * from dba_datapump_jobs;

SYS_EXPORT_TABLE_01




1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:69141次
    • 积分:1052
    • 等级:
    • 排名:千里之外
    • 原创:34篇
    • 转载:9篇
    • 译文:0篇
    • 评论:1条