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