Pessoal, boa tarde.
Estou trabalhando com uma view materializada e preciso criá-la num certo momento, porém, antes, tenho que dropá-la, ou seja, tenho um comando pra dropar e logo em seguida o comando pra recriar a view. Faço isso pois o select dessa view é montado nesse momento. Funciona certinho, fiz teste no 10g e no 9i e rodou perfeito, mas minha dúvida é a seguinte: ao dropar, os objetos que referenciam essa view ficam inativos, porém ao chamá-los, eles se "auto-recompilam" e isso está funcionando corretamente, como eu espero, mas não sei se isso é algum parâmetro do Oracle ou não, se for, preciso informar que esse parâmetro precisa ser alterado, alguém tem idéia?
Abraços.
João.
Parâmetro para recompilar objetos ao chamá-los
-
- Rank: Programador Júnior
- Mensagens: 18
- Registrado em: Qui, 04 Set 2008 2:01 pm
- Localização: Cravinhos - SP
- fabricio.silva
- Rank: Programador Pleno
- Mensagens: 34
- Registrado em: Seg, 12 Mar 2007 7:07 am
- Localização: Catanduva/SP
Fabricio M. Silva
Oracle Certified Associate
------------------------------
Catanduva - SP
Oracle Certified Associate
------------------------------
Catanduva - SP
Olá João,
Este é um comportamento padrão do banco, toda vez que você for executar uma stored procedure, o banco verifica seu status e tenta recompilar caso esteja inválido.
Só tem problema mesmo quando tem alguma alteração nas estruturas das tabelas o que pode invalidar o PL/SQL dentro de uma stored procedure.
Abs,
Este é um comportamento padrão do banco, toda vez que você for executar uma stored procedure, o banco verifica seu status e tenta recompilar caso esteja inválido.
Só tem problema mesmo quando tem alguma alteração nas estruturas das tabelas o que pode invalidar o PL/SQL dentro de uma stored procedure.
Abs,
-
- Rank: Programador Júnior
- Mensagens: 18
- Registrado em: Qui, 04 Set 2008 2:01 pm
- Localização: Cravinhos - SP
Olá Fabrício. Então neste caso eu não preciso me preocupar com possíveis erros de compilação? O BD sempre vai recompilar os objetos?
João.
João.
- fabricio.silva
- Rank: Programador Pleno
- Mensagens: 34
- Registrado em: Seg, 12 Mar 2007 7:07 am
- Localização: Catanduva/SP
Fabricio M. Silva
Oracle Certified Associate
------------------------------
Catanduva - SP
Oracle Certified Associate
------------------------------
Catanduva - SP
Olá João,
O BD sempre vai tentar recompilar os objetos inválidos, mas isso não é garantia que estes objetos sempre serão recompilados com sucesso, como disse, pode haver casos de mudança em estrutura e isso pode gerar um código inválido que o BD não é capaz de resolver.
É recomendável nesses casos uma boa rotina de tratamento de exceções, com pelo menos um log/email ou qualquer outra forma de notificação para evitar qualquer surpresa.
Abs,
O BD sempre vai tentar recompilar os objetos inválidos, mas isso não é garantia que estes objetos sempre serão recompilados com sucesso, como disse, pode haver casos de mudança em estrutura e isso pode gerar um código inválido que o BD não é capaz de resolver.
É recomendável nesses casos uma boa rotina de tratamento de exceções, com pelo menos um log/email ou qualquer outra forma de notificação para evitar qualquer surpresa.
Abs,
-
- Rank: Programador Júnior
- Mensagens: 18
- Registrado em: Qui, 04 Set 2008 2:01 pm
- Localização: Cravinhos - SP
Perfeito Fabrício. Obrigado.
No meu caso, a estrutura estará toda OK, portanto o BD sempre irá conseguir recompilar os dados. Valeu pela ajuda. Abraços.
No meu caso, a estrutura estará toda OK, portanto o BD sempre irá conseguir recompilar os dados. Valeu pela ajuda. Abraços.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante