Oracle 12c New Features : DBMS_PRIVILEGE_CAPTURE Package

Database’ in güvenliğinin sağlanması için belirli periyotlar arasında şirketlerin güvenlik birimleri aracılığıyla (özellikle bankalar bu konuda en hassas olan kurumlardır) database’ deki kullanıcıların yetkileri sorgulanır ve fazla olduğu düşünülen yetkilerin revoke edilmesi istenir. Ancak production sistemlerde yetki almak kimi aman çokda kolay olmamaktadır. Yetki revoke edildiğinde uygulamanın bu durumdan etkilenip etkilenmeyeceği, ilgili user tarafından bu yetkinin kullanılıp kullanılmadığı tam olarak kestirilemediği durumlar olabiliyor. Hal böyle oluncada yetkiyi revoke etmeye cesaret edilemediği durumlar yaşanmıyor değil 

Oracle 12c ile birlikte aslında bu soruna cevap bulunmuş oldu. Dbms_privilege_capture paketi ile kullanılan user hangi yetkinin kullanıldığını capture eden faydalı bir package’ dir. Privilege kullanıldığı zaman capture edildiğinden dolayı bu paket aracılığıyla toplanan yetkiler kullanılan yetkiler olarak yorumlanmalıdır.

Şimdi bu işlemi nasıl yapabileceğimiz den ve dbms_capture_privilege paketinin kullanımından bahsedelim.

DBMS_PRIVILEGE_CAPTURE paketinin spec’ ine baktığınız da 5 adet procedureden oluştuğunu görebilirsiniz.

Continue reading

ORA-65096: invalid common user or role name

Oracle 12c ile bilirkte container database kurulumu yaptıysanız artık yeni yapıda daha önceki versiyonlarda almadığınız bir takım hatalar alabilirsiniz. Örneğin 11g ve öncesinde çok basit bir user create işlemi olan aşağıdaki komut artık 12c ile birlikte aşağıdaki hatayı verir oldu.

12c ile birlikte yapı değiştiğinden dolayı artık create etmeye çalışılan user hangi pluggable database altına create edilecekse öncesinde bunu set etmemiz gerekiyor. Aslında bu hatanın bikaç tane çözüm yolu var öncesinde en optimum çözümden bahsedelim;

Continue reading

ORA-39183: internal error -19 ocurred during decompression phase 2

11gR2’ de olan bir oracle database’ inden 32 parallellik verilerek NFS olarak share edilmiş olan bir diske alınmış olan bir export backup’ı başka bir sistem üzerine import etmeye çalıştığımız da aşağıdaki gibi bir hata almıştık. Araştırdığımız da sorunun dmp file ‘ lerden birinde oluşan bir corruptiondan dolayı olduğunu gördük.

Çalışmaya ait logları ve ilgili hataya ait metalink notunu da aşağıda bulabilirsiniz.

Çözüm olarak import edilmeye çalışılan dmp file’ lerin ftp ile binary mode’ da import edilecek olan sunucuya tekrar taşınması ve import işleminin tekrar denenmesi gerekmektedir.

Reference;
DataPump Import Errors ORA-39183 Internal Error -19 Ocurred During Decompression Phase 2 ORA-6512 (Doc ID 1524577.1)

ORA-25226 dequeue failed queue is not enabled for dequeue

Alertlog file’ de aşağıdaki gibi queue ile ilgili hatalar alırsanız nasıl çözüm üretebileceğiniz ile ilgili scriptleri ve açıklamalarını aşağıda bulabilirsiniz ;

Alertlog’ a düşen hatalar ;

Continue reading

ORA-16474: target_db_name not found in the LOG_ARCHIVE_DEST_n parameter

Dataguard kurulumları sonrasında switchover veya 12c ile birlikte gelen verify komutunu çalıştırdığınız da aşağıdaki gibi bir hata alırsanız bunun nedenini ve nasıl çözüleceğinden bahsediyor olacağım.

Primary database tarafında log_archive_dest2 yi “SERVICE=con_stby LgWR SYNC AFFIRM” şekilde set etmeniz durumunda da dataguard çalışır. Bunun için dataguardınızın hengi modda çalıştığının bir önemi yoktur.

Ancak bu şekilde set ettiğiniz de switchover yapmak istediğiniz de (primary database üzerinde)

Hatasını alırsınız. Bu hatayı gidermek için (aslında hatanın açıklamasında yer aldığı üzere) primary database’ de dest2 parametresine db_unique_name kısmını da eklemek gerekmektedir , aşağıdaki şekilde tekrar alter edelim ;
Continue reading