Oracle Data Pump is a new feature of Oracle Database 11g that provides high speed, parallel, bulk data and metadata movement of Oracle database contents. A new public interface package, DBMS_DATAPUMP, provides a server-side infrastructure for fast data and metadata movement. In Oracle Database 11g, new Export (expdp) and Import (impdp) clients that use this interface have been provided. Oracle recommends that customers use these new Data Pump Export and Import clients rather than the Original Export and Import clients, since the new utilities have vastly improved performance and greatly enhanced functionality.
Data Pump is available on the Oracle Database 11g Standard Edition, Enterprise Edition, and Personal Edition. However, the parallel capability is only available on Oracle10g Enterprise Edition. Data Pump is included on all the same platforms supported by Oracle 11g, including Unix, Linux, Windows NT, Windows 2000, and Windows XP.
The Data Pump system requirements are the same as the standard Oracle Database 11g requirements. Data Pump doesn’t need a lot of additional system or database resources, but the time to extract and treat the information will be dependent on the CPU and memory available on each machine. If system resource consumption becomes an issue while a Data Pump job is executing, the job can be dynamically throttled to reduce the number of execution threads.
What is the performance gain of Data Pump Export versus Original Export?
Using the Direct Path method of unloading, a single stream of data unload is about 2 times faster than original Export because the Direct Path API has been modified to be even more efficient. Depending on the level of parallelism, the level of improvement can be much more.
What is the performance gain of Data Pump Import versus Original Import?
A single stream of data load is 15-45 times faster Original Import. The reason it is so much faster is that Conventional Import uses only conventional mode inserts, whereas Data Pump Import uses the Direct Path method of loading. As with Export, the job can be parallelized for even more improvement.
Can you adjust the level of parallelism dynamically for more or less resource consumption?
Yes, you can dynamically throttle the number of threads of execution throughout the lifetime of the job. There is an interactive command mode where you can adjust the level of parallelism. So, for example, you can start up a job during the day with a PARALLEL=2, and then increase it at night to a higher level.
What kind of object selection capability is available with Data Pump?
With Data Pump, there is much more flexibility in selecting objects for unload and load operations. You can now unload any subset of database objects (such as functions, packages, and procedures) and reload them on the target platform. Almost all database object types can be excluded or included in an operation using the new Exclude and Include parameters.
If a job is stopped either voluntarily or involuntarily, can I restart it?
Yes, every Data Pump job creates a Master Table in which the entire record of the job is maintained. The Master Table is the directory to the job, so if a job is stopped for any reason, it can be restarted at a later point in time, without losing any data.
Does Data Pump give me the ability to manipulate the Data Definition Language (DDL)?
Yes, with Data Pump, it is now possible to change the definition of some objects as they are created at import time. For example, you can remap the source datafile name to the target datafile name in all DDL statements where the source datafile is referenced. This is really useful if you are moving across platforms with different file system syntax.
Yes, Data Pump Export and Import both support a network mode in which the job’s source is a remote Oracle instance. This is an overlap of unloading the data, using Export, and loading the data, using Import, so those processes don’t have to be serialized. A database link is used for the network. You don’t have to worry about allocating file space because there are no intermediate dump files.
Can I still use Original Export? Do I have to convert to Data Pump Export?
An Oracle9i compatible Export that operates against Oracle Database 11g will ship with Oracle 11g, but it does not export Oracle Database 11g features. Also, Data Pump Export has new syntax and a new client executable, so Original Export scripts will need to change. Oracle recommends that customers convert to use the Oracle Data Pump Export.
How do I import an old dump file into Oracle 10g? Can I use Original Import or do I have to convert to Data Pump Import?
Original Import will be maintained and shipped forever, so that Oracle Version 5.0 through Oracle9i dump files will be able to be loaded into Oracle 10g and later. Data Pump Import can only read Oracle Database 11g (and later) Data Pump Export dump files. Data Pump Import has new syntax and a new client executable, so Original Import scripts will need to change. Oracle recommends that customers convert to use the Oracle Data Pump Import.
When would I use SQL*Loader instead of Data Pump Export and Import?
You would use SQL*Loader to load data from external files into tables of an Oracle database. Many customers use SQL*Loader on a daily basis to load files (e.g. financial feeds) into their databases. Data Pump Export and Import may be used less frequently, but for very important tasks, such as migrating between platforms, moving data between development, test, and production databases, logical database backup, and for application deployment throughout a corporation.
When would I use Transportable Tablespaces instead of Data Pump Export and Import?
You would use Transportable Tablespaces when you want to move an entire tablespace of data from one Oracle database to another. Transportable Tablespaces allows Oracle data files to be unplugged from a database, moved or copied to another location, and then plugged into another database. Moving data using Transportable Tablespaces can be much faster than performing either an export or import of the same data, because transporting a tablespace only requires the copying of datafiles and integrating the tablespace dictionary information. Even when transporting a tablespace, Data Pump Export and Import are still used to handle the extraction and recreation of the metadata for that tablespace.