Grande Chiappa!!! :)
Sim, revalidei todos os objetos que invalidaram. Mas é que fiquei com a dúvida...... como se tratava de uma coluna nova, não achei que pudesse acontecer a invalidação....mas serviu de lição e aprendizado! J Obrigada à todos pelas explicações, e esclarecimentos! ;-) Valeu!!!!! Att, Renata De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Enviada em: terça-feira, 3 de dezembro de 2019 10:48 Para: oracle_br@yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Dúvida sobre AL TER TABLE (ADD e MODIFY) - Inval idação de Objetos de Banco! Renata, PMFJI mas coloco uma obs : pode ter CERTEZA de que se o objeto que ficou inválido não referencia diretamente a coluna alterada, ALGUMA outra referência indireta tem SIM : ele talvez chama uma outra rotina PL/SQL que aí sim referencia a coluna, ou faz um SELECT * na tabela que possui a coluna, ou usa um TYPE ou um REF CURSOR que acessa a coluna, enfim, algum tipo de dependência MESMO que indireta tinha sim, blz ?? O que EU costumo fazer é simplesmente depois de ter feito DDLs é rodar um script que me LISTA os objetos que ficaram inválidos após o DDL e já mostra os compiles que tenho que fazer, tipo : select 'alter '||decode(OBJECT_TYPE,'PACKAGE BODY','PACKAGE',OBJECT_TYPE)||' '||OWNER||'.'||OBJECT_NAME||' compile;' from ALL_OBJECTS where STATUS <> 'VALID' and OBJECT_TYPE <> 'SYNONYM' union ALL select 'create or replace public synonym '||OBJECT_NAME||' for '||OBJECT_NAME||';' from ALL_OBJECTS where STATUS <> 'VALID' and OBJECT_TYPE = 'SYNONYM' / select 'alter trigger '||OWNER||'.'||TRIGGER_NAME||' enable;' from ALL_TRIGGERS where STATUS <> 'ENABLED' / Muitas vezes essa cadeia de dependências (tipo, proc A chama proc B que usa TYPE T que aí sim referencia a coluna, digamos) pode FACILMENTE ficar bem complexa de acompanhar, então eu nem perco tempo e já compilo tudo que está marcado como INVÁLIDO após meu DDL, okdoc ?? []s Chiappa [As partes desta mensagem que não continham texto foram removidas]