Search notes:

DBMS_METADATA.SET_TRANSFORM_PARAM / SET_REMAP_PARAM

SET_TRANSFORM_PARAM comes in three variants which only differ in the datatype of the value (3rd) parameter:
dbms_metadata.set_transform_param (
   transform_handle in number,
   name             in varchar2,
   value            in [ varchar2 | boolean default true | number ],
   object_type      in varchar2 default null
);
The declaration of SET_REMAP_PARAM is
dbms_metadata.set_remap_param (
   transform_handle in number,
   name             in varchar2,
   old_value        in varchar2,
   new_value        in varchar2,
   object_type      in varchar2 default null
);

Parameter transform_handle

The value of the parameter transform_handle is either
The value returned by open cannot be used for transform_handle.

Parameter names

A list of parameter name that I like to set is shown in the following code snippet.
begin
   dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'CONSTRAINTS_AS_ALTER', false); -- Default: false, requires CONSTRAINTS = TRUE.
   dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'CONSTRAINTS'         , true ); -- Default: true
   dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'EMIT_SCHEMA'         , false); -- undocumented remove schema (https://stackoverflow.com/a/34532685/180275), default seems to be true
   dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'PARTITIONING'        , false); -- Default: true
   dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'PRETTY'              , true ); -- Default: true
   dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'REF_CONSTRAINTS'     , true ); -- Default: true
   dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SEGMENT_ATTRIBUTES'  , true ); -- Default: true
   dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SEGMENT_CREATION'    , false);
   dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SIZE_BYTE_KEYWORD'   , false); -- Default: false
   dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SQLTERMINATOR'       , false); -- Default: false | If true, a semicolon or slash will be added after the extracted DDL statement. Useful if extracted statements need to be run in SQL*Plus.
   dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'STORAGE'             , true ); -- Default: true
   dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'TABLESPACE'          , false); -- Default: true
end;
/
The complete list of valid parameters seems to be stored in the metaxlsparam$ base table.
Note that the parameter names are case sensitive.

Use default values

Calling set_transform_param with the parameter name 'DEFAULT' revert all transformations back to their default values:
begin
   dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'DEFAULT');
end;
/

See also

dbms_datapump.set_transform_parameter implements a subset of the remaps of dbms_metadata.set_transform_parameter.
dbms_metadata

Index