Oracle KUPV$FT_INT
Version 21c

General Information
Library Note Morgan's Library Page Header
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 internal utilities
AUTHID DEFINER
Dependencies
DBMS_AQADM DBMS_UTILITY KUPP$PROC
DBMS_ASSERT GV$DATAPUMP_JOB KUPU$UTILITIES
DBMS_DATAPUMP KUPC$QUEUE_INT KUPU$UTILITIES_INT
DBMS_DATAPUMP_INT KUPC$QUE_INT KUPUTIL
DBMS_INTERNAL_LOGSTDBY KUPCC KUPV$FT
DBMS_LOCK KUPD$DATA KUPVLIB
DBMS_RANDOM KUPF$FILE KUPW$WORKER
DBMS_SYS_ERROR KUPM$MCP  
Documented No
First Available Not known
Security Model Owned by SYS with EXECUTE granted to the EXECUTE_CATALOG_ROLE role.

Some functionality in this package is protected from direct access with an ACCESSIBLE BY clause.
Source {ORACLE_HOME}/rdbms/admin/prvthpvi.plb
{ORACLE_HOME}/rdbms/admin/prvtbpvi.plb
Subprograms
 
ACTIVE_CLIENT_COUNT
Undocumented kupv$ft_int.active_client_count(
user_name IN VARCHAR2,
job_name  IN VARCHAR2)
RETURN BINARY_INTEGER;
TBD
 
ACTIVE_JOB
Undocumented kupv$ft_int.active_job(
user_name IN  VARCHAR2,
job_name  IN  VARCHAR2,
job_id    OUT RAW)
RETURN BOOLEAN;
TBD
 
ASSIGN_JOB
Undocumented kupv$ft_int.assign_job(
user_name IN VARCHAR2,
job_name  IN VARCHAR2);
TBD
 
ATTACH_POSSIBLE
Undocumented kupv$ft_int.attach_possible(
user_name IN VARCHAR2,
job_name  IN VARCHAR2)
RETURN BOOLEAN;
TBD
 
ATTACH_TO_JOB
Undocumented kupv$ft_int.attach_to_job(
job_id       IN RAW,
user_name    IN VARCHAR2,
job_name     IN VARCHAR2,
check_attach IN BOOLEAN,
caller_type  IN BINARY_INTEGE)
RETURN NUMBER;
TBD
 
BUILD_MTABLE_INDEXES
Undocumented kupv$ft_int.build_mtable_indexes(
mtable_objno IN  NUMBER,
opname       IN  VARCHAR2,
mtable_owner IN  VARCHAR2,
mtable_name  IN  VARCHAR2,
lock_name    IN  VARCHAR2,
parallel_exp IN  BOOLEAN,
fileless     IN  BOOLEAN,
col_list     OUT VARCHAR2);
TBD
 
CHECK_USER_VALID
Undocumented kupv$ft_int.check_user_valid(
user_name IN VARCHAR2,
job_name  IN VARCHAR2)
RETURN BOOLEAN;
TBD
 
CREATE_NEW_JOB
Undocumented kupv$ft_int.create_new_job(
user_name     IN  VARCHAR2,
job_name      IN  VARCHAR2,
operation     IN  VARCHAR2,
job_mode      IN  VARCHAR2,
master_objid  IN  NUMBER,
has_priv      IN  NUMBER,
job_id        OUT RAW,
control_queue OUT VARCHAR2,
status_queue  OUT VARCHAR2);
TBD
 
DEBUG_ENABLED
Undocumented kupv$ft_int.debug_enabled RETURN BOOLEAN;
BEGIN
  IF kupv$ft_int.debug_enabled THEN
    dbms_output.put_line('In Debug Mode');
  ELSE
    dbms_output.put_line('Not In Debug Mode');
  END IF;
END;
/
IF kupv$ft_int.debug_enabled THEN
               *
ERROR at line 2:
ORA-06550: line 2, column 18:
PLS-00904: insufficient privilege to access object DEBUG_ENABLED
ORA-06550: line 2, column 18:
PLS-00382: expression is of wrong type
ORA-06550: line 2, column 3:
PL/SQL: Statement ignored
 
DELETE_JOB
Undocumented

Overload 1
kupv$ft_int.delete_job(
user_name     IN VARCHAR2,
job_name      IN VARCHAR2,
delete_master IN BOOLEAN,
job_state     IN VARCHAR2,
master_porder IN BINARY_INTEGER);
TBD
Overload 2 kupv$ft_int.delete_job(
handle        IN NUMBER,
delete_master IN BOOLEAN);
TBD
 
DELETE_MASTER_TABLE
Undocumented kupv$ft_int.delete_master_table(
user_name IN VARCHAR2,
job_name  IN VARCHAR2,
no_errors IN BOOLEAN);
TBD
 
DETACH_JOB
Undocumented kupv$ft_int.detach_job(
handle        IN NUMBER,
detach_queues IN BINARY_INTEGER);
TBD
 
