Başka Bir User Altındaki Private Linki Nasıl Drop-Create Edebiliriz

Sistemde farklı userlar altına private olan create edilmiş olan db linkleri kendi userımız ile drop etmek isterdiğimiz de alınan ORA-02024: database link not found hatasını nasıl çözebilirizi anlatıyor olacağım.

Simdi öncelikle private bir db link create edip, baska bir user ile drop etmeye çalistigimiz daki durumu sonrasinda da nasil çözebilecegimize bakalım.

Kamil userı ile sisteme connect olup bir private db link create ediyorum. Dblink içerisindeki bilgilerin doğruluğu şu aşama da bizim için çok önemli değil, link create ederken kullandığınız user, şifre, host gibi bilgiler yanlış olsa da linki başarılı olarak create edebilirsiniz. Sadece kullanmak istediğinizde ORA-12154: TNS:could not resolve the connect identifier specified hatasını alırsınız.
Continue reading

Oracle Password Verify Function

Database’ in güvenliği için kritik olan kısımlardan biride database’ e erişim sağlayan userların şifreleridir. Bu şifrelerin kolay tahmin edilemeyen bir kombinasyondan oluşuyor olması istenilen bir durumdur. Oracle software sunucunuza install ettiğiniz anda ORACLE_HOME altında rdbms/admin dizini altındaki utlpwdmg.sql dosyasında oracle’ ın sizin kullanabilmeniz için hazırladığı bir password verify functionını bulabilirsiniz. Bu functiondaki kurallarda aslına bakarsanız hiç editlemeye bile gerek olmadan kullanabilirsiniz, ihtiyacınızı fazlasıyla karşılayacağından emin olabilirsiniz.

Nettede baktığınız da bu konuda bir sürü yazı ve çeşitli şekillerde düzenlemiş password verify functionları bulabilirsiniz. Bir password verify functionıda ben eklemek istedim. Aşağıdaki function ile şifre oluşturulurken hangi kriterlerin dikkate alındığını function içerisindeki commetli alanlardan görebilirsiniz ;
Continue reading

Tablo Üzerinde DML İşlemleri Nasıl Sınırlandırılır

Öncelikle bu konuya nereden geldiğimi bikaç cümle ile aktarayım. Geçen hafta blogdaki iletişim bilgilerim üzerinden bir arkadaşım dan bana ulaştı ve kullandıkları bir database’ deki tüm kullanıcıların ortak bir user kullandığından ve kimi dataların güvenliğinden endişe ettiğinden bahsetti. Tabiki bu problemin en güzel çözümü user bazlı connection kurulmasının sağlanması sonrasında user bazlı yetkilendirme ve hatta resource manager ile resource groupları oluşturularak yönetilmesidir. Ancak uygulamada bunun çok mümkün olmadığı yapılarda var. Mailde arkadaşın istemiş olduğu yardım kimi tablolar için belirlemiş olduğu kayıt adedinden fazla kaydın silinmesinin engellenmesi şeklinde idi.

Aşağıdaki örnekde de bu soruna üretmiş olduğum bir çözümden bahsetmek istiyorum. Belki bir yerlerde başka arkadaşlarada yardımı dokunabilir düşüncesiyle buradan da paylaşmak istedim.

Örneğimiz de kullanmak üzere bir tablo create edelim ;
Continue reading

Temp Tablespace’ ine Ait Datafile’ leri Nasıl Drop Edebiliriz

Daha önce temp tablespace’ ni nasıl drop – create edebilirizden bahsetmiştim. (http://www.kamilturkyilmaz.com/2010/10/23/temp-tablespace%E2%80%99-ini-drop-etmek/) Ancak temp tablespace ‘ini drop – create etmeden sadece temp tbs’ ine bağlı olan datafile’ lerden birini drop edip sonrasında tekrar create edebilirmiyiz bundan bahsetmek istiyorum. Neden bu tarz bir işleme ihtiyaç duyabiliriz, diskin birinde anormal bir doluluk olması durumunda hızlı aksiyon alabilmek ve database’ in durmasını engellemek için ilk aksiyon olarak bu diskde yer alan temp tbs’ ine ait datafile’ in drop edilmesi yoluna gidilebilir. Temp’ in çok küçük olması uygulama seviyesinde kimi transactionların hata almasına yol açabilir tabi bu riskide göz önüne almak ve önleminizi alıyor olmanız gerekecektir.

Temp tablespace’ i altındaki datafile’ i drop create etmekde oracle 10gR2 öncesinde ve sonrasında syntax’ ında ufak bir farklılık bulunmaktaktadır. Bizim şu anda bu testleti yapacağımız test ortamımızın 11.2.0.3. Bu farklılıkdan bahsediyor olacaz.

İlk olarak Oracle 10gR2 sonrasındaki duruma bakalım.
Continue reading

Oracle 11g Advanced Compression

Oracle 11g ile birlikte Advanced Compression özeliği ile tanışmış olduk. Öncesinde kullanılan Basic compression metodu (bu yöntemde Oracle 9i’ den bu yana kullanılmaktadır) temelde compresiion yapıyor olsada bir çok noktada ihtiyaçlarımızı tam olarak karşılamıyor idi. Örneğin compress edilmiş olan bir tabloya tek tek yapılan insertler compress edilemiyor sonradan gelen bu veriler tablo içerisinde uncompress olarak tutuluyordu. 11g ile gelen Advanced Compression özelliği ile bu tarz eksikliklerde giderilmiş oldu.

Compression exadata için ayrıca değerlendirilmesi gereken bir konudur. Çünkü exadata kısmında Hybrid Columnar Compression başlığı altında incelenmesi gereken farklı bir teknoloji var. Bu konuyu tek başına özel olarak başka bir yazıda detaylandırıyor olacaz. Burada Exadata dışındaki tüm instance’ larda (Rac ve Single instance’ ları kastediyorum) advanced compressison denildiğinde ne anlıyoruz, bize sağladığı avantajlar nelerdir ve nasıl kullanabiliriz özetle bunlardan bahsediyor olacağız.

Ufak bir hatırlatma Advanced Compression için ayrı bir lisans gerekmektedir.
Continue reading