1 PACKAGE XS_DATA_SECURITY_UTIL AS
2
3 TYPE OBJNAMETYPE IS table of VARCHAR2(32) index by binary_integer;
4 TYPE OBJNUMTYPE IS table of NUMBER index by binary_integer;
5
6 -- Valid values for ACLMV refresh_mode
7 ACLMV_ON_DEMAND CONSTANT VARCHAR2(9) := 'ON DEMAND';
8 ACLMV_ON_COMMIT CONSTANT VARCHAR2(9) := 'ON COMMIT';
9
10 -- Type of refresh on static acl mv
11 XS_ON_COMMIT_MV CONSTANT BINARY_INTEGER := 0;
12 XS_ON_DEMAND_MV CONSTANT BINARY_INTEGER := 1;
13 XS_SCHEDULED_MV CONSTANT BINARY_INTEGER := 2;
14
15 -- Type of static acl mv
16 XS_SYSTEM_GENERATED_MV CONSTANT BINARY_INTEGER := 0;
17 XS_USER_SPECIFIED_MV CONSTANT BINARY_INTEGER := 1;
18
19 -- Enable log based replication for this package
20 -- PRAGMA SUPPLEMENTAL_LOG_DATA(default, AUTO);
21
22 -- schedule_static_acl_refresh
23 -- - schedule automatic refresh of an ACLMV for a given table.
24 -- - this function will change the refresh mode of the
25 -- corresponding ACLMV to "ON DEMAND"
26 --
27 -- INPUT PARAMETERS
28 -- schema_name - schema owning the object, current user if NULL
29 -- table_name - name of object
30 -- start_date - time of first refresh to occur
31 -- repeat_interval - schedule interval
32 -- comments - comments
33
34 PROCEDURE schedule_static_acl_refresh(
35 schema_name IN VARCHAR2 := NULL,
36 table_name IN VARCHAR2,
37 start_date IN TIMESTAMP WITH TIME ZONE := NULL,
38 repeat_interval IN VARCHAR2 := NULL,
39 comments IN VARCHAR2 := NULL);
40
41 ----------------------------------------------------------------------------
42
43 -- alter_static_acl_refresh
44 -- - alter the refresh mode for a ACLMV for a given table
45 -- - this function will remove any refresh schedule for this
46 -- ACLMV (see schedule_static_acl_refresh)
47 --
48 -- INPUT PARAMETERS
49 -- schema_name - schema owning the object, current user if NULL
50 -- table_name - name of object
51 -- refresh_mode - refresh mode for internal ACLMV. 'ON DEMAND' or
52 -- 'ON COMMIT' are the only legal values
53
54 PROCEDURE alter_static_acl_refresh(schema_name IN VARCHAR2 := NULL,
55 table_name IN VARCHAR2,
56 refresh_mode IN VARCHAR2);
57
58 ----------------------------------------------------------------------------
59
60 -- purge_acl_refresh_history
61 -- - purge contents of XDS_ACL_REFRESH_STATUS view for this
62 -- table's ACLMV
63 --
64 -- INPUT PARAMETERS
65 -- object_schema - schema owning the object, current user if NULL
66 -- object_name - name of object
67 -- purge_date - date of scheduled purge - immediate if omitted
68
69 PROCEDURE purge_acl_refresh_history(object_schema IN VARCHAR2 := NULL,
70 object_name IN VARCHAR2,
71 purge_date IN DATE := NULL);
72
73 ----------------------------------------------------------------------------
74 -- xs$refresh_static_acl (not documented)
75 -- - scheduler callback procedure to refresh the acl-mv on a table
76 --
77 -- INPUT PARAMETERS
78 -- schema_name - schema owning the table
79 -- table_name - name of table
80 -- mview_name - name of miew
81 -- job_name - name of job
82
83 procedure xs$refresh_static_acl(
84 schema_name IN VARCHAR2,
85 table_name IN VARCHAR2,
86 mview_name IN VARCHAR2,
87 job_name IN VARCHAR2);
88
89 ----------------------------------------------------------------------------
90
91 -- set_trace_level
92 -- sets the trace level (used for debugging, not documented)
93 -- The tracing info of the scheduled mv refresh is logged
94 -- in aclmv$_reflog table, and is useful for debugging.
95 --
96 -- INPUT PARAMETERS
97 -- schema_name - schema owning the object
98 -- table_name - name of object
99 -- level - the trace level
100
101 PROCEDURE set_trace_level(schema_name IN VARCHAR2,
102 table_name IN VARCHAR2,
103 level IN NUMBER);
104
105
106 END XS_DATA_SECURITY_UTIL;