> expdp = exp + direct mode + parallel
The "parallel" part is complicated. First, as you noted, parallel is 1 by default and you need to specify a number > 1 to make it parallel. Second, according to
https://support.oracle.com/CSP/m ... NOT&id=552424.1
"EXPDP will use DIRECT_PATH mode if:
...
The table or partition is relatively small (up to 250 Mb), or the table or partition is larger, but the job cannot run in parallel because the parameter PARALLEL was not specified (or was set to 1). "
if the table (or partition) is > 250 MB, specifying "parallel" (to a number greater than 1) will cause expdp to not use direct path access method. It's a confusing statement but that's the literal meaning of it. We may verify it with a big table and run expdp with trace=400300 and check the worker trace file.
> 很多实验还是证明 expdp速度要快于exp direct=y
Can you give some references? Or your own benchmark?
> expdp = (parallel degree – 1) * 2 * sqluldr2
> exp direct = 2 * sqluldr2
The "parallel degree" part is confusing. It seems to say if you specify, say, parallel=5, then expdp = 4*2*sqluldr2. That cannot be right. If we ignore the parenthesized part, then you see expdp is the same speed as "exp direct", which sounds reasonable.
The explanation of direct path in terms of bypassing buffer cache and SQL processing is correct.
Yong Huang