Oracle XS_DATA_SECURITY_UTIL_INT
Version 19c

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 Real Application Security

The following important note is in the create script
-- Bug 23597785: rename XS_DATA_SECURITY_UTIL to XS_DATA_SECURITY_UTIL_INT
CREATE OR REPLACE PACKAGE XS_DATA_SECURITY_UTIL_INT
ACCESSIBLE BY (PACKAGE XS_DATA_SECURITY_UTIL) AS

XS_DATA_SECURITY_UTIL was modified as follows -- Bug 23597785: Create XS_DATA_SECURITY_UTIL with invoker rights
AUTHID CURRENT_USER
Constants
Name Data Type Value
ACLMV Refresh_Modes
ACLMV_ON_DEMAND VARCHAR2(9) 'ON DEMAND';
ACLMV_ON_COMMIT VARCHAR2(9) 'ON COMMIT'
Static Refresh Types for Static ACL MV
XS_ON_COMMIT_MV BINARY_INTEGER 0
XS_ON_DEMAND_MV BINARY_INTEGER 1
XS_SCHEDULED_MV BINARY_INTEGER 2
Static ACL MV Types
XS_SYSTEM_GENERATED_MV BINARY_INTEGER 0
XS_USER_SPECIFIED_MV BINARY_INTEGER 1
Data Types TYPE objnametype IS TABLE OF VARCHAR2(32) INDEX BY BINARY_INTEGER;

TYPE objnumtype IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
Dependencies
ACLMV$ DBMS_OUTPUT PLITBLM
ACLMV$_REFLOG DBMS_SCHEDULER SNAP$
ACLMVREFSTAT$ DBMS_SNAP_INTERNAL USER$
ALL_MVIEWS DBMS_SYSTEM XS_ADMIN_UTIL
DBMS_ASSERT DBMS_XDS_LIB XS_DATA_SECURITY_UTIL
DBMS_MVIEW OBJ$  
Documented Partially, in the Security docs.
Exceptions
Error Code Reason
46025 No static rule specified in applied policy
First Available 12.2
Security Model Owned by SYS with no privileges granted

This package is further protected with an ACCESSIBLE BY clause
Source {ORACLE_HOME}/rdbms/admin/prvtds.plb
Subprograms
 
ALTER_STATIC_ACL_REFRESH
Alters the refresh mode for a ACL MV removing any refresh schedules xs_data_security_util_int.alter_static_acl_refresh(
schema_name  IN VARCHAR2 := NULL,
table_name   IN VARCHAR2,
refresh_mode IN VARCHAR2);
No demo possible due to ACCESSIBLE BY Clause
 
ALTER_STATIC_ACL_REFRESH_POST (new 19c)
Undocumented xs_data_security_util_int.alter_static_acl_refresh_post(
schema_name  IN VARCHAR2,
mview_name   IN VARCHAR2,
table_objnum IN NUMBER,
mview_objnum IN NUMBER,
target_mode  IN NUMBER);
No demo possible due to ACCESSIBLE BY Clause
 
DEBUG_TRACE (new 19c)
Undocumented xs_data_security_util_int.debug_trace(message IN VARCHAR2);
No demo possible due to ACCESSIBLE BY Clause
 
GET_TBL_MV_INFO (new 19c)
Undocumented xs_data_security_util_int.get_tbl_mv_info(
schema_name  IN  VARCHAR2,
table_name   IN  VARCHAR2,
table_objnum OUT NUMBER,
mview_objnum OUT sys.xs_data_security_util_int.objnumtype,
mview_name   OUT sys.xs_data_security_util_int.objnametype);
No demo possible due to ACCESSIBLE BY Clause
 
PURGE_ACL_REFRESH_HISTORY
Purges contents for the table's ACL MV xs_data_security_util_int.purge_acl_refresh_history(
object_schema IN VARCHAR2 := NULL,
object_name   IN VARCHAR2,
purge_date    IN DATE     := NULL);
No demo possible due to ACCESSIBLE BY Clause
 
SCHEDULE_STATIC_ACL_REFRESH
Schedules automatic refresh of an ACL MV changing the refresh mode to "ON DEMAND"

A demo is not possible due to an ACCESSIBLY BY clause
xs_data_security_util_int.schedule_static_acl_refresh(
schema_name     IN VARCHAR2                 := NULL,
table_name      IN VARCHAR2,
start_date      IN TIMESTAMP WITH TIME ZONE := NULL,
repeat_interval IN VARCHAR2                 := NULL,
comments        IN VARCHAR2                 := NULL);
exec xs_data_security_util_int.schedule_static_acl_refresh('UWCLASS', 'SERVERS');
BEGIN xs_data_security_util_int.schedule_static_acl_refresh('UWCLASS', 'SERVERS'); END;
      *
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00904: insufficient privilege to access object XS_DATA_SECURITY_UTIL_INT
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
 
SET_TRACE_LEVEL
Sets the debugging trace level xs_data_security_util_int.set_trace_level(
schema_name IN VARCHAR2,
table_name  IN VARCHAR2,
level       IN NUMBER);
No demo possible due to ACCESSIBLE BY Clause
 
XS$REFRESH_STATIC_ACL
Scheduler callback procedure to refresh an acl-mv xs_data_security_util_int.xs$refresh_static_acl(
schema_name IN VARCHAR2,
table_name  IN VARCHAR2,
mview_name  IN VARCHAR2,
job_name    IN VARCHAR2);
No demo possible due to ACCESSIBLE BY Clause

Related Topics
Built-in Functions
Built-in Packages
DBMS_XS_PRINCIPALS
DBMS_XS_SESSIONS
DBMS_XS_SESSIONS_FFI
DBMS_XS_SIDP
DBMS_XS_SYSTEM
DBMS_XS_SYSTEM_FFI
XS_ACL
XS_ADMIN_UTIL
XS_DATA_SECURITY_UTIL
XS_DIAG
XS_DIAG_INT
XS_NAMESPACE
XS_PRINCIPAL
XS_SECURITY_CLASS
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-2019 Daniel A. Morgan All Rights Reserved
  DBSecWorx