Pergunta

Eu tenho uma visualização materializada em um servidor criado pelo link DB. Há um trabalho em execução nesse mview. (criado com dbms_refresh.make anteriormente).

Agora eu criei 3 novos campos na tabela original. Minhas perguntas são.

1) Preciso cair e criar MVIEW novamente, se sim, preciso criar o MVIEW LOGN Server novamente 2) O que acontece com a execução do trabalho no MVIEW, preciso criá -lo AGIN?

Também existem visualizações criadas no MVIEW, então -se eu executar Criar ou substituir a consulta de exibição, ele criará algum problema?

Por favor, guie.

Obrigado!

Foi útil?

Solução

Se você precisar incluir as novas colunas em sua visualização materializada, sim, precisará recriar a visão materializada. Você deve abandonar explicitamente a visualização, pois não há instrução "Criar ou substituir a exibição materializada".

DROP MATERIALIZED VIEW blah;
CREATE MATERIALIZED VIEW blah...

A queda/recriação da visão materializada deve recriar o trabalho de atualização. Não é 100% certo, mas você provavelmente deve recriar o log também.

E, se você não precisar incluir as novas colunas em sua opinião, você realmente não precisa fazer nada ...

Outras dicas

Depois de abandonar/criar a visão materializada, você deve recompilar as outras visualizações posteriormente, porque elas podem ter se tornado inválidas.

Você pode verificar se isso aconteceu com

select * 
from user_objects
where status = 'INVALID';

Recompilar uma visão pode ser feita com

alter view the_view compile;

ou

exec dbms_utility.compile_schema(user);

Isso simplesmente recompa tudo em seu esquema. Certifique -se de não ter empregos de corrida enquanto faz isso!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top