Oracle KUPV$FT_INT
Version 21c

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 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 19c
What's New In 20c-21c

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