Oracle KUPP$PROC
Version 12.2.0.1

General Information
Library Note Morgan's Library Page Header
"I spent my entire adult life looking out for the well-being, the training, the equipping of the troops for whom I was responsible. I will not be lectured about what our military needs by a five-deferment draft dodger,"
~ Sen. Tammy Duckworth
Purpose DataPump Support Utilities
AUTHID CURRENT_USER
Dependencies
DBMS_ASSERT DBMS_STATS KUPD$DATA
DBMS_AW_EXP DBMS_TDE_TOOLKIT KUPF$FILE
DBMS_DATAPUMP DBMS_TRAN_LIB KUPM$MCP
DBMS_DATAPUMP_INT DBMS_TTS KUPP_PROC_LIB
DBMS_DST KUPC$QUEUE KUPU$UTILITIES_INT
DBMS_METADATA KUPC$QUEUE_INT KUPV$FT
DBMS_METADATA_UTIL KUPC$QUE_INT KUPV$FT_INT
DBMS_PLUGTS KUPCC KUPW$WORKER
DBMS_PRIV_CAPTURE    
Documented No
First Available 10gR1
Security Model Owned by SYS with execute granted to the EXECUTE_CATALOG_ROLE role only
Source {ORACLE_HOME}/rdbms/admin/prvthpp.plb
Subprograms
 
KILL_WORKER (new 12.2)
Deletes the identified worker process kupp$proc.kill_worker(worker_id IN BINARY_INTEGER);
SQL> 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
 
ANY_DEBUG_TRACE_INFO
Returns TRUE if any debug trace information has been generated kupp$proc.any_debug_trace_info RETURN BOOLEAN;
set serveroutput on

BEGIN
  IF kupp$proc.any_debug_trace_info THEN
    dbms_output.put_line('TRUE');
  ELSE
    dbms_output.put_line('FALSE');
  END IF;
END;
/
 
APPLY_TRACE_DEBUG_RULES
Undocumented kupp$proc.apply_trace_debug_rules(debug_flags IN BINARY_INTEGER)
RETURN BINARY_INTEGER;
SQL> SELECT kupp$proc.apply_trace_debug_rules(-1)
  2  FROM dual;

KUPP$PROC.APPLY_TRACE_DEBUG_RULES(-1)
-------------------------------------
                           -1.074E+09

SQL> SELECT kupp$proc.apply_trace_debug_rules(0)
  2  FROM dual;

KUPP$PROC.APPLY_TRACE_DEBUG_RULES(0)
------------------------------------
                                   0

SQL> SELECT kupp$proc.apply_trace_debug_rules(1)
  2  FROM dual;

KUPP$PROC.APPLY_TRACE_DEBUG_RULES(1)
------------------------------------
                                   1
 
CHANGE_USER
Undocumented kupp$proc.change_user(username IN VARCHAR2);
SELECT user FROM dual;

USER
------------------------------
SYS

SELECT sys_context('USERENV', 'CURRENT_SCHEMA') FROM dual;

SYS_CONTEXT('USERENV','CURRENT_SCHEMA')
----------------------------------------
SYS

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
 
CHECK_FOR_INTERRUPT
Undocumented kupp$proc.check_for_interrupt;
exec kupp$proc.check_for_interrupt;
 
CHECK_WORKER_STATUS
Undocumented kupp$proc.check_worker_status;
exec kupp$proc.check_worker_status;
 
CREATE_MASTER_PROCESS
Undocumented 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;
TBD
 
CREATE_WORKER_PROCESSES
Undocumented 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
 
DELETE_WORKER_PROCESSES
Undocumented kupp$proc.delete_worker_process;
exec kupp$proc.delete_worker_process;
 
DISABLE_MULTIPROCESS
Undocumented kupp$proc.disable_multiprocess RETURN BINARY_INTEGER;
SELECT kupp$proc.disable_multiprocess
FROM dual;
 
ENABLE_FLASHBACK_DMLS
Undocumented kupp$proc.enable_flashback_dmls;
exec kupp$proc.enable_flashback_dmls;
 
ENABLE_MULTIPROCESS
Undocumented kupp$proc.enable_multiprocess RETURN BINARY_INTEGER;
SELECT kupp$proc.enable_multiprocess
FROM dual;
 
GET_NLS_ALTER_SESSION
Undocumented kupp$proc.get_nls_alter_session RETURN VARCHAR2;
SELECT kupp$proc.get_nls_alter_session
FROM dual;
 
