DBA Data[Home] [Help]

PACKAGE: SYS.DBMS_XSTREAM_ADM

Source


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;