Thursday, September 14, 2006

exp/expdp时对多个表使用多个不同的query条件

It is impossible to generate a single dmp file or integrate several dmp files into a single one when using oracle9i, and in one word, this task cannot be done in oracle9i.

Note:This can be done using data pump if you update your database to 10g, look down for more information.

HOW TO DO WHEN USING DATA PUMP OF ORACLE 10G
-------------------------------------------------------------
Please note there are two new features now:
1.Parameter "QUERY" can be specified to a certain table.
2.Parameter "QUERY" can be specified more than once.

Look at my experiment:
C:\Documents and Settings\Administrator>expdp scott/tiger parfile=D:\par.txt
Export: Release 10.2.0.1.0 - Production on Thursday, 06 July, 2006 20:11:31Copyright (c) 2003, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options
Starting "SCOTT"."SYS_EXPORT_TABLE_01": scott/******** parfile=D:\par.txt
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 128 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
. . exported "SCOTT"."TEMP1" 4.953 KB 0 rows
. . exported "SCOTT"."TEMP2" 4.960 KB 1 rows
Master table "SCOTT"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SCOTT.SYS_EXPORT_TABLE_01 is:
D:\EXP2.DMP
Job "SCOTT"."SYS_EXPORT_TABLE_01" successfully completed at 20:11:47
C:\Documents and Settings\Administrator>

Contents of par.txt:

TABLES=temp1,temp2
QUERY=SCOTT.TEMP1:"WHERE ID=0"
QUERY=SCOTT.TEMP2:"WHERE ID2=2"
directory=direc
nologfile=y
DUMPFILE=exp2.dmp

No comments: