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