General Information
Library Note
Morgan's Library Page Header
Which has the higher priority in your organization: Deploying a new database or securing the ones you already have?
Looking for a website, and resources, dedicated solely to securing Oracle databases? Check out DBSecWorx .
Purpose
Internal utilities supporting DataPump functionality
AUTHID
DEFINER
Dependencies
DATABASE_PROPERTIES
DBMS_METADATA
KUPM$MCP
DBA_DIRECTORIES
DBMS_STANDARD
KUPU$UTILITIES_INT
DBA_OBJECTS
DBMS_SYSTEM
UTL_FILE
DBMS_ASSERT
DBMS_SYS_ERROR
V$DATABASE
DBMS_DATAPUMP
DBMS_UTILITY
V$INSTANCE
DBMS_LOB
KUPCC
Documented
No
First Available
Not known but probably 10.1
Security Model
Owned by SYS with no privileges granted
Source
{ORACLE_HOME}/rdbms/admin/prvtdput.plb
Subprograms
CREATE_DEFAULT_DIR
Creates the default DataPump Directory during database installation
dbms_datapump_utl.create_default_dir;
exec dbms_datapump_utl.create_default_dir ;
DISABLE_DEBUG
Disables DataPump Debugging
dbms_datapump_utl.disable_debug;
exec dbms_datapump_utl.disable_debug ;
ENABLE_DEBUG
Enables DataPump Debugging
dbms_datapump_utl.enable_debug(loggin IN VARCHAR2);
exec dbms_datapump_utl.enable_debug ('DPDEBUG');
EXTRACT_ELEMENT
Undocumented
dbms_datapump_utl.extract_element(
string IN OUT CLOB,
remaining IN OUT NUMBER,
element OUT VARCHAR2,
wild OUT BOOLEAN,
delimiter OUT VARCHAR2);
TBD
INSTANCE_CALLOUT_IMP
Undocumented
dbms_datapump_utl.instance_callout_imp(
obj_name IN VARCHAR2,
obj_schema IN VARCHAR2,
obj_type IN NUMBER,
prepost IN BINARY_INTEGER,
action OUT VARCHAR2,
alt_name OUT VACHAR2);
DECLARE
act VARCHAR2(30);
alt VARCHAR2(30);
BEGIN
dbms_datapump_utl.instance_callout_imp ('TEST', 'C##ABC', 1, 0, act, alt);
dbms_output.put_line('Action: ' || act);
dbms_output.put_line('Alt: ' || alt);
END;
/
INSTANCE_EXPORT_ACTION
Undocumented
dbms_datapump_utl.instance_export_action(
obj_name IN VARCHAR2,
obj_schema IN VARCHAR2,
obj_type IN NUMBER,
tgt_version IN VARCHAR2,
action OUT VARCHAR2,
alt_name OUT VACHAR2,
where_clause OUT VARCHAR2);
DECLARE
act VARCHAR2(30);
alt VARCHAR2(30);
whc VARCHAR2(30);
BEGIN
dbms_datapump_utl.instance_export_action ('TEST', 'C##ABC', 1, 1, act, alt, whc);
dbms_output.put_line('Action: ' || act);
dbms_output.put_line('Alt: ' || alt);
dbms_output.put_line('Where: ' || whc);
END;
/
REPLACE_DEFAULT_DIR
Changes the default DataPump Directory
from a non-default value to the default
dbms_datapump_utl.replace_default_dir;
col owner format a15
col directory_name format a25
col directory_path format a70
SELECT owner, directory_name, directory_path
FROM dba_directories
ORDER BY 1,2;
OWNER DIRECTORY_NAME
DIRECTORY_PATH
------ ------------------------
---------------------------------------------
SYS
DATA_PUMP_DIR
/u01/app/oracle/homes/OraDB21000_home1/rdbms/log/
SYS DBMS_OPTIM_ADMINDIR
/u01/app/oracle/product/21.0.0.0/dbhome_1/rdbms/admin
SYS DBMS_OPTIM_LOGDIR
/u01/app/oracle/product/21.0.0.0/dbhome_1/cfgtoollogs
SYS JAVA$JOX$CUJS$DIRECTORY$
/u01/app/oracle/product/21.0.0.0/dbhome_1/javavm/admin
SYS OPATCH_INST_DIR
/u01/app/oracle/product/21.0.0.0/dbhome_1/OPatch
SYS OPATCH_LOG_DIR
/u01/app/oracle/homes/OraDB21000_home1/rdbms/log
SYS OPATCH_SCRIPT_DIR
/u01/app/oracle/product/21.0.0.0/dbhome_1/QOpatch
SYS ORACLE_BASE
/u01/app/oracle
SYS ORACLE_HOME
/u01/app/oracle/product/21.0.0.0/dbhome_1
SYS ORACLE_OCM_CONFIG_DIR
/u01/app/oracle/homes/OraDB21000_home1/ccr/state
SYS ORACLE_OCM_CONFIG_DIR2
/u01/app/oracle/homes/OraDB21000_home1/ccr/state
SYS SDO_DIR_ADMIN
/u01/app/oracle/product/21.0.0.0/dbhome_1/md/admin
SYS XMLDIR
/u01/app/oracle/product/21.0.0.0/dbhome_1/rdbms/xml
SYS XSDDIR
/u01/app/oracle/product/21.0.0.0/dbhome_1/rdbms/xml/schema
SELECT object_type, created, last_ddl_time
FROM dba_objects
WHERE object_name = 'DATA_PUMP_DIR';
OBJECT_TYPE CREATED
LAST_DDL_TIME
------------ -------------------- --------------------
DIRECTORY 03-NOV-2020 09:33:27 06-JUN-2021 13:28:41
exec dbms_datapump_utl.replace_default_dir ;
SELECT object_type, created, last_ddl_time
FROM dba_objects
WHERE object_name = 'DATA_PUMP_DIR';
SYSTEM_CALLOUT_IMP
Undocumented
dbms_datapump_utl.system_callout_imp(prepost IN BINARY_INTEGER);
exec dbms_datapump_utl.system_callout_imp (1);