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