soa.delete_instances_in_parallel不适用于所有分区

时间:2016-09-30 17:37:24

标签: oracle oracle11g soa purge oracle-soa

我们的组织中有4个不同的分区。我们希望以不同的保留期一次定位一个分区。以下pl / sql块适用于一个分区,但不适用于其他分区。请指教。

PL / SQL块:

DECLARE
max_creation_date timestamp;
min_creation_date timestamp;
batch_size integer;
max_runtime integer;

DOP integer;
max_count integer;
purge_partitioned_component boolean;
SOA_PARTITION_NAME  VARCHAR2(200);

BEGIN
min_creation_date := to_timestamp('2015-01-01','YYYY-MM-DD');
max_creation_date := sysdate - 0;
max_runtime := 60;
batch_size := 10000;
DOP := 3;
max_count := 1000000;
SOA_PARTITION_NAME := 'default'; --define multiple partitions
DEV_SOAINFRA.soa.delete_instances_in_parallel (
min_creation_date => min_creation_date,
max_creation_date => max_creation_date,
batch_size => batch_size,
max_runtime => max_runtime,
DOP => DOP,
max_count => max_count,
SOA_PARTITION_NAME => SOA_PARTITION_NAME
);
END;

感谢。

1 个答案:

答案 0 :(得分:0)

从块本身可以看出它有一个"分区"选项。 " SOA_PARTITION_NAME:='默认&#39 ;; "

使用下面的脚本,在调用时请指定SOA_PARTITION_NAME

DECLARE
max_creation_date timestamp;
min_creation_date timestamp;
batch_size integer;
max_runtime integer;

DOP integer;
max_count integer;
purge_partitioned_component boolean;
SOA_PARTITION_NAME  VARCHAR2(200);

BEGIN
min_creation_date := to_timestamp('2015-01-01','YYYY-MM-DD');
max_creation_date := sysdate - 0;
max_runtime := 60;
batch_size := 10000;
DOP := 3;
max_count := 1000000;
SOA_PARTITION_NAME := SOA_PARTITION_NAME; --define multiple partitions
DEV_SOAINFRA.soa.delete_instances_in_parallel (
min_creation_date => min_creation_date,
max_creation_date => max_creation_date,
batch_size => batch_size,
max_runtime => max_runtime,
DOP => DOP,
max_count => max_count,
SOA_PARTITION_NAME => SOA_PARTITION_NAME
);
END;

您可以将此变为变量并直接调用此包,或者按计划从OSB或SOA调用。

希望它有所帮助。