mudanças no materializado
-
26-09-2019 - |
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!
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!