ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling
complimentary technical Workshops on Database Security for the first 30
Oracle Database customers located anywhere in North America, EMEA, LATAM, or
APAC that send an email to
asra_us@oracle.com. Request a Workshop for
your organization today.
Purpose
DataPump Support Utilities
AUTHID
CURRENT_USER
Dependencies
DBMS_ASSERT
DBMS_STATS
KUPF$FILE
DBMS_AW_EXP
DBMS_TDE_TOOLKIT
KUPM$MCP
DBMS_DATAPUMP
DBMS_TRAN_LIB
KUPP_PROC_LIB
DBMS_DATAPUMP_INT
DBMS_TTS
KUPU$UTILITIES
DBMS_DST
KUPC$QUEUE
KUPU$UTILITIES_INT
DBMS_METADATA
KUPC$QUEUE_INT
KUPUTIL
DBMS_METADATA_UTIL
KUPC$QUE_INT
KUPV$FT
DBMS_PLUGTS
KUPCC
KUPV$FT_INT
DBMS_PRIV_CAPTURE
KUPD$DATA
KUPW$WORKER
Documented
No
First Available
10.1
Security Model
Owned by SYS with execute granted to the EXECUTE_CATALOG_ROLE
role.
Direct access to this package is prevented by means of an Accessible By clause.
exec sys.kupp$proc.change_user('UWCLASS');
*
ERROR at line 1:
ORA-31625: Schema UWCLASS is needed to import this object, but is unaccessible
ORA-06512: at "SYS.KUPP$PROC", line 45
ORA-06512: at "SYS.KUPP$PROC", line 930
ORA-06512: at line 1
Undocumented and protected by an
ACCESIBLE BY Clause
kupp$proc.check_worker_status;
exec kupp$proc.check_worker_status;
*
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00904: insufficient privilege to access object CHECK_WORKER_STATUS
kupp$proc.create_master_process(
master_exec_spec IN VARCHAR2,
username IN VARCHAR2,
job_name IN VARCHAR2,
wait_init_done IN BOOLEAN)
RETURN BINARY_INTEGER;
kupp$proc.create_worker_processes(
num_workers IN BINARY_INTEGER,
worker_exec_spec IN VARCHAR2,
worker_seed IN BINARY_INTEGER,
wait_init_done IN BOOLEAN)
RETURN BINARY_INTEGER;
TBD
DEFAULT_DOP (new 21c)
Undocumented
Protected by an ACCESSIBLE BY clause
kupp$proc.default_dop RETURN
BINARY_INTEGER;
SELECT kupp$proc.default_dop
FROM dual;
SELECT kupp$proc.default_dop
*
ERROR at line 1:
ORA-06553: PLS-904: insufficient privilege to access object DEFAULT_DOP
exec kupp$proc.delete_worker_processes;
*
ERROR at line 1:
ORA-39110: error deleting worker processes
ORA-31610: cannot call this function from a non-master process
ORA-06512: at "SYS.KUPP$PROC", line 102
ORA-06512: at "SYS.KUPP$PROC", line 383
ORA-06512: at line 1
kupp$proc.get_worker_exception(
worker_id OUT BINARY_INTEGER,
worker_name OUT VARCHAR2,
worker_name_size IN BINARY_INTEGER,
error_code OUT BINARY_INTEGER,
error_stack OUT VARCHAR2,
error_stack_size IN BINARY_INTEGER);
kupp$proc.kill_worker(worker_id IN BINARY_INTEGER);
exec kupp$proc.kill_worker(1);
BEGIN kupp$proc.kill_worker(1); END;
*
ERROR at line 1:
ORA-39110: error deleting worker processes
ORA-31610: cannot call this function from a non-master process
ORA-06512: at "SYS.KUPP$PROC", line 968
ORA-06512: at line 1
MAX_DOP (new 21c)
Undocumented
Protected by an ACCESSIBLE BY clause
kupp$proc.max_dop(curr_max IN
BINARY_INTEGER) RETURN BINARY_INTEGER;
SELECT kupp$proc.max_dop(4)
FROM dual;
SELECT kupp$proc.max_dop(4)
*
ERROR at line 1:
ORA-06553: PLS-904: insufficient privilege to access object MAX_DOP
The only value that returns TRUE in my tests is one (1)
kupp$proc.option_enabled(optval IN BINARY_INTEGER) RETURN BOOLEAN;
set serveroutput on
BEGIN
IF kupp$proc.option_enabled(-1) THEN
dbms_output.put_line('-1');
END IF;
END;
/
*
ERROR at line 1:
ORA-01426: numeric overflow
ORA-06512: at "SYS.KUPP$PROC", line 944
ORA-06512: at "SYS.KUPP$PROC", line 959
ORA-06512: at line 2
BEGIN
2 IF kupp$proc.option_enabled(0) THEN
3 dbms_output.put_line('0');
4 END IF;
END;
/
PL/SQL procedure successfully completed.
BEGIN
2 IF kupp$proc.option_enabled(1) THEN
3 dbms_output.put_line('1');
4 END IF;
END;
/ 1
PL/SQL procedure successfully completed.
BEGIN
IF kupp$proc.option_enabled(999999999) THEN
dbms_output.put_line('999999999');
END IF;
END;
/
PL/SQL procedure successfully completed.
BEGIN
IF kupp$proc.option_enabled(9999999999) THEN
dbms_output.put_line('9999999999');
END IF;
END;
/
*
ERROR at line 1:
ORA-01426: numeric overflow
ORA-06512: at line 2
exec kupp$proc.sec_tt_loaded;
BEGIN kupp$proc.sec_tt_loaded; END;
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [600], [], [], [], [], [], [], [], [], [], [], []
ORA-31610: cannot call this function from a non-master process
ORA-06512: at "SYS.KUPP$PROC", line 977
ORA-06512: at line 1
exec kupp$proc.sec_tt_unloaded;
BEGIN kupp$proc.sec_tt_unloaded; END;
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [600], [], [], [], [], [], [], [], [], [], [], []
ORA-31610: cannot call this function from a non-master process
ORA-06512: at "SYS.KUPP$PROC", line 985
ORA-06512: at line 1
SET_CIT_FLAG (new 21c)
Undocumented
Protected by an ACCESSIBLE BY clause
kupp$proc.set_cit_flag(newval IN
BINARY_INTEGER);
exec
kupp$proc.set_cit_flag(1);
BEGIN kupp$proc.set_cit_flag(1); END;
*
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00904: insufficient privilege to access object SET_CIT_FLAG
Returns TRUE if the container is in the process of shutting down
kupp$proc.shutdown_in_progress RETURN BOOLEAN;
BEGIN
IF kupp$proc.shutdown_in_progress THEN
dbms_output.put_line('Shutdown In Progress');
ELSE
dbms_output.put_line('Shutdown Is Not In Progress');
END IF;
END;
/ Shutdown Is Not In Progress
kupp$proc.total_workers_alive(worker_exceptions_queued OUT BINARY_INTEGER)
RETURN BINARY_INTEGER;
DECLARE
ret PLS_INTEGER;
weq PLS_INTEGER;
BEGIN
ret := kupp$proc.total_workers_alive(weq);
dbms_output.put_line(ret);
dbms_output.put_line(weq);
END;
/
*
ERROR at line 1:
ORA-39003: unable to get count of total workers alive
ORA-31610: cannot call this function from a non-master process
ORA-06512: at "SYS.KUPP$PROC", line 883
ORA-06512: at line 5
Outputs the name of a Data Pump
process based on process name size
kupp$proc.whats_my_name(
process_name OUT VARCHAR2,
process_name_size IN BINARY_INTEGER);
DECLARE
outVal VARCHAR2(30);
BEGIN kupp$proc.whats_my_name(outVal, 14);
dbms_output.put_line(outVal);
END;
/
*
ERROR at line 1:
ORA-39160: error on whats my name call
ORA-39159: cannot call this function from a non-Data Pump process
ORA-06512: at "SYS.KUPP$PROC", line 228
ORA-06512: at "SYS.KUPP$PROC", line 1095
ORA-06512: at line 4
exec kupp$proc.worker_exttbl_active;
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [600], [], [], [], [], [], [], [], [], [], [], []
ORA-39159: cannot call this function from a non-Data Pump process
ORA-06512: at "SYS.KUPP$PROC", line 1001
ORA-06512: at line 1
kupp$proc.worker_exttbl_fullName(
exttbl_schema IN VARCHAR2,
exttbl_name IN VARCHAR2);
exec kupp$proc.worker_exttbl_fullName('C##SH', 'SALES');
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [600], [], [], [], [], [], [], [], [], [], [], []
ORA-39159: cannot call this function from a non-Data Pump process
ORA-06512: at "SYS.KUPP$PROC", line 990
ORA-06512: at line 1
exec kupp$proc.worker_exttbl_inactive;
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [600], [], [], [], [], [], [], [], [], [], [], []
ORA-39159: cannot call this function from a non-Data Pump process
ORA-06512: at "SYS.KUPP$PROC", line 1001
ORA-06512: at line 1
kupp$proc.worker_service_init(svcnam IN VARCHAR2);
SELECT DISTINCT name
FROM v$active_services;
exec kupp$proc.worker_service_init('SYS$USERS');
BEGIN kupp$proc.worker_service_init('SYS$USERS');
END;
*
ERROR at line 1:
ORA-31686: error creating worker processes
ORA-39159: cannot call this function from a non-Data Pump process
ORA-06512: at "SYS.KUPP$PROC", line 209
ORA-06512: at "SYS.KUPP$PROC", line 356
ORA-06512: at line 1