oracle 无法并行创建实体化视图

ybzsozfc  于 2023-05-28  发布在  Oracle
关注(0)|答案(1)|浏览(174)

我正在尝试创建一个实体化视图,它引用一个包含超过800万条记录的远程表。我把子句“PARALLEL 8”放在DDL MVIEW语句中,把提示“/+ PARALLEL(8)/放在MVIEW QUERY中。
创建时,没有为该进程激活并行从属进程。
怎么了?
谢谢你的建议。
以下是目标服务器的DOP参数:

NAME                                 TYPE        VALUE
------------------------------------ ----------- -----------------------
fast_start_parallel_rollback         string      LOW
parallel_adaptive_multi_user         boolean     TRUE
parallel_automatic_tuning            boolean     FALSE
parallel_degree_level                integer     100
parallel_degree_limit                string      CPU
parallel_degree_policy               string      MANUAL
parallel_execution_message_size      integer     16384
parallel_force_local                 boolean     FALSE
parallel_instance_group              string
parallel_io_cap_enabled              boolean     FALSE
parallel_max_servers                 integer     80
parallel_min_percent                 integer     0
parallel_min_servers                 integer     8
parallel_min_time_threshold          string      AUTO
parallel_server                      boolean     FALSE
parallel_server_instances            integer     1
parallel_servers_target              integer     32
parallel_threads_per_cpu             integer     2
recovery_parallelism                 integer     0

我尝试将参数“parallel_degree_policy”从MANUAL设置为AUTO,并使用以下命令更改会话(在启动MVIEW创建语句”之前):

ALTER SESSION FORCE PARALLEL DML PARALLEL 8;
ALTER SESSION FORCE PARALLEL QUERY PARALLEL 8;

。。。但结果是一样的。
下面是MVIEW DDL:

CREATE MATERIALIZED VIEW MYDB.MYTABLE(FIELD1,FIELD4,FIELD3,FIELD4,FIELD5)
TABLESPACE MY_TBS
PCTUSED    0
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
               INITIAL          1M
               NEXT             30M
       MINEXTENTS       1
       MAXEXTENTS       UNLIMITED
       PCTINCREASE      0
       BUFFER_POOL      DEFAULT
       )
NOCACHE
NOLOGGING
NOCOMPRESS
PARALLEL 8
BUILD IMMEDIATE
USING INDEX
      TABLESPACE MY_TBS
      PCTFREE    10
      INITRANS   2
      MAXTRANS   255
      STORAGE    (
          INITIAL          1M
          NEXT             50M
              MINEXTENTS       1
          MAXEXTENTS       UNLIMITED
          PCTINCREASE      0
          BUFFER_POOL      DEFAULT
          FLASH_CACHE      DEFAULT
          CELL_FLASH_CACHE DEFAULT
      )
REFRESH FAST ON DEMAND
WITH PRIMARY KEY
AS 
SELECT
       /*+ PARALLEL(8) */
       "MYTABLE"."FIELD1",
       "MYTABLE"."FIELD2",
       "MYTABLE"."FIELD3",
       "MYTABLE"."FIELD4",
       "MYTABLE"."FIELD5" 
FROM
       "MYTABLE"@"MYDBLINK" "MYTABLE";
fdx2calv

fdx2calv1#

您将mview DDL和mview查询并行化,可能会遇到一些bug
并行DML未用于Mview刷新(文档ID 2529168.1)
检查MOS笔记,并做一些解决方案。
另一种方法是改变主表degree>1,然后并行刷新。
“当物化视图的主表的PARALLEL属性设置为> 1时,创建和刷新过程将被并行化。无论是否在REFRESH子句中指定PARALLELISM参数都无关紧要。”
如何并行刷新实体化视图(文档ID 577870.1)
我会先尝试第二种方法,并对你的主表修改度做一个测试。如果不能解决您的问题,请查看MOS注解

相关问题