FATAL_ERROR
Undocumented kupv$ft_int.fatal_error RETURN BOOLEAN;
BEGIN
  IF kupv$ft_int.fatal_error THEN
    dbms_output.put_line('T');
  ELSE
    dbms_output.put_line('F');
  END IF;
END;
/
F

PL/SQL procedure successfully completed.
 
GET_DEBUG_INFO
Undocumented kupv$ft_int.get_debug_info RETURN BINARY_INTEGER;
SELECT kupv$ft_int.get_debug_info
FROM dual;
SELECT kupv$ft_int.get_debug_info
*
ERROR at line 1:
ORA-06553: PLS-904: insufficient privilege to access object GET_DEBUG_INFO
 
GET_ERROR_TEXT
Undocumented kupv$ft_int.get_error_text(
error_number   IN     BINARY_INTEGER,
parameter1     IN     VARCHAR2,
parameter2     IN     VARCHAR2,
parameter3     IN     VARCHAR2,
parameter4     IN     VARCHAR2,
parameter5     IN     VARCHAR2,
parameter6     IN     VARCHAR2,
parameter7     IN     VARCHAR2,
parameter8     IN     VARCHAR2,
message_buffer IN OUT VARCHAR2);
DECLARE
 ioVal dbms_id := 'X';
BEGIN
  kupv$ft_int.get_error_text(7445, 'Ouch', 'A', 'B', 'C', 'D', 'E', 'F', 'G', ioVal);
  dbms_output.put_line(ioVal);
END;
/
ORA-07445: exception encountered: core dump [Ouch] [A] [B] [C] [D] [E]

PL/SQL procedure successfully completed.
 
GET_INSTANCE_ID
Returns the database instance name for the indicated instance

0 or values > 4 return the instance number

1 returns the database name

2 returns <host_name>:<db_name>

3 returns instance_name

4 returns host name
kupv$ft_int.get_instance_id(
id_type      IN BINARY_INTEGER,
instance_num IN BINARY_INTEGER)
RETURN VARCHAR2;
SELECT kupv$ft_int.get_instance_id(0, 1)
FROM dual;

KUPV$FT_INT.GET_INSTANCE_ID(0,1)
---------------------------------
1


SELECT kupv$ft_int.get_instance_id(1, 1)
FROM dual;

KUPV$FT_INT.GET_INSTANCE_ID(1,1)
---------------------------------
orabasexix


SELECT kupv$ft_int.get_instance_id(2, 1)
FROM dual;

KUPV$FT_INT.GET_INSTANCE_ID(2,1)
---------------------------------
PERRITO5:orabasexix


SELECT kupv$ft_int.get_instance_id(3, 1)
FROM dual;

KUPV$FT_INT.GET_INSTANCE_ID(3,1)
---------------------------------
orabasexix


SELECT kupv$ft_int.get_instance_id(4, 1)
FROM dual;

KUPV$FT_INT.GET_INSTANCE_ID(4,1)
---------------------------------
PERRITO5


SELECT kupv$ft_int.get_instance_id(5, 1)
FROM dual;

KUPV$FT_INT.GET_INSTANCE_ID(5,1)
---------------------------------
1
 
GET_JOB_GUID
Undocumented kupv$ft_int.get_job_guid(
user_name IN  VARCHAR2,
job_name  IN  VARCHAR2,
job_guid  OUT RAW);
TBD
 
GET_JOB_INFO
Returns job information based on the DataPump job handle provided

Overload 1
kupv$ft_int.get_job_info(
handle        IN  NUMBER,
user_name     OUT VARCHAR2,
job_name      OUT VARCHAR2,
operation     OUT VARCHAR2,
inst_name     OUT VARCHAR2,
job_state     OUT VARCHAR2,
job_has_privs OUT BOOLEAN,
master_objid  OUT NUMBER,
job_snum      OUT NUMBER);
TBD
Returns job information based on the DataPump user and job name provided

Overload 2
kupv$ft_int.get_job_info(
user_name     IN  VARCHAR2,
job_name      IN  VARCHAR2,
operation     OUT VARCHAR2,
inst_name     OUT VARCHAR2,
job_state     OUT VARCHAR2,
job_has_privs OUT BOOLEAN,
master_objid  OUT NUMBER,
job_snum      OUT NUMBER);
TBD
 
GET_JOB_QUEUES
Returns job queue information based on the DataPump job handle provided

Overload 1
kupv$ft_int.get_job_queues(
handle        IN  NUMBER,
que_tabnum    OUT BINARY_INTEGER,
control_queue OUT VARCHAR2,
status_queue  OUT VARCHAR2);
TBD
Returns job queue information based on the DataPump user and job name provided

Overload 2
kupv$ft_int.get_job_queues(
user_name     IN  VARCHAR2,
job_name      IN  VARCHAR2,
caller_type   IN  BINARY_INTEGER,
que_tabnum    OUT BINARY_INTEGER,
control_queue OUT VARCHAR2,
status_queue  OUT VARCHAR2);
TBD
 
