When you use the Export and Import utilities to migrate a large database, it may be more efficient to partition the migration into multiple export and import jobs. If you decide to partition the migration, then be aware of the following advantages and disadvantages.
Partitioning a migration has the following advantages:
Time required for the migration may be reduced, because many of the subjobs can be run in parallel.
The import can start as soon as the first export subjob completes, rather than waiting for the entire export to complete.
Partitioning a migration has the following disadvantages:
The export and import processes become more complex.
Support of cross-schema references for certain types of objects may be compromised. For example, if a schema contains a table with a foreign key constraint against a table in a different schema, then you may not have the required parent records when you import the table into the dependent schema.
To perform a database migration in a partitioned manner, take the following steps:
For all top-level metadata in the database, issue the following commands:
exp FILE=full FULL=y CONSTRAINTS=n TRIGGERS=n ROWS=n INDEXES=n
imp FILE=full FULL=y
For each scheman
in the database, issue the following commands:
exp OWNER=schema
n
FILE=schema
n
imp FILE=schema
n
FROMUSER=schema
n
TOUSER=schema
n
IGNORE=y
All exports can be done in parallel. When the import of full
.dmp
completes, all remaining imports can also be done in parallel.