1 PACKAGE dbms_xstream_adm AUTHID CURRENT_USER AS
2 -- constants for resetting configuration
3 RESET_PARAMETERS CONSTANT BINARY_INTEGER := 1;
4 RESET_HANDLERS CONSTANT BINARY_INTEGER := 2;
5 RESET_PROGRESS CONSTANT BINARY_INTEGER := 4;
6 RESET_ALL CONSTANT BINARY_INTEGER := 2147483647;
7
8 -- The following constants are used by set_message_tracing
9 action_trace CONSTANT BINARY_INTEGER := 1;
10 action_memory CONSTANT BINARY_INTEGER := 2;
11
12 -- flag for alter_outbound to identify whether is xstream
13 is_xstream BOOLEAN;
14
15 -- Procedure create_outbound creates an outbound server, necessary queue
16 -- and associated capture to allow clients to stream out LCRs from the
17 -- specified source database.
18 --
19 -- If no table or schema specified then the outbound server will stream
20 -- all DDL and DML changes.
21 --
22 -- If capture_name is not specified then a capture is created using a
23 -- system-generated name. If capture_name is specified and existed then
24 -- that capture is used; otherwise, a new capture is created using the
25 -- given name.
26 PROCEDURE create_outbound(
27 server_name IN VARCHAR2,
28 source_database IN VARCHAR2 DEFAULT NULL,
29 table_names IN VARCHAR2 DEFAULT NULL,
30 schema_names IN VARCHAR2 DEFAULT NULL,
31 capture_user IN VARCHAR2 DEFAULT NULL,
32 connect_user IN VARCHAR2 DEFAULT NULL,
33 comment IN VARCHAR2 DEFAULT NULL,
34 capture_name IN VARCHAR2 DEFAULT NULL,
35 include_dml IN BOOLEAN DEFAULT TRUE,
36 include_ddl IN BOOLEAN DEFAULT TRUE,
37 source_root_name IN VARCHAR2 DEFAULT NULL,
38 source_container_name IN VARCHAR2 DEFAULT NULL);
39
40 PROCEDURE create_outbound(
41 server_name IN VARCHAR2,
42 source_database IN VARCHAR2 DEFAULT NULL,
43 table_names IN DBMS_UTILITY.UNCL_ARRAY,
44 schema_names IN DBMS_UTILITY.UNCL_ARRAY,
45 capture_user IN VARCHAR2 DEFAULT NULL,
46 connect_user IN VARCHAR2 DEFAULT NULL,
47 comment IN VARCHAR2 DEFAULT NULL,
48 capture_name IN VARCHAR2 DEFAULT NULL,
49 include_dml IN BOOLEAN DEFAULT TRUE,
50 include_ddl IN BOOLEAN DEFAULT TRUE,
51 source_root_name IN VARCHAR2 DEFAULT NULL,
52 source_container_name IN VARCHAR2 DEFAULT NULL);
53
54 /* NOT SUPPORTING OUT PARAMETERS FOR NOW
55
56 PROCEDURE create_outbound(
57 server_name IN VARCHAR2,
58 source_database IN VARCHAR2 DEFAULT NULL,
59 table_names IN DBMS_UTILITY.UNCL_ARRAY,
60 schema_names IN DBMS_UTILITY.UNCL_ARRAY,
61 capture_user IN VARCHAR2 DEFAULT NULL,
62 connect_user IN VARCHAR2 DEFAULT NULL,
63 comment IN VARCHAR2 DEFAULT NULL,
64 ddl_table_rule_names OUT DBMS_UTILITY.UNCL_ARRAY,
65 dml_table_rule_names OUT DBMS_UTILITY.UNCL_ARRAY,
66 ddl_schema_rule_names OUT DBMS_UTILITY.UNCL_ARRAY,
67 dml_schema_rule_names OUT DBMS_UTILITY.UNCL_ARRAY);
68
69 PROCEDURE create_outbound(
70 server_name IN VARCHAR2,
71 source_database IN VARCHAR2 DEFAULT NULL,
72 table_names IN VARCHAR2 DEFAULT NULL,
73 schema_names IN VARCHAR2 DEFAULT NULL,
74 capture_user IN VARCHAR2 DEFAULT NULL,
75 connect_user IN VARCHAR2 DEFAULT NULL,
76 comment IN VARCHAR2 DEFAULT NULL,
77 ddl_table_rule_names OUT VARCHAR2,
78 dml_table_rule_names OUT VARCHAR2,
79 ddl_schema_rule_names OUT VARCHAR2,
80 dml_schema_rule_names OUT VARCHAR2);
81
82 */
83
84 PROCEDURE alter_outbound(
85 server_name IN VARCHAR2,
86 table_names IN DBMS_UTILITY.UNCL_ARRAY,
87 schema_names IN DBMS_UTILITY.UNCL_ARRAY,
88 add IN BOOLEAN DEFAULT TRUE,
89 capture_user IN VARCHAR2 DEFAULT NULL,
90 connect_user IN VARCHAR2 DEFAULT NULL,
91 comment IN VARCHAR2 DEFAULT NULL,
92 inclusion_rule IN BOOLEAN DEFAULT TRUE,
93 start_scn IN NUMBER DEFAULT NULL,
94 start_time IN TIMESTAMP DEFAULT NULL,
95 include_dml IN BOOLEAN DEFAULT TRUE,
96 include_ddl IN BOOLEAN DEFAULT TRUE,
97 source_database IN VARCHAR2 DEFAULT NULL,
98 source_container_name IN VARCHAR2 DEFAULT NULL);
99
100 PROCEDURE alter_outbound(
101 server_name IN VARCHAR2,
102 table_names IN VARCHAR2 DEFAULT NULL,
103 schema_names IN VARCHAR2 DEFAULT NULL,
104 add IN BOOLEAN DEFAULT TRUE,
105 capture_user IN VARCHAR2 DEFAULT NULL,
106 connect_user IN VARCHAR2 DEFAULT NULL,
107 comment IN VARCHAR2 DEFAULT NULL,
108 inclusion_rule IN BOOLEAN DEFAULT TRUE,
109 start_scn IN NUMBER DEFAULT NULL,
110 start_time IN TIMESTAMP DEFAULT NULL,
111 include_dml IN BOOLEAN DEFAULT TRUE,
112 include_ddl IN BOOLEAN DEFAULT TRUE,
113 source_database IN VARCHAR2 DEFAULT NULL,
114 source_container_name IN VARCHAR2 DEFAULT NULL);
115
116 -- Add an outbound server to an existing queue or capture.
117 -- Either the queue name or capture name must be specified. If both are
118 -- specified then the capture must be local, and the queue name must match
119 -- the capture's queue.
120 PROCEDURE add_outbound(
121 server_name IN VARCHAR2,
122 queue_name IN VARCHAR2 DEFAULT NULL,
123 source_database IN VARCHAR2 DEFAULT NULL,
124 table_names IN DBMS_UTILITY.UNCL_ARRAY,
125 schema_names IN DBMS_UTILITY.UNCL_ARRAY,
126 connect_user IN VARCHAR2 DEFAULT NULL,
127 comment IN VARCHAR2 DEFAULT NULL,
128 capture_name IN VARCHAR2 DEFAULT NULL,
129 start_scn IN NUMBER DEFAULT NULL,
130 start_time IN TIMESTAMP DEFAULT NULL,
131 include_dml IN BOOLEAN DEFAULT TRUE,
132 include_ddl IN BOOLEAN DEFAULT TRUE,
133 source_root_name IN VARCHAR2 DEFAULT NULL,
134 source_container_name IN VARCHAR2 DEFAULT NULL);
135
136 PROCEDURE add_outbound(
137 server_name IN VARCHAR2,
138 queue_name IN VARCHAR2 DEFAULT NULL,
139 source_database IN VARCHAR2 DEFAULT NULL,
140 table_names IN VARCHAR2 DEFAULT NULL,
141 schema_names IN VARCHAR2 DEFAULT NULL,
142 connect_user IN VARCHAR2 DEFAULT NULL,
143 comment IN VARCHAR2 DEFAULT NULL,
144 capture_name IN VARCHAR2 DEFAULT NULL,
145 start_scn IN NUMBER DEFAULT NULL,
146 start_time IN TIMESTAMP DEFAULT NULL,
147 include_dml IN BOOLEAN DEFAULT TRUE,
148 include_ddl IN BOOLEAN DEFAULT TRUE,
149 source_root_name IN VARCHAR2 DEFAULT NULL,
150 source_container_name IN VARCHAR2 DEFAULT NULL);
151
152 PROCEDURE drop_outbound(
153 server_name IN VARCHAR2);
154
155 PROCEDURE add_subset_outbound_rules(
156 server_name IN VARCHAR2,
157 table_name IN VARCHAR2,
158 condition IN VARCHAR2 DEFAULT NULL,
159 column_list IN DBMS_UTILITY.LNAME_ARRAY,
160 keep IN BOOLEAN DEFAULT TRUE,
161 source_database IN VARCHAR2 DEFAULT NULL);
162
163 PROCEDURE add_subset_outbound_rules(
164 server_name IN VARCHAR2,
165 table_name IN VARCHAR2,
166 condition IN VARCHAR2 DEFAULT NULL,
167 column_list IN VARCHAR2 DEFAULT NULL,
168 keep IN BOOLEAN DEFAULT TRUE,
169 source_database IN VARCHAR2 DEFAULT NULL);
170
171 -- Removes the specified subsetting rules from the given outbound server.
172 -- The specified rules must have been created for the same subsetting
173 -- condition.
174 PROCEDURE remove_subset_outbound_rules(
175 server_name IN VARCHAR2,
176 insert_rule_name IN VARCHAR2,
177 update_rule_name IN VARCHAR2,
178 delete_rule_name IN VARCHAR2);
179
180 -- Create an inbound server using the specified queue. If the specified
181 -- queue does not exist then this procedure will create one.
182 PROCEDURE create_inbound(
183 server_name IN VARCHAR2,
184 queue_name IN VARCHAR2,
185 apply_user IN VARCHAR2 DEFAULT NULL,
186 comment IN VARCHAR2 DEFAULT NULL);
187
188 PROCEDURE alter_inbound(
189 server_name IN VARCHAR2,
190 apply_user IN VARCHAR2 DEFAULT NULL,
191 comment IN VARCHAR2 DEFAULT NULL);
192
193 PROCEDURE drop_inbound(
194 server_name IN VARCHAR2);
195
196 PROCEDURE enable_gg_xstream_for_streams(
197 enable IN BOOLEAN DEFAULT TRUE);
198
199 FUNCTION is_gg_xstream_for_streams RETURN BOOLEAN;
200
201 PROCEDURE add_global_rules(
202 streams_type IN VARCHAR2,
203 streams_name IN VARCHAR2 DEFAULT NULL,
204 queue_name IN VARCHAR2 DEFAULT 'streams_queue',
205 include_dml IN BOOLEAN DEFAULT TRUE,
206 include_ddl IN BOOLEAN DEFAULT FALSE,
207 include_tagged_lcr IN BOOLEAN DEFAULT TRUE,
208 source_database IN VARCHAR2 DEFAULT NULL,
209 inclusion_rule IN BOOLEAN DEFAULT TRUE,
210 and_condition IN VARCHAR2 DEFAULT NULL,
211 source_root_name IN VARCHAR2 DEFAULT NULL,
212 source_container_name IN VARCHAR2 DEFAULT NULL);
213
214 PROCEDURE add_global_rules(
215 streams_type IN VARCHAR2,
216 streams_name IN VARCHAR2 DEFAULT NULL,
217 queue_name IN VARCHAR2 DEFAULT 'streams_queue',
218 include_dml IN BOOLEAN DEFAULT TRUE,
219 include_ddl IN BOOLEAN DEFAULT FALSE,
220 include_tagged_lcr IN BOOLEAN DEFAULT TRUE,
221 source_database IN VARCHAR2 DEFAULT NULL,
222 dml_rule_name OUT VARCHAR2,
223 ddl_rule_name OUT VARCHAR2,
224 inclusion_rule IN BOOLEAN DEFAULT TRUE,
225 and_condition IN VARCHAR2 DEFAULT NULL,
226 source_root_name IN VARCHAR2 DEFAULT NULL,
227 source_container_name IN VARCHAR2 DEFAULT NULL);
228
229 PROCEDURE add_schema_rules(
230 schema_name IN VARCHAR2,
231 streams_type IN VARCHAR2,
232 streams_name IN VARCHAR2 DEFAULT NULL,
233 queue_name IN VARCHAR2 DEFAULT 'streams_queue',
234 include_dml IN BOOLEAN DEFAULT TRUE,
235 include_ddl IN BOOLEAN DEFAULT FALSE,
236 include_tagged_lcr IN BOOLEAN DEFAULT TRUE,
237 source_database IN VARCHAR2 DEFAULT NULL,
238 inclusion_rule IN BOOLEAN DEFAULT TRUE,
239 and_condition IN VARCHAR2 DEFAULT NULL,
240 source_root_name IN VARCHAR2 DEFAULT NULL,
241 source_container_name IN VARCHAR2 DEFAULT NULL);
242
243 PROCEDURE add_schema_rules(
244 schema_name IN VARCHAR2,
245 streams_type IN VARCHAR2,
246 streams_name IN VARCHAR2 DEFAULT NULL,
247 queue_name IN VARCHAR2 DEFAULT 'streams_queue',
248 include_dml IN BOOLEAN DEFAULT TRUE,
249 include_ddl IN BOOLEAN DEFAULT FALSE,
250 include_tagged_lcr IN BOOLEAN DEFAULT TRUE,
251 source_database IN VARCHAR2 DEFAULT NULL,
252 dml_rule_name OUT VARCHAR2,
253 ddl_rule_name OUT VARCHAR2,
254 inclusion_rule IN BOOLEAN DEFAULT TRUE,
255 and_condition IN VARCHAR2 DEFAULT NULL,
256 source_root_name IN VARCHAR2 DEFAULT NULL,
257 source_container_name IN VARCHAR2 DEFAULT NULL);
258
259 PROCEDURE add_table_rules(
260 table_name IN VARCHAR2,
261 streams_type IN VARCHAR2,
262 streams_name IN VARCHAR2 DEFAULT NULL,
263 queue_name IN VARCHAR2 DEFAULT 'streams_queue',
264 include_dml IN BOOLEAN DEFAULT TRUE,
265 include_ddl IN BOOLEAN DEFAULT FALSE,
266 include_tagged_lcr IN BOOLEAN DEFAULT TRUE,
267 source_database IN VARCHAR2 DEFAULT NULL,
268 inclusion_rule IN BOOLEAN DEFAULT TRUE,
269 and_condition IN VARCHAR2 DEFAULT NULL,
270 source_root_name IN VARCHAR2 DEFAULT NULL,
271 source_container_name IN VARCHAR2 DEFAULT NULL);
272
273 PROCEDURE add_table_rules(
274 table_name IN VARCHAR2,
275 streams_type IN VARCHAR2,
276 streams_name IN VARCHAR2 DEFAULT NULL,
277 queue_name IN VARCHAR2 DEFAULT 'streams_queue',
278 include_dml IN BOOLEAN DEFAULT TRUE,
279 include_ddl IN BOOLEAN DEFAULT FALSE,
280 include_tagged_lcr IN BOOLEAN DEFAULT TRUE,
281 source_database IN VARCHAR2 DEFAULT NULL,
282 dml_rule_name OUT VARCHAR2,
283 ddl_rule_name OUT VARCHAR2,
284 inclusion_rule IN BOOLEAN DEFAULT TRUE,
285 and_condition IN VARCHAR2 DEFAULT NULL,
286 source_root_name IN VARCHAR2 DEFAULT NULL,
287 source_container_name IN VARCHAR2 DEFAULT NULL);
288
289 PROCEDURE add_subset_rules(
290 table_name IN VARCHAR2,
291 dml_condition IN VARCHAR2,
292 streams_type IN VARCHAR2 DEFAULT 'APPLY',
293 streams_name IN VARCHAR2 DEFAULT NULL,
294 queue_name IN VARCHAR2 DEFAULT 'streams_queue',
295 include_tagged_lcr IN BOOLEAN DEFAULT TRUE,
296 source_database IN VARCHAR2 DEFAULT NULL,
297 source_root_name IN VARCHAR2 DEFAULT NULL,
298 source_container_name IN VARCHAR2 DEFAULT NULL);
299
300 PROCEDURE add_subset_rules(
301 table_name IN VARCHAR2,
302 dml_condition IN VARCHAR2,
303 streams_type IN VARCHAR2 DEFAULT 'APPLY',
304 streams_name IN VARCHAR2 DEFAULT NULL,
305 queue_name IN VARCHAR2 DEFAULT 'streams_queue',
306 include_tagged_lcr IN BOOLEAN DEFAULT TRUE,
307 source_database IN VARCHAR2 DEFAULT NULL,
308 insert_rule_name OUT VARCHAR2,
309 update_rule_name OUT VARCHAR2,
310 delete_rule_name OUT VARCHAR2,
311 source_root_name IN VARCHAR2 DEFAULT NULL,
312 source_container_name IN VARCHAR2 DEFAULT NULL);
313
314 PROCEDURE add_subset_propagation_rules(
315 table_name IN VARCHAR2,
316 dml_condition IN VARCHAR2,
317 streams_name IN VARCHAR2 DEFAULT NULL,
318 source_queue_name IN VARCHAR2,
319 destination_queue_name IN VARCHAR2,
320 include_tagged_lcr IN BOOLEAN DEFAULT TRUE,
321 source_database IN VARCHAR2 DEFAULT NULL,
322 queue_to_queue IN BOOLEAN DEFAULT NULL);
323
324 PROCEDURE add_subset_propagation_rules(
325 table_name IN VARCHAR2,
326 dml_condition IN VARCHAR2,
327 streams_name IN VARCHAR2 DEFAULT NULL,
328 source_queue_name IN VARCHAR2,
329 destination_queue_name IN VARCHAR2,
330 include_tagged_lcr IN BOOLEAN DEFAULT TRUE,
331 source_database IN VARCHAR2 DEFAULT NULL,
332 insert_rule_name OUT VARCHAR2,
333 update_rule_name OUT VARCHAR2,
334 delete_rule_name OUT VARCHAR2,
335 queue_to_queue IN BOOLEAN DEFAULT NULL);
336
337 PROCEDURE add_table_propagation_rules(
338 table_name IN VARCHAR2,
339 streams_name IN VARCHAR2 DEFAULT NULL,
340 source_queue_name IN VARCHAR2,
341 destination_queue_name IN VARCHAR2,
342 include_dml IN BOOLEAN DEFAULT TRUE,
343 include_ddl IN BOOLEAN DEFAULT FALSE,
344 include_tagged_lcr IN BOOLEAN DEFAULT TRUE,
345 source_database IN VARCHAR2 DEFAULT NULL,
346 inclusion_rule IN BOOLEAN DEFAULT TRUE,
347 and_condition IN VARCHAR2 DEFAULT NULL,
348 queue_to_queue IN BOOLEAN DEFAULT NULL);
349
350 PROCEDURE add_table_propagation_rules(
351 table_name IN VARCHAR2,
352 streams_name IN VARCHAR2 DEFAULT NULL,
353 source_queue_name IN VARCHAR2,
354 destination_queue_name IN VARCHAR2,
355 include_dml IN BOOLEAN DEFAULT TRUE,
356 include_ddl IN BOOLEAN DEFAULT FALSE,
357 include_tagged_lcr IN BOOLEAN DEFAULT TRUE,
358 source_database IN VARCHAR2 DEFAULT NULL,
359 dml_rule_name OUT VARCHAR2,
360 ddl_rule_name OUT VARCHAR2,
361 inclusion_rule IN BOOLEAN DEFAULT TRUE,
362 and_condition IN VARCHAR2 DEFAULT NULL,
363 queue_to_queue IN BOOLEAN DEFAULT NULL);
364
365 PROCEDURE add_schema_propagation_rules(
366 schema_name IN VARCHAR2,
367 streams_name IN VARCHAR2 DEFAULT NULL,
368 source_queue_name IN VARCHAR2,
369 destination_queue_name IN VARCHAR2,
370 include_dml IN BOOLEAN DEFAULT TRUE,
371 include_ddl IN BOOLEAN DEFAULT FALSE,
372 include_tagged_lcr IN BOOLEAN DEFAULT TRUE,
373 source_database IN VARCHAR2 DEFAULT NULL,
374 inclusion_rule IN BOOLEAN DEFAULT TRUE,
375 and_condition IN VARCHAR2 DEFAULT NULL,
376 queue_to_queue IN BOOLEAN DEFAULT NULL);
377
378 PROCEDURE add_schema_propagation_rules(
379 schema_name IN VARCHAR2,
380 streams_name IN VARCHAR2 DEFAULT NULL,
381 source_queue_name IN VARCHAR2,
382 destination_queue_name IN VARCHAR2,
383 include_dml IN BOOLEAN DEFAULT TRUE,
384 include_ddl IN BOOLEAN DEFAULT FALSE,
385 include_tagged_lcr IN BOOLEAN DEFAULT TRUE,
386 source_database IN VARCHAR2 DEFAULT NULL,
387 dml_rule_name OUT VARCHAR2,
388 ddl_rule_name OUT VARCHAR2,
389 inclusion_rule IN BOOLEAN DEFAULT TRUE,
390 and_condition IN VARCHAR2 DEFAULT NULL,
391 queue_to_queue IN BOOLEAN DEFAULT NULL);
392
393 PROCEDURE add_global_propagation_rules(
394 streams_name IN VARCHAR2 DEFAULT NULL,
395 source_queue_name IN VARCHAR2,
396 destination_queue_name IN VARCHAR2,
397 include_dml IN BOOLEAN DEFAULT TRUE,
398 include_ddl IN BOOLEAN DEFAULT FALSE,
399 include_tagged_lcr IN BOOLEAN DEFAULT TRUE,
400 source_database IN VARCHAR2 DEFAULT NULL,
401 inclusion_rule IN BOOLEAN DEFAULT TRUE,
402 and_condition IN VARCHAR2 DEFAULT NULL,
403 queue_to_queue IN BOOLEAN DEFAULT NULL);
404
405 PROCEDURE add_global_propagation_rules(
406 streams_name IN VARCHAR2 DEFAULT NULL,
407 source_queue_name IN VARCHAR2,
408 destination_queue_name IN VARCHAR2,
409 include_dml IN BOOLEAN DEFAULT TRUE,
410 include_ddl IN BOOLEAN DEFAULT FALSE,
411 include_tagged_lcr IN BOOLEAN DEFAULT TRUE,
412 source_database IN VARCHAR2 DEFAULT NULL,
413 dml_rule_name OUT VARCHAR2,
414 ddl_rule_name OUT VARCHAR2,
415 inclusion_rule IN BOOLEAN DEFAULT TRUE,
416 and_condition IN VARCHAR2 DEFAULT NULL,
417 queue_to_queue IN BOOLEAN DEFAULT NULL);
418
419 PROCEDURE purge_source_catalog(
420 source_database IN VARCHAR2,
421 source_object_name IN VARCHAR2,
422 source_object_type IN VARCHAR2,
423 source_root_name IN VARCHAR2);
424
425 PROCEDURE remove_xstream_configuration(
426 container IN VARCHAR2 DEFAULT 'CURRENT',
427 xstream_only IN BOOLEAN DEFAULT TRUE);
428
429 PROCEDURE remove_rule(
430 rule_name IN VARCHAR2,
431 streams_type IN VARCHAR2,
432 streams_name IN VARCHAR2,
433 drop_unused_rule IN BOOLEAN DEFAULT TRUE,
434 inclusion_rule IN BOOLEAN DEFAULT TRUE);
435
436 PROCEDURE set_up_queue(
437 queue_table IN VARCHAR2 DEFAULT 'streams_queue_table',
438 storage_clause IN VARCHAR2 DEFAULT NULL,
439 queue_name IN VARCHAR2 DEFAULT 'streams_queue',
440 queue_user IN VARCHAR2 DEFAULT NULL,
441 comment IN VARCHAR2 DEFAULT NULL);
442
443 PROCEDURE remove_queue(
444 queue_name IN VARCHAR2,
445 cascade IN BOOLEAN DEFAULT FALSE,
446 drop_unused_queue_table IN BOOLEAN DEFAULT TRUE);
447
448
449 /*split off a propagation. If any of cloned_propagation_name,
450 cloned_capture_namei, cloned_queue_name are null, we will
451 generate a name for it*/
452 PROCEDURE split_streams (
453 propagation_name IN VARCHAR2,
454 cloned_propagation_name IN VARCHAR2 DEFAULT NULL,
455 cloned_queue_name IN VARCHAR2 DEFAULT NULL,
456 cloned_capture_name IN VARCHAR2 DEFAULT NULL,
457 perform_actions IN BOOLEAN DEFAULT TRUE,
458 script_name IN VARCHAR2 DEFAULT NULL,
459 script_directory_object IN VARCHAR2 DEFAULT NULL,
460 auto_merge_threshold IN NUMBER DEFAULT NULL,
461 schedule_name IN OUT VARCHAR2,
462 merge_job_name IN OUT VARCHAR2);
463
464 /* merge the propagation */
465 PROCEDURE merge_streams (
466 cloned_propagation_name IN VARCHAR2,
467 propagation_name IN VARCHAR2 DEFAULT NULL,
468 queue_name IN VARCHAR2 DEFAULT NULL,
469 perform_actions IN BOOLEAN DEFAULT TRUE,
470 script_name IN VARCHAR2 DEFAULT NULL,
471 script_directory_object IN VARCHAR2 DEFAULT NULL);
472
473 /* This function is called by a merge streams job to merge two streams */
474 PROCEDURE merge_streams_job (
475 cloned_propagation_name IN VARCHAR2,
476 propagation_name IN VARCHAR2 DEFAULT NULL,
477 queue_name IN VARCHAR2 DEFAULT NULL,
478 merge_threshold IN NUMBER,
479 schedule_name IN VARCHAR2 DEFAULT NULL,
480 merge_job_name IN VARCHAR2 DEFAULT NULL);
481
482 PROCEDURE rename_schema(
483 rule_name IN VARCHAR2,
484 from_schema_name IN VARCHAR2,
485 to_schema_name IN VARCHAR2,
486 step_number IN NUMBER DEFAULT 0,
487 operation IN VARCHAR2 DEFAULT 'ADD');
488
489 PROCEDURE rename_table(
490 rule_name IN VARCHAR2,
491 from_table_name IN VARCHAR2,
492 to_table_name IN VARCHAR2,
493 step_number IN NUMBER DEFAULT 0,
494 operation IN VARCHAR2 DEFAULT 'ADD');
495
496 PROCEDURE delete_column(
497 rule_name IN VARCHAR2,
498 table_name IN VARCHAR2,
499 column_name IN VARCHAR2,
500 value_type IN VARCHAR2 DEFAULT '*',
501 step_number IN NUMBER DEFAULT 0,
502 operation IN VARCHAR2 DEFAULT 'ADD');
503
504 PROCEDURE keep_columns(
505 rule_name IN VARCHAR2,
506 table_name IN VARCHAR2,
507 column_table IN DBMS_UTILITY.LNAME_ARRAY,
508 value_type IN VARCHAR2 DEFAULT '*',
509 step_number IN NUMBER DEFAULT 0,
510 operation IN VARCHAR2 DEFAULT 'ADD');
511
512 PROCEDURE keep_columns(
513 rule_name IN VARCHAR2,
514 table_name IN VARCHAR2,
515 column_list IN VARCHAR2,
516 value_type IN VARCHAR2 DEFAULT '*',
517 step_number IN NUMBER DEFAULT 0,
518 operation IN VARCHAR2 DEFAULT 'ADD');
519
520 PROCEDURE rename_column(
521 rule_name IN VARCHAR2,
522 table_name IN VARCHAR2,
523 from_column_name IN VARCHAR2,
524 to_column_name IN VARCHAR2,
525 value_type IN VARCHAR2 DEFAULT '*',
526 step_number IN NUMBER DEFAULT 0,
527 operation IN VARCHAR2 DEFAULT 'ADD');
528
529 PROCEDURE add_column(
530 rule_name IN VARCHAR2,
531 table_name IN VARCHAR2,
532 column_name IN VARCHAR2,
533 column_value IN SYS.ANYDATA,
534 value_type IN VARCHAR2 DEFAULT 'NEW',
535 step_number IN NUMBER DEFAULT 0,
536 operation IN VARCHAR2 DEFAULT 'ADD');
537
538 PROCEDURE add_column(
539 rule_name IN VARCHAR2,
540 table_name IN VARCHAR2,
541 column_name IN VARCHAR2,
542 column_function IN VARCHAR2,
543 value_type IN VARCHAR2 DEFAULT 'NEW',
544 step_number IN NUMBER DEFAULT 0,
545 operation IN VARCHAR2 DEFAULT 'ADD');
546
547 PROCEDURE set_message_tracking(
548 tracking_label IN VARCHAR2 DEFAULT 'xstream_tracking',
549 actions IN NUMBER DEFAULT action_memory);
550
551 FUNCTION get_message_tracking RETURN VARCHAR2;
552
553 PROCEDURE set_tag(tag IN RAW DEFAULT NULL);
554
555 FUNCTION get_tag RETURN RAW;
556
557 -- Start the capture and/or apply process associated with the specified
558 -- outbound server.
559 -- If the given server is in committed data mode, then start the apply.
560 -- If the capture associated with the outbound server is colocated then
561 -- start the capture as well.
562 PROCEDURE start_outbound(
563 server_name IN VARCHAR2);
564
565 -- Stop the client from receiving data from the specified outbound server.
566 -- In addition, if force is TRUE then stop the capture and/or apply
567 -- associated with the specified outbound server.
568 PROCEDURE stop_outbound(
569 server_name IN VARCHAR2,
570 force IN BOOLEAN DEFAULT FALSE);
571
572 -- procedure for setting capture or apply process parameters
573 -- streams_name - The name of the capture or apply process.
574 -- streams_type - The type of process: capture or apply
575 -- value=NULL will set the parameter to its default value.
576 -- no_wait=TRUE will bypass the 3 second wait when altering the capture/apply
577 -- process KGL object.
578 PROCEDURE set_parameter(
579 streams_name IN VARCHAR2,
580 streams_type IN VARCHAR2, /* 'CAPTURE' or 'APPLY' */
581 parameter IN VARCHAR2, /* parameter name */
582 value IN VARCHAR2 DEFAULT NULL,
583 no_wait IN BOOleAN DEFAULT FALSE,
584 source_database IN VARCHAR2 DEFAULT NULL);
585
586 PROCEDURE recover_operation(
587 script_id IN RAW,
588 operation_mode IN VARCHAR2 DEFAULT 'FORWARD');
589
590 END dbms_xstream_adm;