DBA Data[Home] [Help]

PACKAGE: GSMADMIN_INTERNAL.DBMS_GSM_COMMON

Source


1 PACKAGE dbms_gsm_common AS
2 
3 
4 --*****************************************************************************
5 -- Package Public Types
6 --*****************************************************************************
7 
8 -- generic TRUE/FALSE indicators for integer parameters.
9 -- NOTE: This is necesary because Java/JDBC does not deal well with boolean
10 --       parameters in PL/SQL procedures. Something we should look sometime.
11 isFalse  constant  number := 0;
12 isTrue   constant  number := 1;
13 
14 -- Update modes for catalog lock
15 noUpdate constant  number := 0;  -- catalog is not updated
16 updNoGSM constant  number := 1;  -- catalog Update does not require running GSM
17 updGSM   constant  number := 2;  -- catalog update requires running GSM
18 
19 --*****************************************************************************
20 -- Package Public Constants
21 --*****************************************************************************
22 
23 max_inst_param_name     constant    varchar2(25) := '_gsm_max_instances_per_db';
24 max_inst_default        constant    number := 10;
25 
26 max_regions_param_name  constant    varchar2(20) := '_gsm_max_num_regions';
27 max_regions_default     constant    number := 10;
28 
29 gsm_parameter_name           constant varchar2(10) := '_gsm';
30 region_list_parameter_name   constant varchar2(16) := '_gsm_region_list';
31 
32 cpu_thresh_param_name        constant varchar2(15) := '_gsm_cpu_thresh';
33 default_cpu_thresh           constant    number := 75;
34 
35 srlat_thresh_param_name      constant varchar2(17) := '_gsm_srlat_thresh';
36 default_srlat_thresh         constant    number := 20;
37 
38 -------------------------------------------------------------------------------
39 -- Service definitions
40 -- These constants are stored in the 'service' table and used in the
41 -- 'addService' routines in the dbms_gsm_pooladmin and dbms_gsm_dbadmin
42 -- packages.
43 -------------------------------------------------------------------------------
44 
45 -- DB Role
46 db_role_none           constant  number := 0;
47 db_role_primary        constant  number := 1;
48 db_role_phys_stby      constant  number := 2;
49 db_role_log_stby       constant  number := 3;
50 db_role_snap_stby      constant  number := 4;
51 
52 -- RLB Goal
53 rlb_goal_none          constant  number := 0;
54 rlb_goal_service_time  constant  number := 1;
55 rlb_goal_throughput    constant  number := 2;
56 
57 -- CLB Goal
58 clb_goal_none          constant  number := 0;
59 clb_goal_short         constant  number := 1;
60 clb_goal_long          constant  number := 2;
61 
62 -- TAF policy
63 taf_none               constant  number := 0;
64 taf_basic              constant  number := 1;
65 taf_preconnect         constant  number := 2;
66 
67 -- Policy
68 policy_manual          constant  number := 1;
69 policy_automatic       constant  number := 2;
70 
71 -- Failover Method
72 failover_none          constant  varchar2(5) := 'NONE';
73 failover_basic         constant  varchar2(6) := 'BASIC';
74 
75 -- Failover Type
76 failover_type_none     constant  varchar2(5)  := 'NONE';
77 failover_type_session  constant  varchar2(8)  := 'SESSION';
78 failover_type_select   constant  varchar2(7)  := 'SELECT';
79 failover_type_transact constant  varchar2(12) := 'TRANSACTION';
80 
81 -- Commit Outcome
82 commit_outcome_off     constant  number := 0;
83 commit_outcome_on      constant  number := 1;
84 
85 -- Session State Consistency
86 session_state_static   constant  varchar2(7)  := 'STATIC';
87 session_state_dynamic  constant  varchar2(8)  := 'DYNAMIC';
88 
89 -- Distributed Transaction
90 dtp_off                constant  number := 0;
91 dtp_on                 constant  number := 1;
92 
93 -- Preferred ALL DBS?
94 select_dbs             constant  number := 0;
95 prefer_all_dbs         constant  number := 1;
96 
97 -- Failover Primary
98 failover_primary_off   constant  number := 0;
99 failover_primary_on    constant  number := 1;
100 
101 -- HA Notification
102 ha_notification_off    constant  number := 0;
103 ha_notification_on     constant  number := 1;
104 
105 -- AQ FAN Notification
106 aq_off                 constant  number := 0;
107 aq_on                  constant  number := 1;
108 
109 -- Lag
110 any_lag                constant  number := 1;
111 specified_lag          constant  number := 0;
112 
113 -- GSM_FLAGS - handy bitfield to pass several attributes to the db
114 -- attribute positions are specified here
115 gsmflagpos_locality    constant  number := 0;
116 gsmflagpos_regionfo    constant  number := 1;
117 
118 -- Locality
119 service_anywhere       constant  number := 0;
120 service_local_only     constant  number := 1;
121 
122 -- Region Failover
123 region_failover_off    constant  number := 0;
124 region_failover_on     constant  number := 1;
125 
126 -- Instance Cardinality on RAC
127 cardinality_uniform    constant  varchar2(8)  := 'UNIFORM';
128 cardinality_singleton  constant  varchar2(10) := 'SINGLETON';
129 
130 -- Service Reference while calling dbms_service_prvt to control whether
131 --  the call applies to the service definition in the DB &/or OCR
132 srvc_context_is_db     constant number := 1;
133 srvc_context_is_ocr    constant number := 2;
134 
135 
136 --*****************************************************************************
137 -- Package Public Exceptions
138 --*****************************************************************************
139 
140 
141 --*****************************************************************************
142 -- Package Public Procedures
143 --*****************************************************************************
144 
145 -------------------------------------------------------------------------------
146 --
147 -- PROCEDURE     setGSMParameter
148 --
149 -- Description:
150 --       Changes the value of the _gsm parameter on a database.
151 --
152 -- Parameters:
153 --       operation: "add_gsms" -> appends the input list to the current
154 --                                parameter value
155 --                  "replace_all_gsms" -> replaces the current parameter
156 --                                value with the input list
157 --                  "remove_gsms" -> removes the input list from the
158 --                                current parameter value
159 --                  "modify_gsms" -> modify one or more gsm entries
160 --       gsms: a list of GSMS to add/replace/remove
161 --
162 -- Notes:
163 --
164 -------------------------------------------------------------------------------
165 
166 add_gsms                constant number := 0;
167 replace_all_gsms        constant number := 1;
168 remove_gsms             constant number := 2;
169 modify_gsms             constant number := 3;
170 
171 PROCEDURE setGSMParameter( operation IN number,
172                            gsms      IN gsm_list_t );
173 
174 -------------------------------------------------------------------------------
175 --
176 -- PROCEDURE     setRegionListParameter
177 --
178 -- Description:
179 --       Changes the value of the _gsm_region_list parameter on a database.
180 --
181 -- Parameters:
182 --       operation: "add_regions" -> appends the input list to the current
183 --                                   parameter value
184 --                  "remove_regions" -> removes the input list from the
185 --                                      current parameter value
186 --                  "modify_regions" -> modify one or more region entries
187 --       regions: a list of regions to add/replace/remove
188 --
189 -- Notes:
190 --
191 -------------------------------------------------------------------------------
192 
193 add_regions                constant number := 0;
194 remove_regions             constant number := 1;
195 modify_regions             constant number := 2;
196 
197 PROCEDURE setRegionListParameter( operation IN number,
198                                   regions   IN region_list_t );
199 
200 -------------------------------------------------------------------------------
201 --
202 -- FUNCTION    existGSM
203 --
204 -- Description:
205 --       Checks if a gsm_alias already in the _gsm parameter on a database.
206 --
207 -- Parameters:
208 --       gsm_alias: the name of the GSM.
209 --
210 -- Returns :
211 --   TRUE : if the gsm_alias exists.
212 --   FALSE : otherwise.
213 --
214 -- Notes:
215 -------------------------------------------------------------------------------
216 
217 FUNCTION existGSM( gsm_alias varchar2) RETURN boolean;
218 
219 -------------------------------------------------------------------------------
220 --
221 -- FUNCTION    isGWMTracing
222 --
223 -- Description:
224 --       Checks if GWM module tracing is enabled.
225 --
226 -- Parameters:
227 --       Nome
228 --
229 -- Returns :
230 --   TRUE : if the GWM sql tracing is enabled.
231 --   FALSE : otherwise.
232 --
233 -- Notes:
234 -------------------------------------------------------------------------------
235 
236 FUNCTION isGWMTracing RETURN boolean;
237 
238 -------------------------------------------------------------------------------
239 --
240 -- FUNCTION    reRegisterDB
241 --
242 -- Description:
243 --       Re-registers database with GSM listeners after some change
244 --
245 -- Parameters:
246 --       Nome
247 --
248 -- Returns :
249 --       NONE
250 --
251 -- Notes:
252 -------------------------------------------------------------------------------
253 
254 PROCEDURE reRegisterDB;
255 
256 -------------------------------------------------------------------------------
257 --
258 -- FUNCTION    checkDBCompat
259 --
260 -- Description:
261 --       Check that database level is compatible with GDS
262 --
263 -- Parameters:
264 --       None
265 --
266 -- Returns :
267 --       BOOLEAN
268 --
269 -- Notes:
270 -------------------------------------------------------------------------------
271 FUNCTION checkDBCompat
272 RETURN BOOLEAN;
273 
274 -------------------------------------------------------------------------------
275 --
276 -- PROCEDURE    writeToGWMTracing
277 --
278 -- Description:
279 --       prints using the GWM tracing mechanism.
280 --
281 -- Parameters:
282 --      phrase : text to write
283 --
284 -- Returns :
285 --      None.
286 --
287 -- Notes:
288 -------------------------------------------------------------------------------
289 
290 PROCEDURE writeToGWMTracing(phrase IN varchar2);
291 
292 ----------------------------------------------------------------------
293 -- Factoring. Is GDS licensed? (currently requires enterprise edition)
294 ----------------------------------------------------------------------
295 PROCEDURE gwmFactor;
296 
297 PROCEDURE region_params_to_region_list( region_list    OUT    region_list_t );
298 PROCEDURE gsm_params_to_gsm_list( gsm_list    OUT    gsm_list_t );
299 --------------------------------------------------------------
300 -- gets Message text given message number and parameters
301 --------------------------------------------------------------
302 PROCEDURE getMsg (message_number IN     binary_integer,
303                   message_text   OUT    varchar2,
304                   params         IN     message_param_list);
305 ----------------------------------------------------------
306 --
307 -- PROCEDURE    serviceChange
308 --
309 -- Description:
310 --       Signal a service change for registration
311 --
312 -- Parameters:
313 --      NONE
314 --
315 -- Returns :
316 --      None.
317 --
318 -- Notes:
319 ----------------------------------------------------------
320 PROCEDURE  serviceChange;
321 
322 ----------------------------------------------------------
323 --
324 -- PROCEDURE     gwmSubnet
325 --
326 -- Description:
327 --        Get subnet string for this host (RAC only)
328 --
329 -- Parameters:
330 --      subnet       OUT    returned subnet string
331 --
332 -- Returns :
333 --      None.
334 --
335 -- Notes:
336 ----------------------------------------------------------
337 
338 PROCEDURE gwmSubnet (subnet OUT varchar2);
339 
340 ----------------------------------------------------------
341 --
342 -- FUNCTION     DBIsDowngradeable
343 --
344 -- Description:
345 --        Is Database downgradeable?
346 --
347 -- Parameters:
348 --      None
349 --
350 -- Returns :
351 --      TRUE - DB is downgradeable
352 --      FALSE - DB is not downgradeable
353 --
354 -- Notes:
355 ----------------------------------------------------------
356 
357 FUNCTION DBIsDowngradeable
358   RETURN boolean;
359 
360 ----------------------------------------------------------
361 --
362 -- FUNCTION     params_to_dbparam_list
363 --
364 -- Description:
365 --        Converts params string in NVP format to dbparams_list type
366 --
367 -- Parameters:
368 --      params       IN     params string in NVP format
369 --      dbname       OUT    name of the database
370 --      dbparams     OUT    parameter collection in dbparams_list type
371 --
372 -- Returns :
373 --      TRUE - List was created
374 --      FALSE - string not in correct format (list not created)
375 --
376 -- Notes:
377 ----------------------------------------------------------
378 FUNCTION params_to_dbparam_list ( params        IN        varchar2,
379                                   dbname        OUT       varchar2,
380                                   dbparams      OUT       dbparams_list )
381 RETURN boolean;
382 
383 ----------------------------------------------------------
384 --
385 -- PROCEDURE    setDBParameter
386 --
387 -- Description:
388 --        Sets a gsm parameter in the database.
389 --
390 -- Parameters:
391 --     pname             IN   parameter name
392 --     pvalue            IN   parameter value
393 --
394 -- Returns :
395 --      None.
396 --
397 -- Notes:
398 ----------------------------------------------------------
399 
400 PROCEDURE setDBParameter (pname IN varchar2, pvalue IN varchar2);
401 PROCEDURE setDBParameter (pname IN varchar2, pvalues IN region_list_t);
402 PROCEDURE setDBParameter (pname IN varchar2, pvalues IN param_value_list_t);
403 
404 PROCEDURE resetDBParameter (pname varchar2);
405  ----------------------------------------------------------------------------
406 PROCEDURE gsm_list_to_gsm_params( gsm_list    IN    gsm_list_t,
407                                   gsm_params  OUT   param_value_list_t );
408 
409 ----------------------------------------------------------
410 --
411 -- FUNCTION    inst_list_to_inst_string
412 --
413 -- Description:
414 --        convert instance_list to a string format.
415 --
416 -- Parameters:
417 --     instances         IN   list of instances to convert
418 --
419 -- Returns :
420 --      Instance string in varchar2
421 --
422 -- Notes:
423 ----------------------------------------------------------
424 FUNCTION inst_list_to_inst_string (instances     IN  instance_list)
425 RETURN varchar2;
426 
427 ----------------------------------------------------------
428 --
429 -- FUNCTION   isCDB
430 --
431 -- Description:
432 --        Check if the database is a consolidated one.
433 --
434 -- Parameters:
435 --       None.
436 --
437 -- Returns :
438 --       TRUE if the database is a consolidated one, FALSE otherwise.
439 --
440 -- Notes:
441 ----------------------------------------------------------
442 FUNCTION isCDB RETURN boolean;
443 
444 --*****************************************************************************
445 -- End of Package Public Procedures
446 --*****************************************************************************
447 
448 END dbms_gsm_common;