GET_MAX_STRING_SIZE
Undocumented kupv$ft_int.get_max_string_size RETURN VARCHAR2;
SQL> show parameter max_string

NAME             TYPE        VALUE
---------------- ----------- -----------
max_string_size string       STANDARD


SELECT kupv$ft_int.get_max_string_size
FROM dual;

GET_MAX_STRING_SIZE
--------------------
STANDARD
 
GET_PLATFORM_NAME
Returns the operating system platform kupv$ft_int.get_platform_name RETURN VARCHAR2;
SELECT kupv$ft_int.get_platform_name
FROM dual;

GET_PLATFORM_NAME
-----------------------------
Microsoft Windows x86 64-bit
 
GET_SESSION_ADDRESS
Returns saddr value from v$session for the current user session kupv$ft_int.get_session_address RETURN RAW;
SELECT saddr
FROM v$session
WHERE username = USER;

SADDR
----------------
00007FF88D86EC50


SELECT kupv$ft_int.get_session_address
FROM dual;

GET_SESSION_ADDRESS
--------------------
00007FF88D86EC50
 
GET_SOLE_JOBNAME
Undocumented

Returns NULL if the current user is not running a DataPump job
kupv$ft_int.get_sole_jobname(user_name IN VARCHAR2) RETURN VARCHAR2;
SELECT kupv$ft_int.get_sole_jobname(USER)
FROM dual;

KUPV$FT_INT.GET_SOLE_JOBNAME(USER)
-----------------------------------
 
 
MASTER_TBL_LOCK
Undocumented kupv$ft_int.master_tbl_lock(
user_name    IN  VARCHAR2,
job_name     IN  VARCHAR2,
deleting_job IN  BOOLEAN,
force_trans  IN  BOOLEAN,
lock_handle  OUT VARCHAR2,
master_objid OUT NUMBER);
TBD
 
MASTER_TBL_UNLOCK
Undocumented kupv$ft_int.master_tbl_unlock(lock_handle IN VARCHAR2);
TBD
 
ON_BEHALF
Undocumented kupv$ft_int.on_behalf RETURN BOOLEAN;
BEGIN
  IF kupv$ft_int.on_behalf THEN
    dbms_output.put_line('T');
  ELSE
    dbms_output.put_line('F');
  END IF;
END;
/
 IF kupv$ft_int.on_behalf THEN
                *
ERROR at line 2:
ORA-06550: line 2, column 18:
PLS-00904: insufficient privilege to access object ON_BEHALF
ORA-06550: line 2, column 18:
PLS-00382: expression is of wrong type
ORA-06550: line 2, column 3:
PL/SQL: Statement ignored
 
REMOVE_NEW_ATTACH
Undocumented kupv$ft_int.remove_new_attach(
attach_id   IN NUMBER,
caller_type IN BINARY_INTEGER);
TBD
 
REMOVE_NEW_JOB
Undocumented kupv$ft_int.remove_new_job(
job_id        IN RAW,
control_queue IN VARCHAR2,
status_queue  IN VARCHAR2);
TBD
 
SET_DEBUG
Undocumented kupv$ft_int.set_debug(debug_flags IN BINARY_INTEGER);
exec kupv$ft_int.set_debug(1);
BEGIN kupv$ft_int.set_debug(1); END;
*
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00904: insufficient privilege to access object SET_DEBUG
 
SET_DEBUG_FS
Undocumented kupv$ft_int.set_debug_fs(debug_flags IN BINARY_INTEGER);
exec kupv$ft_int.set_debug_fs(1);

PL/SQL procedure successfully completed.
 
SET_EVENT
Undocumented kupv$ft_int.set_event(
event_number IN NUMBER
level        IN NUMBER);
exec kupv$ft_int.set_event(10046, 12);
BEGIN kupv$ft_int.set_event(10046, 12); END;
*
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00904: insufficient privilege to access object SET_EVENT
 
UPDATE_JOB_INFO
Undocumented kupv$ft_int.update_job_info(
user_name IN VARCHAR2,
job_name  IN VARCHAR2,
job_state IN VARCHAR2,
degree    IN NUMBER);
TBD
 
UPDATE_JOB_SNUM
Undocumented kupv$ft_int.update_job_snum(
user_name IN VARCHAR2,
job_name  IN VARCHAR2,
job_snum  IN BINARY_INTEGER);
TBD
 
VALID_HANDLE
Undocumented kupv$ft_int.valid_handle(handle IN NUMBER) RETURN BOOLEAN;
BEGIN
  IF kupv$ft_int.valid_handle(42) THEN
    dbms_output.put_line('Handle Is Valid');
  ELSE
    dbms_output.put_line('Handle Is Not Valid');
  END IF;
END;
/
Handle Is Not Valid

PL/SQL procedure successfully completed.

Related Topics
Built-in Functions
Built-in Packages
Database Security
KUPV$FT
What's New In 21c
What's New In 23c

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-2023 Daniel A. Morgan All Rights Reserved
  DBSecWorx