Security Advisory |
The package is an undocumented package supporting Oracle Advanced Security.
Reference to the package here at in the DBSecWorx code library is intended solely as a warning that there is no known legitimate reason for anyone to have access to this security package. |
|
Recommended Security Rules |
NEVER
- Grant execute on this package to any user or role
WITH GREAT CARE
- Check regularly to determine if execute on this package has been granted and if so treat it as highly suspicious: It should raise alarms.
CAUTIONS
|
|
How Oracle Works |
N/A |
N/A |
|
DBMS_XDS Package Information |
AUTHID |
CURRENT_USER |
Constants |
Name |
Data Type |
Value |
General |
ENABLE_DYNAMIC |
BINARY_INTEGER |
1 |
ENABLE_ACLOID_COLUMN |
BINARY_INTEGER |
2 |
ENABLE_STATIC_IS |
BINARY_INTEGER |
3 |
Valid values for ACLMV
refresh_mode |
ACLMV_ON_DEMAND |
VARCHAR2(9) |
'ON_DEMAND |
ACLMV_ON_COMMIT |
VARCHAR2(9) |
'ON COMMIT'; |
Refresh Types for
Static ACL MV |
XDS_ON_COMMIT_MV |
BINARY_INTEGER |
0 |
XDS_ON_DEMAND_MV |
BINARY_INTEGER |
1 |
XDS_SCHEDULED_MV |
BINARY_INTEGER |
2 |
Static ACL MV Types |
XDS_SYSTEM_GENERATED_MV |
BINARY_INTEGER |
0 |
XDS_USER_SPECIFIED_MV |
BINARY_INTEGER |
1 |
|
Dependencies |
DBMS_STANDARD |
DBMS_XDS_INT |
|
|
Documented in Types & Packages |
No |
First Available |
18.1 |
Pragmas |
SUPPLEMENTAL_LOG_DATA(default, AUTO); |
Security Model |
Owned by SYS with EXECUTE granted to the
EXECUTE_CATALOG_ROLE and OLAP_XS_ADMIN roles. |
Source |
{ORACLE_HOME}/rdbms/admin/dbmsrlsa.sql |
Subprograms |
|
|
ALTER_STATIC_ACL_REFRESH |
Alters the refresh mode for a ACLMV
for a given table.
Will remove any refresh schedule for this ACLMV. |
dbms_xds.alter_static_acl_refresh(
schema_name IN VARCHAR2 := NULL,
table_name IN VARCHAR2,
refresh_mode IN VARCHAR2); |
TBD |
|
DISABLE_OLAP_POLICY |
Disables OLAP policy for a table |
dbms_xds.disable_olap_policy(
schema_nm IN VARCHAR2 := NULL,
logical_nm IN VARCHAR2); |
exec dbms_xds.disable_olap_policy(logical_nm => 'SCOTT');
PL/SQL procedure successfully completed. |
|
DISABLE_XDS |
Disable an XDS policy for a table |
dbms_xds.disable_xds(
object_schema IN VARCHAR2 := NULL,
object_name IN VARCHAR2,
policy_name IN VARCHAR2 := NULL); |
exec dbms_xds.disable_xds('SCOTT', 'EMP');
BEGIN dbms_xds.disable_xds('SCOTT', 'EMP'); END;
*
ERROR at line 1:
ORA-46004: XS Data Security policy is not applied on SCOTT.EMP
ORA-06512: at "SYS.XS_DATA_SECURITY_INT", line 657
ORA-06512: at "SYS.XS_DATA_SECURITY", line 665
ORA-06512: at "SYS.DBMS_XDS_INT", line 63
ORA-06512: at "SYS.DBMS_XDS", line 29
ORA-06512: at line 1 |
|
DROP_OLAP_POLICY |
Drops an OLAP policy from a table |
dbms_xds.drop_olap_policy(
schema_nm IN VARCHAR2 := NULL,
logical_nm IN VARCHAR2); |
exec dbms_xds.drop_olap_policy(logical_nm => 'SCOTT');
PL/SQL procedure successfully completed. |
|
DROP_XDS |
Drop an XDS policy from a table |
dbms_xds.drop_xds(
object_schema IN VARCHAR2 := NULL,
object_name IN VARCHAR2,
policy_name IN VARCHAR2 := NULL); |
exec dbms_xds.drop_xds('SCOTT', 'EMP');
BEGIN dbms_xds.drop_xds('SCOTT', 'EMP'); END;
*
ERROR at line 1:
ORA-46007: no XS Data Security policy associated with SCOTT.EMP
ORA-06512: at "SYS.XS_DATA_SECURITY_INT", line 674
ORA-06512: at "SYS.XS_DATA_SECURITY", line 682
ORA-06512: at "SYS.DBMS_XDS_INT", line 79
ORA-06512: at "SYS.DBMS_XDS", line 45
ORA-06512: at line 1< |
|
ENABLE_OLAP_POLICY |
Enable_olap_policy - enable OLAP
policy for a table |
dbms_xds.enable_olap_policy(
schema_nm IN VARCHAR2 := NULL,
logical_nm IN VARCHAR2,
policy_nm IN VARCHAR2,
overwrite IN BOOLEAN := NULL); |
TBD |
|
ENABLE_XDS |
Enable an XDS policy for a table |
dbms_xds.enable_xds(
object_schema IN VARCHAR2 := NULL,
object_name IN VARCHAR2,
enable_option IN BINARY_INTEGER := NULL,
policy_name IN VARCHAR2,
usermv_name IN VARCHAR2 := NULL); |
TBD |
|
PURGE_ACL_REFRESH_HISTORY |
Purges ACL refresh history in XDS_ACL_REFRESH_STATUS for the table's ACLMV |
dbms_xds.purge_acl_refresh_history(
object_schema IN VARCHAR2 := NULL,
object_name IN VARCHAR2,
purge_date IN DATE := NULL); |
sys@pdbdev as sysdba
exec dbms_xds.purge_acl_refresh_history('SCOTT', 'EMPCOPY', SYSDATE+1/60);
SCOTT,EMPCOPY
PL/SQL procedure successfully completed. |
|
SCHEDULE_STATIC_ACL_REFRESH |
Schedules automatic refresh of an ACLMV for a given table.
Will change the refresh mode of the
corresponding ACLMV to "ON DEMAND" |
dbms_xds.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 dbms_xds.schedule_static_acl_refresh('SCOTT', 'EMP', SYSDATE+1/60);
PL/SQL procedure successfully completed. |
|
SET_TRACE_LEVEL |
Sets the trace level. The tracing
info of the scheduled mv refresh is logged in aclmv$_reflog table, and is
useful for debugging. |
dbms_xds.set_trace_level(
schema_name IN VARCHAR2,
table_name IN VARCHAR2,
level IN NUMBER); |
exec dbms_xds.set_trace_level('SCOTT', 'EMP', 12);
BEGIN dbms_xds.set_trace_level('SCOTT', 'EMP', 12); END;
*
ERROR at line 1:
ORA-46025: no static rule specified in applied policy
ORA-06512: at "SYS.XS_ADMIN_UTIL", line 53
ORA-06512: at "SYS.XS_DATA_SECURITY_UTIL_INT", line 673
ORA-06512: at "SYS.XS_DATA_SECURITY_UTIL_INT", line 663
ORA-06512: at "SYS.XS_DATA_SECURITY_UTIL", line 277
ORA-06512: at "SYS.DBMS_XDS_INT", line 383
ORA-06512: at "SYS.DBMS_XDS", line 213
ORA-06512: at line 1 |
|
XDS$REFRESH_STATIC_ACL |
Scheduler callback procedure to refresh the acl-mv on a table |
dbms_xds.xds$refresh_static_acl(
schema_name IN VARCHAR2,
table_name IN VARCHAR2,
mview_name IN VARCHAR2,
job_name IN VARCHAR2); |
TBD |