An Oracle ACE notes this great way to transfer data between instances.
One of the least publicized but nicest capabilities of data pump is
the ability to transfer data directly from one instance to another
without using a datafile to transport the data.
If you want to transfer data between instances without punching the
data into a data pump dmp file, you can use a database link to transport
data between instances directly.
The data is transported across a db link from one instance to
another.
Oracle data pump still requires a directory on the server to store
some information, but the data itself is transferred directly over the
database link.
This is a huge time and space saver for those large data transfer
operations. This is how to define the directory and database link:
create directory dpump_dir as ‘/tmp’;
create public database link source_db using ’source_db’;
exit
Now, from the command prompt, you can invoke the data pump import
(impdp) and direct import to copy an entire schema from one instance to
another instance:
impdp system/system directory=dpump_dir network_link=source_db
remap_schema=scott:dest_user;
The command above will import the scott schema from source_db to the
current database, and rename the schema to dest_user.
If the dest_user does not exist, it will be created. For complete details
on Oracle data transfer tricks, see the book "Advanced
Oracle Utilities".