GET_TRACE_DEBUG (new 12.2)
Undocumented kupp$proc.get_trace_debug RETURN BINARY_INTEGER;
SQL> SELECT kupp$proc.get_trace_debug
  2  FROM dual;

GET_TRACE_DEBUG
---------------
              0
 
GET_WORKER_EXCEPTION
Undocumented 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);
TBD
 
INIT_DONE
Undocumented kupp$proc.init_done;
exec kupp$proc.init_done;
 
IS_MULTIPROCESS_ENABLED
Returns 1 if enabled kupp$proc.is_multiprocess_enabled RETURN BINARY_INTEGER;
SELECT kupp$proc.is_multiprocess_enabled
FROM dual;
 
JOB_ALIVE
Undocumented kupp$proc.job_alive(jobser IN BINARY_INTEGER) RETURN BINARY_INTEGER;
TBD
 
OPTION_ENABLED
Undocumented

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

SQL> BEGIN
  2    IF kupp$proc.option_enabled(-1) THEN
  3      dbms_output.put_line('-1');
  4    END IF;
  5  END;
  6  /
*
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


SQL> BEGIN
  2    IF kupp$proc.option_enabled(0) THEN
  3       dbms_output.put_line('0');
  4    END IF;
  5  END;
  6  /

PL/SQL procedure successfully completed.

SQL> BEGIN
  2    IF kupp$proc.option_enabled(1) THEN
  3      dbms_output.put_line('1');
  4    END IF;
  5  END;
  6  /
1

PL/SQL procedure successfully completed.

SQL> BEGIN
  2    IF kupp$proc.option_enabled(999999999) THEN
  3      dbms_output.put_line('999999999');
  4    END IF;
  5  END;
  6  /

PL/SQL procedure successfully completed.

SQL> BEGIN
  2    IF kupp$proc.option_enabled(9999999999) THEN
  3      dbms_output.put_line('9999999999');
  4    END IF;
  5  END;
  6  /
*
ERROR at line 1:
ORA-01426: numeric overflow
ORA-06512: at line 2
 
SEC_TT_LOADED (new 12.2)
Undocumented kupp$proc.sec_tt_loaded;
SQL> 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
 
SEC_TT_UNLOADED (new 12.2)
Undocumented kupp$proc.sec_tt_unloaded;
SQL> 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_PROFILING
Undocumented kupp$proc.set_profiling(on_flag IN BOOLEAN);
exec kupp$proc.set_profiling(FALSE);
 
SET_REMOTE_WORKER
Undocumented kupp$proc.set_remote_worker(worker_id IN NUMBER);
TBD
 
SET_TRACE_DEBUG
Undocumented kupp$proc.set_trace_debug(
debug_flags IN BINARY_INTEGER,
caller_type IN BINARY_INTEGER,
remote_op   IN BOOLEAN);
TBD
 
SHUTDOWN_IN_PROGRESS (new 12.2)
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;
/
 
TOTAL_WORKERS_ALIVE
Undocumented 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
 
WHATS_MY_ID
Returns the current user's user_id from USER$ kupp$proc.whats_my_id RETURN BINARY_INTEGER;
SQL> sho user
USER is "SYS"

SELECT user_id
FROM dba_users
WHERE username = 'SYS';

SELECT kupp$proc.whats_my_id
FROM dual;
 
WHATS_MY_NAME
Undocumented kupp$proc.whats_my_name(
process_name      OUT VARCHAR2,
process_name_size IN  BINARY_INTEGER);
TBD
 
WHAT_AM_I
Undocumented but seems to always return zero (0) kupp$proc.what_am_id RETURN BINARY_INTEGER;
SELECT kupp$proc.what_am_i
FROM dual;
 
WHAT_ORACLE_PRODUCT
Undocumented: Oracle Enterprise Edition version 11.2.0.3 and 12.1.0.2 both return 8 kupp$proc.what_oracle_product RETURN BINARY_INTEGER;
SELECT kupp$proc.what_oracle_product
FROM dual;
 
WORKER_PROCESS_INIT
Undocumented kupp$proc.worker_process_init(
max_workers IN BINARY_INTEGER,
use_cluster IN BINARY_INTEGER,
svcname     IN VARCHAR2);
TBD
 
WORKER_SERVICE_INIT
Undocumented 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

Related Topics
Datapump Executable
DBMS_DATAPUMP
DBMS_DATAPUMP_UTL
Packages
What's New In 12cR1
What's New In 12cR2

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2017 Daniel A. Morgan All Rights Reserved