Oracle XS_DATA_SECURITY_UTIL
Version 26ai

General Information
Library Note Morgan's Library Page Header
The best Oracle News for FY2026

Oracle Database 26ai will be available on generic Linux platforms in January and soon on AIX and Windows
Purpose Real Application Security

The following important note was added to the create script
-- Bug 23597785: Create XS_DATA_SECURITY_UTIL with invoker rights
AUTHID CURRENT_USER
Data Types TYPE objnametype IS TABLE OF VARCHAR2(130)
INDEX BY BINARY_INTEGER;

TYPE objnumtype IS TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
Dependencies
DBMS_PRIV_CAPTURE DBMS_SYS_SQL PLITBLM
DBMS_SNAP_INTERNAL DBMS_XDS_INT XS_ADMIN_UTIL
DBMS_SQL DBMS_XDS_LIB XS_DATA_SECURITY_UTIL_INT
DBMS_SYS_ERROR    
Documented Partially
Exceptions
Error Code Reason
46025 No static rule specified in applied policy
First Available 12.1
Security Model Owned by SYS with EXECUTE granted to the OGG_APPLY_PROCREP role.
Source {ORACLE_HOME}/rdbms/admin/xsds.sql
Subprograms
 
ALTER_STATIC_ACL_REFRESH
Alters the refresh mode for a ACLMV for a table by removing any refresh schedule for this ACLMV (see schedule_static_acl_refresh) xs_data_security_util.alter_static_acl_refresh(
schema_name  IN VARCHAR2 := NULL,
table_name   IN VARCHAR2,
refresh_mode IN VARCHAR2); -- refresh mode for internal ACLMV. 'ON DEMAND' and
                              'ON COMMIT' are the only legal values
exec xs_data_security_util.alter_static_acl_refresh('UWCLASS', 'SERVERS', xs_data_security_util.aclmv_on_commit);

PL/SQL procedure successfully completed.
 
PURGE_ACL_REFRESH_HISTORY
Purges contents for the table's ACL MV xs_data_security_util.purge_acl_refresh_history(
object_schema IN VARCHAR2 := NULL,
object_name   IN VARCHAR2,
purge_date    IN DATE     := NULL);
exec xs_data_security_util.purge_acl_refresh_history('UWCLASS', 'SERVERS', SYSDATE);

PL/SQL procedure successfully completed.

SELECT *
FROM sys.aclmvrefstat$;
 
SCHEDULE_STATIC_ACL_REFRESH
Schedules automatic refresh of an ACL MV changing the refresh mode to "ON DEMAND" xs_data_security_util.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.schedule_static_acl_refresh('UWCLASS', 'SERVERS', SYSTIMESTAMP+1, 'freq=hourly; interval=4', 'Refresh On Demand');
 
SET_TRACE_LEVEL
Sets the debugging trace level xs_data_security_util.set_trace_level(
schema_name IN VARCHAR2,
table_name  IN VARCHAR2,
level       IN NUMBER);
exec xs_data_security_util.set_trace_level('UWCLASS', 'SERVERS', 8);

PL/SQL procedure successfully completed.

SELECT *
FROM sys.aclmv$_reflog;
 
XS$REFRESH_STATIC_ACL
Scheduler callback procedure to refresh an acl-mv xs_data_security_util.xs$refresh_static_acl(
schema_name IN VARCHAR2,
table_name  IN VARCHAR2,
mview_name  IN VARCHAR2,
job_name    IN VARCHAR2);
exec xs_data_security_util.xs$refresh_static_acl('SEC_MGR', 'SECTAB', 'SEC_TAB_MV', 'SECJOB');

PL/SQL procedure successfully completed.

Related Topics
Built-in Functions
Built-in Packages
Database Security
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_INT
XS_DIAG
XS_DIAG_INT
XS_NAMESPACE
XS_PRINCIPAL
XS_PRINCIPAL_INT
XS_SECURITY_CLASS
What's New In 21c
What's New In 26ai

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