Global Temporary Table Oluşturmak

Oracle’ da tablo create ederken eğer  tablonun tipini belirtmez iseniz default olarak ilişkisel ve kalıcı olarak tablonuzu oluşturacaktır. Create table komutunuz içerisinde global temporary ifadesini kullanırsanız temporary segmentlerde tutacağınız geçici bir tablo create etmiş olursunuz.  Temporary tabloları normal tablolardan çok farklı olarak düşünmemek gerekir, bildiğimiz yöntem (create table ile ) ile create etmiş olduğunu tablolar üzerinde neler yapabiliyorsanız burada da yapabilirsiniz. Temporary olmasından kaynaklı olarak, temporary olarak create edilmiş bir tablo tüm sessionlar tarafından görülebilir ve sadece o session içerisinde varlığını idame ettirir, session sonlandığında temporary table’ da otomatik olarak drop olacaktır.

Temporary table’ ın sytanx’ ından biraz bahsedelim; Continue reading

Oracle Certified Professional 10G :)

Çok uzun zamandır ertelemiş olduğum oracle certifikasyon sınavlarına girmeye karar verdim ve 2011 yılını kendi adıma sertifikasyon yılı ilan etmiştim. Henüz sona gelmemiş olsamda yolun yarısını bitirdim sayılır. 2011 yılının İlk 3 ayı içerisinde sırası ile ;

Oracle 11g SQL Expert,

Oracle Certified Associate 10g,

Oracle Certified Associate 11g,

Oracle Certified Professional 10g

Sertifikalarını aldım. Oracle 10g OCP ile yola devam ederken Mart ayının sonunda bir aksilik çıkmazsa 11g OCP sınavına girmiş olmayı planlıyorum. Gelişmeleri paylaşmaya devam edeceğim.

 

ORA-12838: cannot read/modify an object after modifying it in parallel

Bir  migration  çalışması  sırasında kullanılacak  olan scriptleri  tun ederken, insertler i Append hinti vererek yapmaya karar verdim. Bir tablo için peşpeşe birkaç tane insert scripti olanlar da vardı. Append  hintinin çalışma mantığını düşünmeden insertler arasına hintleri vererek geçtim.  Sabahın 05’ inde migration çalışmasını başlattığımda (bir gözü açık bir gözü kapalı durumda J)  scriptler patlamaya başlayınca (tabi bu arada gözlerim açıldı J)  farkettimki Append  hinti ile bir tabloya peşpeşe insert yapıyorsan iki insert arasında mutlaka transactionı sonlandırmalısın yani commit veya rollback yapmalısın.  Appent hinti redo üretimi minumum düzeyde tuttuğundan dolayı bir sonraki insert ile ilgili  yeteri kadar data bilgisi sistemde yer almamış oluyor.  Dolayısıyla  (ORA-12838: bir nesne değiştirildikten sonra paralel olarak okunamaz / değiştirilemez)  verdiği bu hatada bir o kadar anlamlı oluyor.
Continue reading

LOBINDEX ve LOBSEGMENT’ lerin create, move, rebuild edilmesi

Tablo ve indexler üzerinde DDL işlemlerinin nasıl yapılacapı konsunda zaman zaman yazılar yazıyoruz. Örneğin tablo ve indexlerin farklı bir tablespace taşınması ile ilgili

(http://www.kamilturkyilmaz.com/2011/02/25/lobindex-ve-lobsegment%E2%80%99-lerin-create-move-rebuild-edilmesi/) bir yazı yazmıştım. Burada ise logsegment ve logindexleri anlatmaya çalışacağım.
Continue reading