Question: What does the impdp
transform parameter do? I read about the
transform=segment_attributes:n:table argument in the
docs.
Answer: Oracle data pump import (impdp) provides the
transform=segment_attributes argument to allow you to
change object DDL for specific objects (table, indexes), and
remove just about everything from the DDL but the basic column
definitions.
If the value is
transform=segment_attributes:y (the default),
then segment attributes (file attributes, storage
parameters, tablespaces, and logging) are included in the
import (impdp, with the DDL for the specified object types.
For example, if you wanted to use the default tablespace
parameters for the imported DDL, you could include:
root> impdp
scott/tiger
transform=segment_attributes:n:tables
This example would import only the "basic" DDL for all
table DDL in the dmp file, omitting the storage clause,
tablespace specification and datafiles parameters, allowing
the system-wide defaults to be used. This is useful
when you don't want to have to pre-create all of the table
definitions and import with ignore=y.
In another example, assume that you only wanted to omit
the storage clauses for all tables:
root> impdp scott/tiger
transform=segment_attributes:storage:n
You can also use the impdp
transform=segment_attributes:n is used
with other arguments such as
remap_tablespace to change the tablespace names
for all table in the import dmp file. For example, the
following directs the import (impdp) to ignore the existing
tablespace specifications and re-map the tablespace names:
r