soa.delete_instances_in_parallel不适用于所有分区
问题描述:
我们在组织中有4个不同的分区。我们希望以不同的保留期限同时针对一个分区。以下pl/sql块适用于一个分区,但不适用于其他分区。请指教。soa.delete_instances_in_parallel不适用于所有分区
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;
感谢。
答
正如你可以从块本身看到的那样,它有一个“分区”选项。 “SOA_PARTITION_NAME:=‘默认’;”
使用下面的脚本,并在调用请注明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在日程表中调用这个包。
希望它有帮助。