Olá,
Utilizo "alter session force parallel" para forçar os DDL serem executados em paralelo (quando é E.E) em uma rotina de atualização do software, eliminando a necessidade de adicionar PARALLEL a cada comando DDL (ex: create index). No final da atualização é feita a remoção do paralelismo utilizando "noparallel". O problema é que utilizando "force parallel" os índices temporários são criados sem nenhum erro e no dicionário consta o degree utilizado no "force parallel". Porém, ao tentar remover o paralelismo do índice que foi herdado na criação recebemos um ORA-14451. Se tentarmos criar o índice utilizando o comando "parallel" também recebemos um ORA-14451. Ou seja, o Oracle não suporta paralelismo em índices temporários.
A dúvida é: o Oracle não deveria ignorar o "force parallel" para índices temporários e manter o degree no valor padrão?
Alguém já passou por isso?
Obrigado.
SQL> create global temporary table Table_test (col number);
Table created
SQL> create index Table_test_idx on Table_test(col) parallel 8;
ORA-14451: unsupported feature with temporary table
SQL> alter session force parallel ddl parallel 8;
Session altered
SQL> create index Table_test_idx on Table_test(col);
Index created
SQL> select a.degree from user_indexes a where a.index_name = 'TABLE_TEST_IDX';
DEGREE
----------------------------------------
8
SQL> alter index table_test_idx noparallel;
ORA-14451: unsupported feature with temporary table