[Home] [Help]
PACKAGE: SYS.DBMS_CUBE_LOG
Source
1 PACKAGE dbms_cube_log AUTHID CURRENT_USER AS
2
3 ---------------------
4 -- OVERVIEW
5 --
6 -- This package is the interface to the OLAP logging infrastructure
7 --
8 ---------------------
9 -- Visibility
10 -- All users
11 --
12
13 ---------------------
14 -- CONSTANTS
15
16 -- Log types
17 TYPE_OPERATIONS_C CONSTANT BINARY_INTEGER := 1;
18 TYPE_REJECTED_RECORDS_C CONSTANT BINARY_INTEGER := 2;
19 TYPE_DIMENSION_COMPILE_C CONSTANT BINARY_INTEGER := 3;
20 TYPE_BUILD_C CONSTANT BINARY_INTEGER := 4;
21
22 -- Log targets
23 TARGET_TABLE_C CONSTANT BINARY_INTEGER := 1;
24 TARGET_TRACE_C CONSTANT BINARY_INTEGER := 2;
25 TARGET_FILE_C CONSTANT BINARY_INTEGER := 3;
26 TARGET_LOB_C CONSTANT BINARY_INTEGER := 4;
27
28 -- Log levels
29 LEVEL_LOWEST_C CONSTANT BINARY_INTEGER := 1;
30 LEVEL_LOW_C CONSTANT BINARY_INTEGER := 2;
31 LEVEL_MEDIUM_C CONSTANT BINARY_INTEGER := 3;
32 LEVEL_HIGH_C CONSTANT BINARY_INTEGER := 4;
33 LEVEL_HIGHEST_C CONSTANT BINARY_INTEGER := 5;
34 VERBOSE_ACTION_C CONSTANT BINARY_INTEGER := LEVEL_LOWEST_C;
35 VERBOSE_NOTICE_C CONSTANT BINARY_INTEGER := LEVEL_LOW_C;
36 VERBOSE_INFO_C CONSTANT BINARY_INTEGER := LEVEL_MEDIUM_C;
37 VERBOSE_STATS_C CONSTANT BINARY_INTEGER := LEVEL_HIGH_C;
38 VERBOSE_DEBUG_C CONSTANT BINARY_INTEGER := LEVEL_HIGHEST_C;
39
40 -- Log table versions
41 OPERATIONS_V112ALPHA CONSTANT BINARY_INTEGER := 1;
42 OPERATIONS_V112 CONSTANT BINARY_INTEGER := 2;
43 OPERATIONS_VCURRENT CONSTANT BINARY_INTEGER := OPERATIONS_V112;
44
45 REJECTED_RECORDS_V112ALPHA CONSTANT BINARY_INTEGER := 1;
46 REJECTED_RECORDS_V112 CONSTANT BINARY_INTEGER := 2;
47 REJECTED_RECORDS_VCURRENT CONSTANT BINARY_INTEGER := REJECTED_RECORDS_V112;
48
49 DIMENSION_COMPILE_V112ALPHA CONSTANT BINARY_INTEGER := 1;
50 DIMENSION_COMPILE_V112 CONSTANT BINARY_INTEGER := 2;
51 DIMENSION_COMPILE_VCURRENT CONSTANT BINARY_INTEGER := DIMENSION_COMPILE_V112;
52
53 BUILD_V11106 CONSTANT BINARY_INTEGER := 1;
54 BUILD_V11106A CONSTANT BINARY_INTEGER := 2;
55 BUILD_V11107 CONSTANT BINARY_INTEGER := 3;
56 BUILD_V11200B2 CONSTANT BINARY_INTEGER := 4;
57 BUILD_V11200B3 CONSTANT BINARY_INTEGER := 5;
58 BUILD_V11200 CONSTANT BINARY_INTEGER := 6;
59 BUILD_VCURRENT CONSTANT BINARY_INTEGER := BUILD_V11200;
60
61 -- Parameters
62 -- Maximum errors logged before hard error raised
63 MAX_ERRORS CONSTANT BINARY_INTEGER := 1;
64 -- Seconds between flushes of log
65 FLUSH_INTERVAL CONSTANT BINARY_INTEGER := 2;
66 -- For rejected records, when do we log the full record?
67 LOG_FULL_RECORD CONSTANT BINARY_INTEGER := 3;
68 -- Log full record when no ROW_ID available
69 FULL_RECORD_AUTO CONSTANT BINARY_INTEGER := 0;
70 -- Always log full record
71 FULL_RECORD_ALWAYS CONSTANT BINARY_INTEGER := 1;
72 -- Never log full record
73 FULL_RECORD_NEVER CONSTANT BINARY_INTEGER := 2;
74 -- During import, log progress after EVERY_N row
75 LOG_EVERY_N CONSTANT BINARY_INTEGER := 4;
76 -- Allow errors during logging to reach the user
77 ALLOW_ERRORS CONSTANT BINARY_INTEGER := 5;
78 -- Maximum errors logged with LOB column populated
79 MAX_REJECT_LOBS CONSTANT BINARY_INTEGER := 6;
80 -- Maximum errors logged with LOB column populated
81 CONTINUE_AFTER_MAX_REJECTS CONSTANT BINARY_INTEGER := 7;
82 -- Don't continue after max errors
83 CONTINUE_AFTER_MAX_NO CONSTANT BINARY_INTEGER := 0;
84 -- Continue after max errors
85 CONTINUE_AFTER_MAX_YES CONSTANT BINARY_INTEGER := 1;
86
87 ---------------------
88 -- TYPES
89 -- For create_reject_sql
90 TYPE REJECT_IDS is varray(500) of number;
91 TYPE REJECT_SQL is varray(500) of clob;
92
93 ---------------------
94 -- EXCEPTIONS
95 INVALID_TYPE EXCEPTION;
96 PRAGMA EXCEPTION_INIT(INVALID_TYPE, -37561);
97 INVALID_TARGET EXCEPTION;
98 PRAGMA EXCEPTION_INIT(INVALID_TARGET, -37562);
99 INVALID_LEVEL EXCEPTION;
100 PRAGMA EXCEPTION_INIT(INVALID_LEVEL, -37563);
101 INVALID_VERSION EXCEPTION;
102 PRAGMA EXCEPTION_INIT(INVALID_VERSION, -37564);
103 INVALID_LOCATION EXCEPTION;
104 PRAGMA EXCEPTION_INIT(INVALID_LOCATION, -37566);
105 INVALID_SQL_ID EXCEPTION;
106 PRAGMA EXCEPTION_INIT(INVALID_SQL_ID, -37571);
107 INVALID_ID EXCEPTION;
108 PRAGMA EXCEPTION_INIT(INVALID_ID, -37572);
109 NO_LIMITS EXCEPTION;
110 PRAGMA EXCEPTION_INIT(NO_LIMITS, -37573);
111 INVALID_LOG_MSG_NAME EXCEPTION;
112 PRAGMA EXCEPTION_INIT(INVALID_LOG_MSG_NAME, -37577);
113
114 ---------------------
115 -- PROCEDURES
116
117 -- Enable logging to a particular location with a given level
118 PROCEDURE enable(log_type IN BINARY_INTEGER DEFAULT NULL,
119 log_target IN BINARY_INTEGER DEFAULT NULL,
120 log_level IN BINARY_INTEGER DEFAULT NULL);
121 PROCEDURE enable(log_type IN BINARY_INTEGER DEFAULT NULL,
122 log_target IN BINARY_INTEGER DEFAULT NULL,
123 log_level IN BINARY_INTEGER DEFAULT NULL,
124 log_location IN OUT NOCOPY CLOB);
125 PROCEDURE enable(log_type IN BINARY_INTEGER DEFAULT NULL,
126 log_target IN BINARY_INTEGER DEFAULT NULL,
127 log_level IN BINARY_INTEGER DEFAULT NULL,
128 log_location IN VARCHAR2);
129
130 -- Disable logging to a location
131 PROCEDURE disable(log_type IN BINARY_INTEGER DEFAULT NULL,
132 log_target IN BINARY_INTEGER DEFAULT NULL);
133
134 -- Returns the default name for a logging type
135 FUNCTION default_name(log_type IN BINARY_INTEGER
136 DEFAULT DBMS_CUBE_LOG.TYPE_OPERATIONS_C)
137 RETURN VARCHAR2;
138
139 -- Get current logging information
140 PROCEDURE get_log(log_type IN BINARY_INTEGER DEFAULT NULL,
141 log_target IN BINARY_INTEGER DEFAULT NULL,
142 log_level OUT BINARY_INTEGER,
143 log_location OUT VARCHAR2);
144
145 -- Get string describing current logging
146 FUNCTION get_log_spec RETURN VARCHAR2;
147
148 -- Set all logging based on string
149 PROCEDURE set_log_spec(log_spec IN VARCHAR2);
150
151 -- Set all limits for query environment
152 PROCEDURE set_query_env(sql_id IN VARCHAR2,
153 id IN NUMBER DEFAULT NULL,
154 tblname IN VARCHAR2 DEFAULT NULL);
155
156 -- Creates an appropriate table for the given log type
157 PROCEDURE table_create(log_type IN BINARY_INTEGER
158 DEFAULT DBMS_CUBE_LOG.TYPE_OPERATIONS_C,
159 tblname IN VARCHAR2 DEFAULT NULL);
160
161 -- Retrieve version of table, or current default version
162 -- if tblname is NULL
163 FUNCTION version(log_type IN BINARY_INTEGER
164 DEFAULT DBMS_CUBE_LOG.TYPE_OPERATIONS_C,
165 tblname IN VARCHAR2 DEFAULT NULL)
166 RETURN BINARY_INTEGER;
167
168 -- Set a parameter's value
169 PROCEDURE set_parameter(log_type IN BINARY_INTEGER
170 DEFAULT DBMS_CUBE_LOG.TYPE_OPERATIONS_C,
171 log_parameter IN BINARY_INTEGER,
172 value IN BINARY_INTEGER);
173
174 -- Retrieve a parameter's value
175 FUNCTION get_parameter(log_type IN BINARY_INTEGER
176 DEFAULT DBMS_CUBE_LOG.TYPE_OPERATIONS_C,
177 log_parameter IN BINARY_INTEGER)
178 RETURN BINARY_INTEGER;
179
180 -- Force any open logs to flush
181 PROCEDURE flush;
182
183 --------------------
184 -- LOGGING FUNCTIONS
185 PROCEDURE write_to_oplog (
186 oplogHandleId in number default null,
187 msgName in varchar2 , -- Cannot be null
188 msgText in varchar2 default null,
189 details in clob default null,
190 component in varchar2 default 'PLSQL',
191 operation in varchar2 default null, --cannot be null
192 recordLogLevel in binary_integer default LEVEL_LOW_C);
193
194 PROCEDURE start_oplog (
195 oplogHandleId out number,
196 msgName in varchar2 , -- Cannot be null
197 msgText in varchar2 default null,
198 component in varchar2 default 'PLSQL',
199 operation in varchar2 default null, -- Cannot be null
200 recordLogLevel in binary_integer default LEVEL_LOW_C);
201
202 PROCEDURE complete_oplog (
203 oplogHandleId in number );
204
205
206
207 ----------------------
208 -- ACCESSOR FUNCTIONS
209
210 -- Log types
211 FUNCTION TYPE_OPERATIONS RETURN BINARY_INTEGER;
212 FUNCTION TYPE_REJECTED_RECORDS RETURN BINARY_INTEGER;
213 FUNCTION TYPE_DIMENSION_COMPILE RETURN BINARY_INTEGER;
214 FUNCTION TYPE_BUILD RETURN BINARY_INTEGER;
215
216 -- Log targets
217 FUNCTION TARGET_TABLE RETURN BINARY_INTEGER;
218 FUNCTION TARGET_TRACE RETURN BINARY_INTEGER;
219 FUNCTION TARGET_FILE RETURN BINARY_INTEGER;
220 FUNCTION TARGET_LOB RETURN BINARY_INTEGER;
221
222 -- Log levels
223 FUNCTION LEVEL_LOWEST RETURN BINARY_INTEGER;
224 FUNCTION LEVEL_LOW RETURN BINARY_INTEGER;
225 FUNCTION LEVEL_MEDIUM RETURN BINARY_INTEGER;
226 FUNCTION LEVEL_HIGH RETURN BINARY_INTEGER;
227 FUNCTION LEVEL_HIGHEST RETURN BINARY_INTEGER;
228 FUNCTION VERBOSE_ACTION RETURN BINARY_INTEGER;
229 FUNCTION VERBOSE_NOTICE RETURN BINARY_INTEGER;
230 FUNCTION VERBOSE_INFO RETURN BINARY_INTEGER;
231 FUNCTION VERBOSE_STATS RETURN BINARY_INTEGER;
232 FUNCTION VERBOSE_DEBUG RETURN BINARY_INTEGER;
233
234 ----------------------
235 -- UTILITY FUNCTIONS
236
237 -- Create SQL to find rejected records.
238 -- Given a schema, rejected records log table name and
239 -- and an array of ID numbers, this returns an array of sql
240 -- statements (1 per ID) that can be used to help find the
241 -- rejected records. If inIds is null this returns one
242 -- SQL statment for every ID the the reject table that
243 -- has any associated CLOBs.
244 FUNCTION create_reject_sql(schema IN VARCHAR2,
245 logTableName IN VARCHAR2,
246 inIds IN REJECT_IDS DEFAULT NULL)
247 RETURN REJECT_SQL;
248
249 END dbms_cube_log;