Technological recipes that I've held to prepare some solutions DBA environment. (by Felipe Donoso Bastias)

30 Oct 2007

Script para recompilar objetos inválidos en Oracle

Este script sirve para recompilar todos objetos inválidos en la base de datos, debe ser corrido como el Usuario SYS:

/*
# ----------------------------------------------------------------------
# Autor : Felipe Donoso Bastías
#
# Fecha de creación : 29-08-2007
#
# Objetivo : Recompilar todos los objetos inválidos de la base de datos
#
# Modificado : Felipe Donoso Bastías 04-09-2007
#
# ----------------------------------------------------------------------
*/
SET SERVEROUTPUT ON
DECLARE
CURSOR C_OBJETOS
IS
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE FROM DBA_OBJECTS
WHERE STATUS = 'INVALID';

nombre_objeto VARCHAR2(100);
propietario VARCHAR2(100);
tipo_objeto VARCHAR2(100);
sql_str VARCHAR2(1000);

BEGIN
OPEN C_OBJETOS;
LOOP
FETCH C_OBJETOS INTO propietario, nombre_objeto, tipo_objeto ;
EXIT WHEN C_OBJETOS%NOTFOUND;
IF tipo_objeto = 'PACKAGE BODY' THEN
sql_str := 'ALTER PACKAGE '||propietario||'.'||nombre_objeto||' COMPILE';
dbms_output.put_line(sql_str);
EXECUTE IMMEDIATE sql_str;
sql_str := 'ALTER PACKAGE '||propietario||'.'||nombre_objeto||' COMPILE BODY';
dbms_output.put_line(sql_str);
EXECUTE IMMEDIATE sql_str;
END IF;
IF tipo_objeto = 'PROCEDURE' THEN
sql_str := 'ALTER PROCEDURE '||propietario||'.'||nombre_objeto||' COMPILE';
dbms_output.put_line(sql_str);
EXECUTE IMMEDIATE sql_str;
END IF;
IF tipo_objeto = 'FUNCTION' THEN
sql_str := 'ALTER FUNCTION '||propietario||'.'||nombre_objeto||' COMPILE';
dbms_output.put_line(sql_str);
EXECUTE IMMEDIATE sql_str;
END IF;
IF tipo_objeto = 'TRIGGER' THEN
sql_str := 'ALTER TRIGGER '||propietario||'.'||nombre_objeto||' COMPILE';
dbms_output.put_line(sql_str);
EXECUTE IMMEDIATE sql_str;
END IF;
IF tipo_objeto = 'VIEW' THEN
sql_str := 'ALTER VIEW '||propietario||'.'||nombre_objeto||' COMPILE';
dbms_output.put_line(sql_str);
EXECUTE IMMEDIATE sql_str;
END IF;
END LOOP;
CLOSE C_OBJETOS;
END;
/
Share:

4 Comments:

rc6016 said...

oi andrés,

interessante o que você propõe. haha: D, é bom que você gostou do meu blog, eu estou contente que meus posts pode parecer interessante. Uma pergunta: Qual é o endereço do seu blog para dar uma olhada?

Desculpem o meu Português ruim, mas eu falo apenas Inglês e Espanhol ...

Saudações

xumeiqing said...

coach factory outlet
nmd adidas
ray ban sunglass,ray ban sunglasses,ray ban outlet,cheap ray bans,cheap ray ban sunglasses,cheap ray bans,ray bans
stan smith adidas
cartier
polo ralph lauren
yeezy boost 350
fitflops
instyler max
white converse
ray bans
michael kors outlet
sac longchamp pliage
calvin klein dresses
ralph lauren
michael kors outlet online
fitflops shoes
burberry outlet canada
reebok classic
pandora jewelry
adidas gazelle
supra store
omega speedmaster
nike roshe run
burberry outlet
air jordan shoes
under armour
fitflops sale clearance
coach outlet store online clearance
mlb jerseys wholesale
michael kors handbgas
nike shoes for cheap
oakley sunglasses outlet
michael kors outlet
fitflops sale clearance
reebok outlet store
adidas pure boost black
dior sunglasses 2016
michael kors outlet online
bottega veneta shoes
chenzhen20160511

dada24 Xu said...

canada goose parka
uggs outlet
michael kors outlet online
polo ralph lauren outlet
michael kors
michael kors purse
longchamp sale
air jordans
ugg australia outlet
nike outlet
zhi20161219

caiyan said...

cheap oakley sunglasses
vans outlet store
rolex replica watches
michael kors handbags
christian louboutin outlet
nike air max 90
ralph lauren outlet
polo outlet
adidas nmd
louis vuitton outlet
0424shizhong

Copyright © DBA TIPS | Powered by Blogger
Design by SimpleWpThemes | Blogger Theme by NewBloggerThemes.com | Free Blogger Templates