1 PACKAGE dbms_gsm_dbadmin AS
2
3 --*****************************************************************************
4 -- Package Public Constants
5 --*****************************************************************************
6
7 -- RAC status values (must match defines for gwm_rac_status in gwm2.h
8 --
9 GWM_NORAC constant pls_integer := 0; -- database not on RAC
10 GWM_RAC_ADMIN constant pls_integer := 1; -- database on admin managed RAC
11 GWM_RAC_POLICY constant pls_integer := 2; -- database on policy managed RAC
12 GWM_RAC_UNKNOWN constant pls_integer := 3; -- unknown RAC status
13
14 -----------------------------------------------------------------------------
15 --
16 -- PROCEDURE addDatabase
17 --
18 -- Description:
19 -- Adds this database to the GDS framework (cloud)
20 --
21 -- Parameters:
22 -- cloud_name - Name of the cloud (gds framework)
23 -- dbpool_name - database pool to which database is added
24 -- region_name - region of database
25 -- db_number - catalog assigned (generated) database number
26 -- num_instances_reserved - number of instance slots reserved for
27 -- this database
28 -- force - force the add if it has already been added
29 -- cpu_thresh
30 -- srlat_thresh
31 --
32 -- Notes:
33 -- Sets a number of database parameters to hold GDS related values
34 -----------------------------------------------------------------------------
35 PROCEDURE addDatabase( cloud_name IN varchar2,
36 dbpool_name IN varchar2,
37 region_name IN varchar2,
38 db_number IN number,
39 num_instances_reserved IN number
40 default dbms_gsm_common.max_inst_default,
41 force IN number
42 default dbms_gsm_common.isFalse,
43 cpu_thresh IN number default NULL,
44 srlat_thresh IN number default NULL);
45
46 -----------------------------------------------------------------------------
47 --
48 -- PROCEDURE modifyDatabase
49 --
50 -- Description: changes the region of the database
51 --
52 -- Parameters:
53 -- region_name - new region name
54 -- cpu_thresh
55 -- srlat_thresh
56 --
57 -- Notes:
58 --
59 -----------------------------------------------------------------------------
60 PROCEDURE modifyDatabase( region_name IN varchar2 ,
61 cpu_thresh IN number default NULL,
62 srlat_thresh IN number default NULL );
63
64 -----------------------------------------------------------------------------
65 --
66 -- PROCEDURE validateDatabase
67 --
68 -- Description:
69 -- Validate database existence and return local DB info
70 --
71 -- Parameters:
72 -- dbpool - dbpool that database existis in
73 -- db_unique_name - unique name of database
74 -- instances - number of instances database currently has configured
75 --
76 -- Notes:
77 --
78 -----------------------------------------------------------------------------
79 PROCEDURE validateDatabase( dbpool IN varchar2,
80 db_unique_name OUT varchar2,
81 instances OUT number,
82 cloud_name IN varchar2 default NULL);
83 PROCEDURE validateDatabase( dbpool IN varchar2,
84 db_unique_name OUT varchar2);
85 -----------------------------------------------------------------------------
86 --
87 -- PROCEDURE removeDatabase
88 --
89 -- Description:
90 -- Remove a database from the GDS framework (cloud)
91 --
92 -- Parameters:
93 -- db_only - Remove only database?
94 -- Else cascaded remove which removes all global services
95 --
96 -- Notes:
97 --
98 -----------------------------------------------------------------------------
99 PROCEDURE removeDatabase (db_only IN boolean default FALSE);
100
101 -----------------------------------------------------------------------------
102 --
103 -- PROCEDURE addGSM
104 --
105 -- Description:
106 -- Inform database of a new GSM which has been added to the catalog
107 --
108 -- Parameters:
109 -- gsm_alias - gsm name
110 -- endpoint - GSM listen endpoint
111 -- region_name - region in which GSM exists
112 -- ons_port - ONS port for GSM
113 --
114 -- Notes:
115 -- Triggers registration request in LREG for new GSM
116 --
117 -----------------------------------------------------------------------------
118 PROCEDURE addGSM( gsm_alias IN varchar2,
119 endpoint IN varchar2,
120 region_name IN varchar2,
121 ons_port IN number );
122
123 -----------------------------------------------------------------------------
124 --
125 -- PROCEDURE modifyGSM
126 --
127 -- Description:
128 -- Inform database of GSM attribute changes
129 --
130 -- Parameters:
131 -- gsm_alias - GSM name
132 -- endpoint - gsm listen endpoint
133 -- region_name - region in which GSM exists
134 -- ons_port - ONS port for GSM
135 --
136 -- Notes:
137 --
138 -----------------------------------------------------------------------------
139 PROCEDURE modifyGSM( gsm_alias IN varchar2,
140 endpoint IN varchar2 default NULL,
141 region_name IN varchar2 default NULL,
142 ons_port IN number default NULL );
143
144 -----------------------------------------------------------------------------
145 --
146 -- PROCEDURE removeGSM
147 --
148 -- Description:
149 -- inform database of GSM removal
150 --
151 -- Parameters:
152 -- gsm_alias - name of GSM
153 --
154 -- Notes:
155 --
156 -----------------------------------------------------------------------------
157 PROCEDURE removeGSM( gsm_alias IN varchar2 );
158
159
160 -----------------------------------------------------------------------------
161 --
162 -- PROCEDURE addService
163 --
164 -- Description: Creates a new global service in the database and CRS
165 --
166 -- Parameters:
167 -- service_name - short name of the service in the data dictionary
168 -- network_name - long service name used in SQLNet connect descriptors
169 -- rlb_goal - RLB goal (service time, throuput, none)
170 -- clb_goal - CLB goal (short, long)
171 -- distr_trans - enables distributed transaction processing
172 -- aq_notifications - enables AQ notfications
173 -- aq_ha_notifications - used to disable HA AQ notfications
174 -- lag_property - determines whether specified max lag should be enforced
175 -- max_lag_value - maximum acceptable value for replication lag
176 -- failover_method - TAF failover method
177 -- failover_type - TAF failover type
178 -- failover_retries - TAF failover retries
179 -- failover_delay - TAF failover delay
180 -- edition - databse edition
181 -- pdb - privite db id
182 -- parameters for transaction continuity:
183 -- commit_outcome
184 -- retention_timeout
185 -- replay_initiation_timeout
186 -- session_state_consistency
187 -- sql_translation_profile - directs how to interpret non-Oracle SQL
188 -- role - database role (primary or physical/logical/snapshot standby)
189 -- proxy_db - TRUE if service is created on primary database
190 -- to be used on standby(s)
191 -- primary_db - TRUE if this is primary database (OUT parameter)
192 --
193 -- Note:
194 -- Constants for use in arguments are defined in dbms_gsm_common
195 -----------------------------------------------------------------------------
196 PROCEDURE addService( service_name IN varchar2,
197 network_name IN varchar2,
198 rlb_goal IN number default NULL,
199 clb_goal IN number default NULL,
200 distr_trans IN number default NULL,
201 aq_notifications IN number default NULL,
202 aq_ha_notifications IN number default NULL,
203 lag_property IN number default NULL,
204 max_lag_value IN number default NULL,
205 failover_method IN varchar2 default NULL,
206 failover_type IN varchar2 default NULL,
210 pdb IN varchar2 default NULL,
207 failover_retries IN number default NULL,
208 failover_delay IN number default NULL,
209 edition IN varchar2 default NULL,
211 commit_outcome IN number default NULL,
212 retention_timeout IN number default NULL,
213 replay_initiation_timeout IN number default NULL,
214 session_state_consistency IN varchar2 default NULL,
215 sql_translation_profile IN varchar2 default NULL,
216 locality IN number default NULL,
217 region_failover IN number default NULL,
218 role IN number default NULL,
219 proxy_db IN number default 0,
220 primary_db OUT number );
221
222 -----------------------------------------------------------------------------
223 --
224 -- PROCEDURE modifyService
225 --
226 -- Description: Modifies all attributes of a global service
227 --
228 -- Parameters:
229 -- service_name - short name of the service in the data dictionary
230 -- rlb_goal - RLB goal (service time, throuput, none)
231 -- clb_goal - CLB goal (short, long)
232 -- distr_trans - enables distributed transaction processing
233 -- aq_notifications - enables AQ notfications
234 -- aq_ha_notifications - used to disable HA AQ notfications
235 -- lag_property - determines whether specified max lag should be enforced
236 -- max_lag_value - maximum acceptable value for replication lag
237 -- failover_method - TAF failover method
238 -- failover_type - TAF failover type
239 -- failover_retries - TAF failover retries
240 -- failover_delay - TAF failover delay
241 -- edition - databse edition
242 -- pdb - privite db id
243 -- parameters for transaction continuity:
244 -- commit_outcome
245 -- retention_timeout
246 -- replay_initiation_timeout
247 -- session_state_consistency
248 -- sql_translation_profile - directs how to interpret non-Oracle SQL
249 -- role - database role (primary or physical/logical/snapshot standby)
250 -- network_number - network interface number to access the service
251 -- server_pool - name of the server pool for the service
252 -- cardinality - service cardinality on RAC (singleton or uniform)
253 -- proxy_db - TRUE if service is modified on primary database
254 -- to propagate modifications to standby(s)
255 -- primary_db - TRUE if this is primary database (OUT parameter)
256 -- instances - string containing primary/available instances
257 --
258 -- Note:
259 -- Constants for use in arguments are defined in dbms_gsm_common
260 -- Depricated, use
261 -- modifyServiceLocalParameters or
262 -- modifyServiceGlobalParameters instead
263 -----------------------------------------------------------------------------
264 PROCEDURE modifyService( service_name IN varchar2,
265 rlb_goal IN number default NULL,
266 clb_goal IN number default NULL,
267 distr_trans IN number default NULL,
268 aq_notifications IN number default NULL,
269 aq_ha_notifications IN number default NULL,
270 lag_property IN number default NULL,
271 max_lag_value IN number default NULL,
272 failover_method IN varchar2 default NULL,
273 failover_type IN varchar2 default NULL,
274 failover_retries IN number default NULL,
275 failover_delay IN number default NULL,
276 edition IN varchar2 default NULL,
277 pdb IN varchar2 default NULL,
278 commit_outcome IN number default NULL,
279 retention_timeout IN number default NULL,
280 replay_initiation_timeout IN number default NULL,
281 session_state_consistency IN varchar2 default NULL,
282 sql_translation_profile IN varchar2 default NULL,
283 locality IN number default NULL,
287 server_pool IN varchar2 default NULL,
284 region_failover IN number default NULL,
285 role IN number default NULL,
286 network_number IN number default NULL,
288 cardinality IN varchar2 default NULL,
289 proxy_db IN number default 0,
290 primary_db OUT number,
291 instances IN varchar2 default NULL,
292 force IN number
293 default dbms_gsm_common.isFalse);
294
295
296 -----------------------------------------------------------------------------
297 --
298 -- PROCEDURE modifyServiceLocalParameters
299 --
300 -- Description: Modifies all local attributes of a global service
301 --
302 -- Parameters:
303 -- service_name - short name of the service in the data dictionary
304 --
305 -- network_number - network interface number to access the service
306 -- server_pool - name of the server pool for the service
307 -- cardinality - service cardinality on RAC (singleton or uniform)
308 --
309 -- proxy_db - TRUE if service is modified on primary database
310 -- to propagate modifications to standby(s)
311 -- primary_db - TRUE if this is primary database (OUT parameter)
312 --
313 -- Note:
314 -- Constants for use in arguments are defined in dbms_gsm_common.
315 -----------------------------------------------------------------------------
316
317 PROCEDURE modifyServiceLocalParameters(
318 service_name IN varchar2,
319 network_number IN number,
320 server_pool IN varchar2,
321 cardinality IN varchar2,
322 instances IN varchar2 default NULL,
323 force IN number
324 default dbms_gsm_common.isFalse);
325
326 -----------------------------------------------------------------------------
327 --
328 -- PROCEDURE modifyServiceGlobalParameters
329 --
330 -- Description: Modifies all global attributes of a global service
331 --
332 -- Parameters:
333 -- service_name - short name of the service in the data dictionary
334 --
335 -- rlb_goal - RLB goal (service time, throuput, none)
336 -- clb_goal - CLB goal (short, long)
337 -- distr_trans - enables distributed transaction processing
338 -- aq_notifications - enables AQ notfications
339 -- aq_ha_notifications - used to disable HA AQ notfications
340 -- lag_property - determines whether specified max lag should be enforced
341 -- max_lag_value - maximum acceptable value for replication lag
342 -- failover_method - TAF failover method
343 -- failover_type - TAF failover type
344 -- failover_retries - TAF failover retries
345 -- failover_delay - TAF failover delay
346 -- edition - databse edition
347 -- pdb - privite db id
348 -- parameters for transaction continuity:
349 -- commit_outcome
350 -- retention_timeout
351 -- replay_initiation_timeout
352 -- session_state_consistency
353 -- sql_translation_profile - directs how to interpret non-Oracle SQL
357 -- to propagate modifications to standby(s)
354 -- role - database role (primary or physical/logical/snapshot standby)
355 --
356 -- proxy_db - TRUE if service is modified on primary database
358 -- primary_db - TRUE if this is primary database (OUT parameter)
359 --
360 -- Note:
361 -- Constants for use in arguments are defined in dbms_gsm_common.
362 -- This procedure sets all of the parameters to the given values.
363 -----------------------------------------------------------------------------
364
365 PROCEDURE modifyServiceGlobalParameters(
366 service_name IN varchar2,
367 rlb_goal IN number,
368 clb_goal IN number,
369 distr_trans IN number,
370 aq_notifications IN number,
371 aq_ha_notifications IN number,
372 lag_property IN number,
373 max_lag_value IN number,
374 failover_method IN varchar2,
375 failover_type IN varchar2,
376 failover_retries IN number,
377 failover_delay IN number,
378 edition IN varchar2,
379 pdb IN varchar2,
380 commit_outcome IN number,
381 retention_timeout IN number,
382 replay_initiation_timeout IN number,
383 session_state_consistency IN varchar2,
384 sql_translation_profile IN varchar2,
385 locality IN number,
386 region_failover IN number,
387 role IN number,
388 proxy_db IN number,
389 primary_db OUT number,
390 force IN number
391 default dbms_gsm_common.isFalse);
392
393
394
395
396
397 -----------------------------------------------------------------------------
398 --
399 -- PROCEDURE removeService
400 --
401 -- Description: Removes a service from CRS and / or the database.
402 --
403 -- Parameters:
404 -- service_name
405 -- proxy_db - TRUE if service is removed on primary database
406 -- to be removed on standby(s)
407 -- delete_to_move - TRUE if service is removed to be moved to another db
408 -- primary_db - TRUE if this is primary database (OUT parameter)
409
410 --
411 -- Notes:
412 --
413 -----------------------------------------------------------------------------
414 PROCEDURE removeService( service_name IN varchar2,
415 proxy_db IN number default 0,
416 delete_to_move IN number default 0,
417 primary_db OUT number );
418
419 -----------------------------------------------------------------------------
420 --
421 -- PROCEDURE startService
422 --
423 -- Description:
424 -- Start a service on this database
425 --
426 -- Parameters:
427 -- service_name
428 -- inst_list - list of instances to start on
429 --
430 -- Notes:
431 -- inst_list is ignored for DB types other than admin-managed RAC
432 --
433 -----------------------------------------------------------------------------
434 PROCEDURE startService( service_name IN varchar2,
435 inst_list IN varchar2 DEFAULT NULL );
436
437 -----------------------------------------------------------------------------
438 --
439 -- PROCEDURE stopService
440 --
441 -- Description:
442 -- Stop a service on this database
443 --
444 -- Parameters:
445 -- service_name
446 --
447 -- Notes:
448 --
449 -----------------------------------------------------------------------------
450 PROCEDURE stopService( service_name IN varchar2,
451 force IN number
452 default dbms_gsm_common.isFalse);
453
454 -----------------------------------------------------------------------------
455 --
456 -- PROCEDURE addRegion
457 --
458 -- Description:
462 -- region_name - name of the region
459 -- Inform database of addition of a new region in the datalog
460 --
461 -- Parameters:
463 -- buddy_region - name of its buddy
464 --
465 -- Notes:
466 --
467 -----------------------------------------------------------------------------
468 PROCEDURE addRegion( region_name IN varchar2,
469 buddy_region IN varchar2 default NULL);
470
471 -----------------------------------------------------------------------------
472 --
473 -- PROCEDURE modifyRegion
474 --
475 -- Description:
476 -- inform database of modification of region attributes
477 --
478 -- Parameters:
479 -- region_name - name of the region
480 -- buddy_region - name of its buddy
481 --
482 -- Notes:
483 --
484 -----------------------------------------------------------------------------
485 PROCEDURE modifyRegion( region_name IN varchar2,
486 buddy_region IN varchar2 default NULL);
487
488 -----------------------------------------------------------------------------
489 --
490 -- PROCEDURE removeRegion
491 --
492 -- Description:
493 -- inoform database of removal of a region
494 --
495 -- Parameters:
496 -- region_name - name of the region
497 --
498 -- Notes:
499 --
500
501 -----------------------------------------------------------------------------
502 PROCEDURE removeRegion( region_name IN varchar2 );
503 -----------------------------------------------------------------------------
504 --
505 -- PROCEDURE getHostInfo
506 --
507 -- Description:
508 -- Gets information about connected host for GSM
509 --
510 -- Parameters:
511 -- ons_port OUT ONS port number
512 -- scan_name OUT Cluster SCAN name (if appropriate)
513 -- hostname OUT connected server host
514 -- db_type OUT type of database
515 --
516 -- Notes:
517 --
518 -----------------------------------------------------------------------------
519
520 PROCEDURE getHostInfo (ons_port OUT varchar2,
521 scan_name OUT varchar2,
522 hostname OUT varchar2);
523
524 PROCEDURE getHostInfo (ons_port OUT varchar2,
525 scan_name OUT varchar2,
526 hostname OUT varchar2,
527 db_type OUT char);
528
529 -----------------------------------------------------------------------------
530 --
531 -- PROCEDURE getCRSinfo
532 --
533 -- Description:
534 -- Get CRS information
535 --
536 -- Parameters:
537 -- ons_port - ONS port for CRS
538 -- scan_name - scan name for CRS
539 --
540 -- Notes:
541 --
542 -----------------------------------------------------------------------------
543 PROCEDURE getCRSinfo( ons_port OUT varchar2, scan_name OUT varchar2,
544 rac_status OUT pls_integer );
545
546 -----------------------------------------------------------------------------
547 --
548 -- PROCEDURE getGSMinfo
549 --
550 -- Description:
551 -- Get information about the database for GSM
552 --
553 -- Parameters:
554 -- NONE
555 --
556 -- Returns:
557 -- gsm_info - object containing information about the database for GSM
558 --
559 -- Notes:
560 --
561 -----------------------------------------------------------------------------
562 FUNCTION getGSMInfo
563 return gsm_info;
564
565 -----------------------------------------------------------------------------
566 --
567 -- PROCEDURE removeAllServices
568 --
569 -- Description: stop and delete all the global services.
570 --
571 -- Parameters: None
572 --
573 -- Notes:
574 --
575
576 PROCEDURE removeAllServices;
577
578 -----------------------------------------------------------------------------
579 --
580 -- PROCEDURE sync
581 --
582 -- Description: execute modifications on database side.
583 --
584 -- Parameters:
585 -- dsc - describes the new state of database.
586 -- This parameter also is used to return
587 -- host info data and sync status.
588 --
589 -- warnings - output parameter used to return error messages
590 -- occured during sync process.
591 --
592 -- Notes:
593 --
594
595 PROCEDURE sync(dsc IN OUT database_dsc_t, warnings OUT warning_list_t);
596
597 END dbms_gsm_dbadmin;