[Home] [Help]
PACKAGE: SYS.XS_ADMIN_UTIL
Source
1 PACKAGE XS_ADMIN_UTIL AUTHID CURRENT_USER AS
2
3 COMMON_WORKSPACE CONSTANT VARCHAR2(6) := 'XS';
4
5 STRING_MAXLEN CONSTANT PLS_INTEGER := 4000;
6 NON_EMPTY_STRING_MINLEN CONSTANT PLS_INTEGER := 1;
7 STRING_MINLEN CONSTANT PLS_INTEGER := 0;
8
9 XSNAME_MINLEN CONSTANT PLS_INTEGER := 1;
10 XSNAME_MAXLEN CONSTANT PLS_INTEGER := 130;
11
12 PARAMNAME_MINLEN CONSTANT PLS_INTEGER := 1;
13 PARAMNAME_MAXLEN CONSTANT PLS_INTEGER := 128;
14
15 XSQNAME_MINLEN CONSTANT PLS_INTEGER := 1;
16 XSQNAME_MAXLEN CONSTANT PLS_INTEGER := 261;
17
18 EXTERNAL_NAME_MINLEN CONSTANT PLS_INTEGER := 1;
19 EXTERNAL_NAME_MAXLEN CONSTANT PLS_INTEGER := 130;
20
21 WORKSPACE_MINLEN CONSTANT PLS_INTEGER := 1;
22 WORKSPACE_MAXLEN CONSTANT PLS_INTEGER := 128;
23
24 DBNAME_MINLEN CONSTANT PLS_INTEGER := 1;
25 DBNAME_MAXLEN CONSTANT PLS_INTEGER := 32;
26
27 OBJTYPE_PRINCIPAL CONSTANT PLS_INTEGER := 1;
28 OBJTYPE_SECURITY_CLASS CONSTANT PLS_INTEGER := 2;
29 OBJTYPE_ACL CONSTANT PLS_INTEGER := 3;
30 OBJTYPE_PRIVILEGE CONSTANT PLS_INTEGER := 4;
31 OBJTYPE_DATA_SECURITY CONSTANT PLS_INTEGER := 5;
32 OBJTYPE_ROLESET CONSTANT PLS_INTEGER := 6;
33 OBJTYPE_NSTEMPL CONSTANT PLS_INTEGER := 7;
34
35 OBJTYPE_SYSOP CONSTANT PLS_INTEGER := 101;
36 OBJTYPE_ADMOP CONSTANT PLS_INTEGER := 102;
37
38 -- These constants define the three delete options.
39 DEFAULT_OPTION CONSTANT PLS_INTEGER := 1;
40 CASCADE_OPTION CONSTANT PLS_INTEGER := 2;
41 ALLOW_INCONSISTENCIES_OPTION CONSTANT PLS_INTEGER := 3;
42
43 -- These two constants specify if an object exists in the base table or not.
44 STATUS_EXISTS CONSTANT PLS_INTEGER := 1;
45 STATUS_NOT_EXISTS CONSTANT PLS_INTEGER := 0;
46
47 -- The following constants define the principal's type.
48 PTYPE_XS CONSTANT PLS_INTEGER := 1;
49 PTYPE_DB CONSTANT PLS_INTEGER := 2;
50 PTYPE_DN CONSTANT PLS_INTEGER := 3;
51 PTYPE_EXTERNAL CONSTANT PLS_INTEGER := 4;
52
53 -- Error Code
54 --existing error code
55 ERR_INVALID_LENGTH CONSTANT NUMBER := 46076;
56 ERR_SET_PRIN_GUID CONSTANT NUMBER := 46083;
57 ERR_DROP_SEEDED_OBJ CONSTANT NUMBER := 46084;
58 ERR_NO_PROXY_ROLES CONSTANT NUMBER := 46085;
59 ERR_DEFV_FREVNT_COEXIST CONSTANT NUMBER := 46096;
60 ERR_NO_ROLESET_ROLE CONSTANT NUMBER := 46097;
61 ERR_NO_GRANTEDROLE_PRIN CONSTANT NUMBER := 46097;
62 ERR_NO_SC_PARENTSC CONSTANT NUMBER := 46097;
63 ERR_DUP_PARENT CONSTANT NUMBER := 46098;
64 ERR_DUP_LEAF CONSTANT NUMBER := 46098;
65 ERR_DUP_PRIMARY_KEY CONSTANT NUMBER := 46098;
66 ERR_DUP_ATTR_PRIV_PAIR CONSTANT NUMBER := 46098;
67 ERR_DUP_PROXY CONSTANT NUMBER := 46098;
68 ERR_DUP_ACL_PARAM CONSTANT NUMBER := 46098;
69 ERR_DUP_ROLESET_ROLE CONSTANT NUMBER := 46098;
70 ERR_DUP_POLICY_PARAM CONSTANT NUMBER := 46098;
71 ERR_DUP_NS_ATTR CONSTANT NUMBER := 46098;
72 ERR_AGGR_CYCLE CONSTANT NUMBER := 46101;
73 ERR_SECCLS_CYCLE CONSTANT NUMBER := 46103;
74 ERR_INVALID_VALUE CONSTANT NUMBER := 46152;
75 ERR_NO_HANDLER_FUNC CONSTANT NUMBER := 46202;
76 ERR_INVALID_ENTITY_LENGTH CONSTANT NUMBER := 46211;
77 ERR_DUP_NAME CONSTANT NUMBER := 46212;
78 ERR_OBJ_REFERRED CONSTANT NUMBER := 46214;
79 ERR_INVALID_OBJECT CONSTANT NUMBER := 46215;
80 ERR_NO_OBJ_FOUND CONSTANT NUMBER := 46215;
81 ERR_ACL_REFERREDBY_NSTEMPLATE CONSTANT NUMBER := 46116;
82 ERR_INSUFFICIENT_PRIV CONSTANT NUMBER := 1031;
83
84 -- new Admin API error code
85 ERR_NO_STATIC_RULE CONSTANT NUMBER := 46025;
86 ERR_INTERNAL CONSTANT NUMBER := 46230;
87 ERR_GRANT_ROLE CONSTANT NUMBER := 46231;
88 ERR_ROLE_GRANT_CYCLE CONSTANT NUMBER := 46232;
89 ERR_PARENT_ACL_CYCLE CONSTANT NUMBER := 46233;
90 ERR_NO_POLICY_PARAMETER CONSTANT NUMBER := 46235;
91 ERR_INVALID_POLICY_TYPE CONSTANT NUMBER := 46236;
92 ERR_MIDTIER_CACHE CONSTANT NUMBER := 46237;
93 ERR_NO_DB_USER_ROLE CONSTANT NUMBER := 46238;
94 ERR_PROXY_SCHEMA_EXIST CONSTANT NUMBER := 46240;
95 ERR_PROXY_SCHEMA_NOT_EXIST CONSTANT NUMBER := 46241;
96 ERR_GRANT_ROLE_XSGUEST CONSTANT NUMBER := 46242;
97 ERR_ROLE_NOT_GRANTED CONSTANT NUMBER := 46055;
98 ERR_FEATURE_NOT_SUPPORTED CONSTANT NUMBER := 46099;
99
100 -- get the default workspace
101 FUNCTION GET_DEFAULT_WORKSPACE return VARCHAR2;
102
103 -- Length check
104 PROCEDURE CHECK_LENGTH
105 (str IN VARCHAR2,
106 min_length IN PLS_INTEGER,
107 max_length IN PLS_INTEGER);
108
109 -- Raise an application error
110 PROCEDURE RAISE_ERROR
111 (error_number IN PLS_INTEGER,
112 error_str1 IN VARCHAR2 DEFAULT NULL,
113 error_str2 IN VARCHAR2 DEFAULT NULL,
114 keep_stack IN BOOLEAN DEFAULT TRUE) ;
115
116 -- set default workspace
117 PROCEDURE SET_DEFAULT_WORKSPACE
118 (workspace IN VARCHAR2);
119
120 -- Get the object ID, Internal use. called by ADMIN APIs.
121 FUNCTION GET_OBJECT_ID(obj_name IN VARCHAR2,
122 obj_type IN PLS_INTEGER,
123 workspace IN VARCHAR2,
124 status_flag IN PLS_INTEGER := NULL) RETURN NUMBER;
125
126 -- Utility Function: XS name to ID
127 FUNCTION XSNAME_TO_ID(obj_name IN VARCHAR2,
128 obj_type IN PLS_INTEGER)
129 RETURN NUMBER;
130
131 -- Validate DB object name. Internal use.
132 PROCEDURE VALIDATE_DB_OBJECT_NAME
133 (input_name IN VARCHAR2,
134 object_name OUT VARCHAR2,
135 error_msg IN VARCHAR2 DEFAULT NULL);
136
137 -- Drop schema objects under a schema
138 PROCEDURE drop_schema_objects(schema_name IN VARCHAR2);
139
140 -- Grant System privilege to a user/role
141 PROCEDURE grant_system_privilege(
142 priv_name IN VARCHAR2,
143 user_name IN VARCHAR2,
144 user_type IN PLS_INTEGER := XS_ADMIN_UTIL.PTYPE_DB);
145
146
147 -- Revoke System privilege from a user/role
148 PROCEDURE revoke_system_privilege(
149 priv_name IN VARCHAR2,
150 user_name IN VARCHAR2,
151 user_type IN PLS_INTEGER := XS_ADMIN_UTIL.PTYPE_DB);
152
153
154 -- Revoke System privilege from a user/role
155 PROCEDURE remove_dbuser_aces(
156 user_name IN VARCHAR2);
157
158 -- Check whethe the object is seeded or not, internal use
159 PROCEDURE CHECK_SEEDED(obj_id IN NUMBER);
160
161 END XS_ADMIN_UTIL;