| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: Need recompile invalid objects script...
I found this on this newsgroup, may be useful 4 u.
Mark
CREATE OR REPLACE PROCEDURE recompile
(status_in IN VARCHAR2 := 'INVALID',
name_in IN VARCHAR2 := '%',
type_in IN VARCHAR2 := '%',
v_objtype VARCHAR2(100);
CURSOR obj_cur IS
SELECT owner, object_name, object_type
FROM ALL_OBJECTS
WHERE status LIKE UPPER (status_in)
AND object_name LIKE UPPER (name_in)
AND object_type LIKE UPPER (type_in)
AND owner LIKE UPPER (schema_in)
ORDER BY
DECODE (object_type,
'PACKAGE', 1, 'PACKAGE BODY', 2,
'FUNCTION', 3, 'PROCEDURE', 4);
BEGIN
FOR rec IN obj_cur
LOOP
IF rec.object_type = 'PACKAGE'
THEN
v_objtype := 'PACKAGE SPECIFICATION';
ELSE
v_objtype := rec.object_type;
END IF;
DBMS_DDL.ALTER_COMPILE (v_objtype, rec.owner, rec.object_name);
DBMS_OUTPUT.PUT_LINE
('Compiled ' || v_objtype || ' of ' ||
rec.owner || '.' || rec.object_name);
END LOOP;
![]() |
![]() |