Oracle veritabanında invalid object’lerin her birine tek tek compile demek toplu olarak nasıl compile edebilirim?
comments
3 references
// Comments are closed.
Oracle veritabanında invalid object’lerin her birine tek tek compile demek toplu olarak nasıl compile edebilirim?
// Comments are closed.
Bir script ile halledebilirsin ( Object Type’a istediğin type ları eklemeyi unutmayın );
BEGIN FOR cur_rec IN (SELECT owner, object_name, object_type, DECODE(object_type, 'PACKAGE', 1, 'PACKAGE BODY', 2, 2) AS recompile_order FROM dba_objects WHERE object_type IN ('PACKAGE', 'PACKAGE BODY') AND status != 'VALID' ORDER BY 4) LOOP BEGIN IF cur_rec.object_type = 'PACKAGE' THEN EXECUTE IMMEDIATE 'ALTER ' || cur_rec.object_type || ' "' || cur_rec.owner || '"."' || cur_rec.object_name || '" COMPILE'; ElSE EXECUTE IMMEDIATE 'ALTER PACKAGE "' || cur_rec.owner || '"."' || cur_rec.object_name || '" COMPILE BODY'; END IF; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line(cur_rec.object_type || ' : ' || cur_rec.owner || ' : ' || cur_rec.object_name); END; END LOOP; END;tüm db objelerini derleyebiliyor muyuz (compile) yani bu script ile?
Aynen. select’den dönen tüm objeleri compile etmek için tetikliyor.