search
Giriş
Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
1 oy
778 gösterim
Oracle veritabanında invalid object'lerin her birine tek tek compile demek toplu olarak nasıl compile edebilirim?
Veri Tabanı kategorisinde 604 puan

1 cevap

1 oy

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;
211 puan
tüm db objelerini derleyebiliyor muyuz (compile) yani bu script ile?
Aynen. select'den dönen tüm objeleri compile etmek için tetikliyor.

İlgili sorular

0 oy
1 cevap 448 gösterim
448 gösterim
Veri tabanında tüm constraint ve triggerlar invalide düştü. Tüm bunları nasıl kolayca enable yapabilirim?
3 Nisan 2018 Veri Tabanı kategorisinde tolgacelik.art 2.0k puan sordu
1 oy
1 cevap 777 gösterim
777 gösterim
Elimde bir string verisi var. Diyelim ki "Bugün yeni işe başladım" olsun. Bu string'deki "y" harfinin kaçıncı harf olduğunu nasıl bulabilirim?
11 Şubat 2019 Veri Tabanı kategorisinde yildiz 193 puan sordu
0 oy
1 cevap 2K gösterim
2K gösterim
Oracle veritabanında bahsedilen cursor nedir? nasıl kullanılır?
26 Şubat 2018 Veri Tabanı kategorisinde buzel 604 puan sordu
0 oy
1 cevap 988 gösterim
988 gösterim
Bir dosyadan küsürlü bir sayı almaya çalışyorum. Ancak bazı sayıların sonunda nokta olabiliyor. Bunları nasıl ayırabilirim? örn: "46440.0" değil de "46440."
15 Mayıs 2019 Veri Tabanı kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 843 gösterim
843 gösterim
Veritabanı üzerindeki bir tabloda DELETE komutu çalıştırmakla TRUNCATE çalıştırmak arasında nasıl bir fark vardır? Diskte tutulan yer anlamında nasıl bir sonuç ortaya çıkıyor?
11 Şubat 2019 Veri Tabanı kategorisinde yildiz 193 puan sordu