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
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.
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