Ou ainda vc pode usar este pacote !!

declare
  compile_all boolean := sys.diutil.int_to_bool(:compile_all);
begin
  sys.dbms_utility.compile_schema(schema => :schema,
                                  compile_all => compile_all);
end;


abraço, 
Marco.






Marco Fernandes TALENT/SPO/BR/[EMAIL PROTECTED]
Sent by: oracle_br@yahoogrupos.com.br
29/09/2005 17:23
Please respond to oracle_br

 
        To:     oracle_br@yahoogrupos.com.br
        cc: 
        Subject:        Re: RES: [oracle_br] Compilar objetos


Olha aí e veja se rola:


CREATE OR REPLACE PROCEDURE sp_recompila_objetos IS
   nCursor     NUMBER;
   iResultRows INTEGER := 0;
   sSql        VARCHAR2(500);
BEGIN
   FOR c IN (SELECT object_name, object_type 
               FROM all_objects 
              WHERE status='INVALID'
                AND object_type IN ( 'FUNCTION', 'PROCEDURE', 'PACKAGE', 
'PACKAGE BODY' ) ) LOOP

      sSql := 'alter ' || c.object_type || ' ' || c.object_name || ' 
compile';

      nCursor := DBMS_SQL.OPEN_CURSOR;
      BEGIN
         DBMS_SQL.PARSE( nCursor, sSQL, DBMS_SQL.V7 );

      EXCEPTION
         WHEN OTHERS THEN
--            DBMS_OUTPUT.PUT_LINE('ERRO: '||SQLERRM||' ao executar o 
comando ' || sSql ); 
              null ;
      END;
      DBMS_SQL.CLOSE_CURSOR(nCursor);
   END LOOP; 

END sp_recompila_objetos;


abraço,
Marco.





"Ivan Ricardo Schuster" <[EMAIL PROTECTED]>
Sent by: oracle_br@yahoogrupos.com.br
29/09/2005 18:18
Please respond to oracle_br

 
        To:     <oracle_br@yahoogrupos.com.br>
        cc: 
        Subject:        RES: [oracle_br] Compilar objetos


Gabriel, 

não tenho nada pronto, mas não é difícil. É montar um procedimento que 
faça
o seguinte:

Na tabela all_objects, procure por STATUS<>'VALID'. No campo object_type
voce consegue identificar o tipo do objeto que está inválido.

- faça um loop que percorra os resultados da consulta (Select * From
all_objects Where status <> 'VALID')
- dentro desse loop, teste cada tipo de objeto e monte um "execute
immediate" que recompile os objetos com problema.

Abraço
Ivan

-----Mensagem original-----
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Teixeira, Gabriel (WMI, Brazil - Sao Paulo)
Enviada em: quinta-feira, 29 de setembro de 2005 16:20
Para: Oracle_Br ([EMAIL PROTECTED])
Assunto: [oracle_br] Compilar objetos

Pessoal,
 
Preciso criar uma rotina que verifique os objetos inválidos e recompile os
mesmos, seria interessante que fosse uma procedure. Alguém pode me dar
algumas idéias?
 
Oracle 8.1.7/ Windows 2003
 
Valeu,
Gabriel


[As partes desta mensagem que não continham texto foram removidas]



ORACLE_BR APOIA 2ºENPO-BR
_____________________________________________________________________
O 2º Encontro Nacional de Profissionais Oracle será realizado no dia
05/11/2005 no auditório da FIAP em São Paulo. Serão apresentadas Palestras 

e
Cases dirigidos exclusivamente por profissionais especialistas e renomados
no mercado. Confira a programação no site do evento! http://www.enpo-br.org/
_____________________________________________________________________
 
Links do Yahoo! Grupos




 





ORACLE_BR APOIA 2ºENPO-BR 
_____________________________________________________________________
O 2º Encontro Nacional de Profissionais Oracle será realizado no dia 
05/11/2005 no auditório da FIAP em São Paulo. Serão apresentadas Palestras 

e Cases dirigidos exclusivamente por profissionais especialistas e 
renomados no mercado. Confira a programação no site do evento! 
http://www.enpo-br.org/
_____________________________________________________________________
 
Links do Yahoo! Grupos




 






[As partes desta mensagem que não continham texto foram removidas]



ORACLE_BR APOIA 2ºENPO-BR 
_____________________________________________________________________
O 2º Encontro Nacional de Profissionais Oracle será realizado no dia 
05/11/2005 no auditório da FIAP em São Paulo. Serão apresentadas Palestras 
e Cases dirigidos exclusivamente por profissionais especialistas e 
renomados no mercado. Confira a programação no site do evento! 
http://www.enpo-br.org/
_____________________________________________________________________
 
Links do Yahoo! Grupos




 






[As partes desta mensagem que não continham texto foram removidas]



ORACLE_BR APOIA 2ºENPO-BR 
_____________________________________________________________________
O 2º Encontro Nacional de Profissionais Oracle será realizado no dia 05/11/2005 
no auditório da FIAP em São Paulo. Serão apresentadas Palestras e Cases 
dirigidos exclusivamente por profissionais especialistas e renomados no 
mercado. Confira a programação no site do evento! http://www.enpo-br.org/
_____________________________________________________________________
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a