DBA Data[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;