TROUG: Oracle Day, 40 dakikada 20 11g yeni özelliği

4 Kasım Perşembe Lütfi Kirdar Kongre Merkezi’nde Oracle Day etkinliğinde bir sunum yapacağım: Veritabanı geliştiricileri için Oracle 11g yeni özellikleri. Haftasonu sunumumu bu yazıya ekleyeceğim, not almak ile uğraşmayın bence :) Özetle değineceğim Release 1 ve 2 konuları şu şekilde:

    Apex & OWB yeni özellikler
    Sifrelerde küçük-büyük harf kullanimi
    SQL Dev. ve SQL Plus yeni özelilkler, ERRORLOGGING
    ALTER TABLE ADD COLUMN iyilestirmeleri
    Sanal Kolonlar
    DDL bekletme opsiyonu (DDL_LOCK_TIMEOUT)
    Görünmez Indeksler
    Salt okunur tablolar
    Asynchronous Change Data Capture yeni özellikler, LOB destegi
    Sequence çagirimi iyilestirmesi
    SQL motorundan PL/SQL islev çagirimi iyilestirmesi
    Trigger tetiklenme sirasi yönetimi, DISABLED Trigger yaratma
    PL/SQL’de CONTINUE kullanimi
    Bagimlilik takibi iyilestirmeleri
    WHEN OTHERS derleme uyarisi
    SIMPLE_INTEGER yeni veri tipi
    SQL Operatörleri ve Islevleri için Metadata bilgisi
    Güle güle Outline’lar
    DBMS_COMPARISON hazir paketi
    Global temporary table’lariniz için baska bir TEMP Tablespace belirtme
    LISTAGG, Pivot, Unpivot SQL operatorleri
    SQL ve PL/SQL Result Cache Kavrami

Faydalandığım kaynaklar ise:

Sabahtan TROUG Stand’ında öğleden sonrada Haliç salonunda TROUG sunumlarında olacağım, tanışmak için iyi bir fırsat, görüşürüz :)

Not: Diğer sunumlar hakkında bilgi almak ve Oracle Day’e ücretsiz kayıt olmak için bu bağlantıyı kullanabilirsiniz: http://www.troug.org/

Geliştiriciler için Oracle veritabanı 11g yeni özellikleri-HTY

TROUG son gelişmeler

Yola çıkarken biraz ümitsizdim ama TROUG EOUC‘den(EMEA Oracle User Group Community) onay aldı ve diğer gruplar ile birlikte listelenmeye başladı, tüm Oracle dostları için hayırlı olsun :)

Ilk buluşmamız RAC SIG aktivitesi çok keyifli idi, ikinci buluşmamız 4 Kasım’daki ücretsiz Oracle Day eventi olacak. Geliyorsanız TROUG stand’ına uğrayın, sohbet edelim. 2010 boyunca TROUG ücretsiz üye olmak için http://www.troug.org/ ziyaret edip sol alttaki menüyü kullanabilirsiniz, ayrıca grubu çevrenizde duyurmak isterseniz alttaki bağlantıları kullanabilirsiniz:

LinkedIn grubu: http://www.linkedin.com/groups?mostPopular=&gid=3530740
LinkedIn davetiyesi: http://www.linkedin.com/osview/canvas?_ch_page_id=1&_ch_panel_id=1&_ch_app_id=7083120&_applicationId=2000&_ownerId=0&appParams={%22go_to%22:%22events/431356%22,%22referrer%22:%22public%22}
Facebook grubu: http://www.facebook.com/group.php?gid=169277558029
Facebook davetiyesi: http://www.facebook.com/event.php?eid=164765406882321

TROUG: RAC SIG etkinliği: RAC ortamında yazılım geliştirme sunumum

Uzun senelerdir özlemini duyduğumuz bir gün geride kaldı, katılma şansı bulamayan RAC DBA’leri bence önemli bir kayıp yaşadılar. Kendi adıma hem tanıştığım kişilerle yaptığım sohbetler hem de Hüsnü, Orhan ve Ersin’in sunumları çok keyifli idi. Özellikle sunumlar kısmında(ancak sabah hazırlamaya başlayabildiğim kendi sunumumu dışarıda tutuyorum burada) yurtdışındaki örneklerine kıyasla kalite olarak ne kadar yukarıda olabileceğimizi bir kez daha gördüm. Orhan’a özel bir parantez açmak istiyorum bu noktada, ama kelimeler yetersiz ancak o sunumu yaşayanlar beni anlayabilirler.

TROUG RAC SIG etkinliği: RAC ortamında yazılım geliştirme sunumum

Bugün için Yasin ve Oracle Türkiye ‘ye teşekkürler tekrar, 4 Kasım’da Oracle Day’de TROUG rüzgarı devam edecek :)

Oracle Communications Data Model seçeneğine giriş(Getting started with Oracle Communications Data Model option)

Oracle yeni bir opsiyon olarak OCDM’i satışa sundu. Özetle endüstri standardı bir Telco veri modeli yanında OWB iç ETL işlevleri + OLAP küpleri + OBI EE dashboard raporları + Data Mining raporları paket ile hazır geliyor. Dolayısı ile bu opsiyon ile bir proje gerçekleştirmek istendiğinde beklenen kaynak sistemleri bağlayacak ETL’i hazırlamak ve ihtiyaçlar paralelinde özelleştirme yapmak ki özelleştirmeye kapalı bir opsiyon değil OCDM sadece ileriki sürümler için bakım sorumluluğunu üstlenmek gerekiyor.

Fakat lisans maliyeti beni düşündürüyor çünkü CPU bazına bu çözüm gömülü lisanslama modeli ile bile mininimum ~120K civarında olur gibi(DB EE+Partitioning+OLAP+Mining+OCDM+OBIEE). Dolayısı ile 32 işlemcili bir ufak DWH ortamında maliyet 1/5’ine inince bile sadece lisans tutarı 500K üzerine çıkıyor(üstüne donanım ve danışmanlık koyunca müşteri bulmak cidden zor olacaktır Avrupa dışına çıkıldığında bence).

“Green field” olarak gruplandırabilecek DWH-BI kabiliyetlerine sahibi olmak isteyen ama tam olarak da neye sahip olacağını kestiremeyen potansiyel Telco müşterilere ürün içindeki hazır raporlar ve mining çıktıları satılmayı oldukça kolaylaştıracaktır. Ek olarak Oracle ürünü birlikte satmak ve zenginleştirmek için BI alanındaki iş ortaklarına önemli destek sağlaya da bilir gibi bu yeni seçenek için. AVEA ürünün gelişiminde EMEA bölgesindeki önemli referanslardan biri imiş. Son olarak biraz Türk işi olacak ama Metadata anlamında modelin ilişkilerden ilham almak, kurup denemeler yapmak ise ücretsiz :) Oracle her zamanki gibi doc. kalitesini yüksek tutmuş, konu ilginizi çekti ise kaynaklar kısmındaki bağlantılara göz atabilirsiniz.

KEY FEATURES
• More than 800 Tables and 11,000 attributes
• More than 1,300 industry-specific measurements and key performance indicators (KPIs) such as network reliability statistics, provisioning metrics, and customer churn propensity
• Alignment with communications industry standards including the TM Forum Information Framework (SID), formerly known as the Shared Information Model
• Prebuilt OLAP cubes for extremely fast dimensional analysis of business information
• Embedded data mining models for sophisticated trending and predictive analysis
• A portfolio of more than 70 dashboards and reports

KEY BENEFITS
• Faster time to actionable information
• Integrates multiple lines of business including mobile, wireline, and cable
• Addresses key areas such as customer management, marketing segmentation, product development, and network health
• Fully aligned with the TM Forum Information Framework (SID) standard

KAYNAKLAR
OTN OCDM sayfası
Oracle Communications Data Model Reference11g Release 2 (11.2)
OCDM Installation Guide11g Release 2 (11.2)
Oracle Communications Data Model – Overview
Oracle Communications Data Model (OCDM) Tutorial
Oracle Retail Data Model (ORDM)

Oracle veri madenciliği seçeneğine giriş(Getting started with Oracle Data Mining option)

Önceki Türkçe yazıma gösterdiğiniz ilgi için teşekkürler, umarım TROUG’nin yolu açık olur ve hepimize önemli katkı sağlar bu grup. Hazır başlamışken bir süre Türkçe yazmaya devam edelim istedim, umarım hoşunuza gider :)

Bu yazı ile veri madenciliğini merak eden arkadaşlara giriş yapabilecekleri kaynaklara nasıl ulaşabilecekleri hakkında fikir vermek istedim. Biliyorsunuz belki bu sene OOW’de bir sunumumuz olacak, bir süredir SAS kullanıcısı olan Turkcell’de In-Database Data Mining denemeleri yapıyorduk, sonuçlarını Deniz paylaşıyor olacak, gidenlere şimdiden reklamını yapmak istedim.

TurkCell’s Pre-paid Churn Prediction Model with Oracle Data Mining option on ExadataV2, OOW10 21 Sep. 12:30 -13:30 Moscone South

Öncelikle neden veri madenciliği diye bir soru akla gelebilir, hemen bu yazı fırsatı ile güzel Türkçe’siyle Burak’ın yazılarını paylaşmak istiyorum muhtemel cevaplar için. Ve eğer cidden bu konuya ilgili iseniz Oracle® Data Mining Concepts(11.2) kılavuzuna mutlaka göz atmanızı öneririm.

Peki neden Oracle ile veri madenciliği diye bir soru da akla gelebilir, özelliklede bu seçeneğin Enterprise Edition üzerine ayrıca ek maliyet ile alınabilecek seçenekler listesinde olduğunu düşünürsek, Oracle’ın savı eğer üzerinde çalışacağınız veri hazırda veritabanı içinde ise veritabanı içinde veri madenciliğini başlamak ve tamamlamak önemli bir avantaj. Bu pazarda Oracle ve diğerlerinin en önemli rakipleri SAS, Oracle’ın dünya BI veritabanı pazarındaki konumunu düşünürsek çok keskin bir rekabet avantajı oluşturduğunu Oracle’a bu yaklaşımın hemen hissedebilirsiniz. SAS lisans maliyetlerinin Oracle Data Mining seçeneği lisans maliyetleri ile kıyaslanamayacak kadar pahallı olduğunu da belirtmekte fayda var tabii bu noktada.

Hazırda Oracle veritabanı kullanıcısı iseniz 12 adet hazır machine learning algoritması ve XE dahil tüm sürümlerde ek ücret ödemeden kullanabileceğiniz 50+ statistical function keşfetmeniz için sizi bekliyor. Oracle’da bir veri madenciliği modelini SQL*Plus’dan basit birkaç PL/SQL API çağrımı ile yaratılan ve SQL ile çağrılabilen bir şema nesnesi olarak düşünebiliriz basit anlamda(bir örnek altta fikir vermesi için paylaşıyorum). Elbette bu modeli yaratırken ve çalıştırırken elinizin altındaki Oracle sürümünün tüm kabiliyetlerinden de sonuna kadar faydalanabilirsiniz(Exadata, Parallel Query, Partitioning, Bitmap Index gibi).


-- Faud Prediction Demo
drop table CLAIMS_SET;
exec dbms_data_mining.drop_model('CLAIMSMODEL');
create table CLAIMS_SET (setting_name varchar2(30), setting_value varchar2(4000));
insert into CLAIMS_SET values ('ALGO_NAME','ALGO_SUPPORT_VECTOR_MACHINES');
insert into CLAIMS_SET values ('PREP_AUTO','ON');
commit;
begin
   dbms_data_mining.create_model('CLAIMSMODEL', 'CLASSIFICATION','CLAIMS', 'POLICYNUMBER', null, 'CLAIMS_SET');
end;
/

--Top 5 most suspicious fraud policy holder claims
select * from(
   select POLICYNUMBER, round(prob_fraud*100,2) percent_fraud,
   rank() over (order byprob_frauddesc)rnk from(
      select POLICYNUMBER, prediction_probability(CLAIMSMODEL, '0' using *) prob_fraud
      from CLAIMS
	  where PASTNUMBEROFCLAIMS in ('2 to 4', 'more than 4')))
where rnk<= 5 order by percent_frauddesc; 

Oracle Data Mining seçeneği Enterprise Edition veritabanınızı kurarken sizin için hazır ediliyor, kısa zaman önce Apex’e taşınan Oracle By Example(OBE) Data Mining tutorial’larını takip edebilirsiniz kurulum hızlı bilgileri için. Tutorial yanında kurulum adımlarını detayları ile Oracle® Data Mining Administrator’s Guide (11.2)’dan da takip etmek mümkün. Ama ben bu kurulumlarla uğraşamam şimdi ve merak içindeyim birkaç tur deneme yapmak isterim derseniz de apex.oracle.com benzeri bir cloud düşünülmüş bu seçenek için de; Oracle 11gR2 + Data Mining seçeneği + Oracle Data Miner klasik kullanıcı arayüzü ve örnek datasetler için Amazon Cloud’a erişebilirsiniz(ne yazık ki apex.oracle.com’daki gibi ücretsiz değil ama).

Oracle Data Miner(ODM) ise ücretsiz bir GUI, güncel sürümlerinde çok da başarılı olduğunu iddia etmeyen bu uygulamayı OTN’den indirerek ücretsiz kullanabiliyorsunuz Mining çalışmalarını kolaylaştırması amacı ile. ODM’in yeni sürüm ön yüzleri bu OOW’de yüksek ihtimal ile OTN’den indirilebilir olacağını düşündüğüm SQL Developer’ın yeni sürümü ile entegre olacak, SAS ile rekabete odaklanmış bir sürüm bu, ekran görüntüleri için Oracle Data Mining Blog’a göz atabilirsiniz, SAS kullanıcılarının vazgeçilmezi GUI kabiliyetleri motivasyonunu ekarte edebilmek için tıpa tıp benzerlikler göreceksiniz. Yine bu Blog’da yeni sürüm ile SAS modellerini Oracle’a otomatik taşımaya imkan veren DBMS_DATA_MINING.IMPORT_MODEL örneklerini de bulabilirsiniz, özetle anlayacağınız saldırı çok sağlam :)

Giriş için bu kadar bilgi yeterli sanırım, eksik olmasın bir de herhangi bir sorun yaşadığınızda sorularınıza ücretsiz bir üyelik alarak hızla cevap alabileceğiniz OTN Data Mining forumu ve Oracle® Data Mining Application Developer’s Guide (11.2)’dan bahsetmemiz yerinde olur. Eğer ilgi görürse bu yazımı örnekler ile bu doküman üzerinden ilerletmeyi düşündüm.

Kaynakça: Oracle Data Mining 11g Release 2 Overview and Demo presentation – Charlie Berger, Sr. Director Product Management at Oracle, Data Mining Technologies

Not: Konu hoşuma gitti ama Oracle değil de açık kaynak ne var, okulda proje amaçlı Java ile felan ne kullanabiliriz derseniz de Weka’ya göz atmanızı öneririm.

TROUG: hayal mi yoksa gerçekleşmesi için yeterli olgunluk düzeyine ulaştık mı?

Konu paralelinde bu alandaki ilk Türkçe yazımı paylaşmak istedim, Mayıs 1999’da kurulan OracleTurk yahoo grubu forumunda uzun senelerdir yöneticilik yapıyorum. Grup özellikle 2002 yılı ile birlikte hareketlenmeye başladı ve 2007 ile 2008 yılları tartışmaların en hareketli olduğu seneler oldu, bu dönemde gruba wordpress üzerinde bir blog da kurduk. Sayısını şu anda hatırlayamadığım onlarca ücretsiz seminer yaptık grup üzerinden, çoğu Üniversite’lerde gerçekleşen bu seminerler Oracle veritabanı kullanıcısı olarak kariyerine yeni başlayacak başarılı gençlerle buluşmamızı sağladı, bugün itibari ile grubun 1800 üzerinde üyeliği bulunmakta.

Bu kısa tarihsel girizgah sonrasında tartışmak istediğim konuya yavaş yavaş girmek istiyorum, “Bağımsız Türk Oracle Kullanıcıları Grubu” benim 2004 yazından bu yana OracleTurk başta olmak üzere çeşitli platformlarda dile getirdiğim ve çabasında olduğum bir konu oldu. Özellikle yurtdışında Slovenya, Estonya gibi Ankara’dan daha küçük denebilecek ülkelerin User Group aktivitelerini gördükçe önemli potansiyelinden her fırsatta bahsedilen ülkemizin kullanıcı grubunun olmadığı gerçeğinden hep utandım sohbetlerde. Fakat zamanla bu grubun olgunlaşamamasının arkasında Türkiye’nin sosyal dinamiklerinin olduğunun da farkına varmaya başladım ve zamana bırakmayı kabullendim.

Benzerlik kurmaya çalışırsak Kuzey Avrupa’da insanlar oy verirken belki çevreci politikalar onlar için çok önemli olabilir ama Türkiye’de durum farklı biliyoruz. Tanıdığım bilgili/tecrübeli bir çok uzmanın hemen hemen hiç paylaşımda bulunmamasına ve bu gibi konularda çaba göstermemesine, destek önerdiğimde de “eve gidip dinleniyorum zar zor, benim zamanım yok bu işlere ayıracak.” “Girmişsin bir işe piyasadaki insan kalitesini bilmeden konuşuyorsun, bu platformlarda canın çok sıkılır saçma sapan talepleri ile insanların uğraşmaktan.” benzeri cevaplarına o kadar alıştım ki, son senelerde artık cidden sesim çıkmaz olmuştu. Bende başarılı gençler ile zaman geçirmeye ve onlara kariyerlerin başında yardımcı olmaya odaklanmaya karar verdim.

Bazı şeyleri zamana bırakırken en güvendiğim referansım eğer cidden bir ihtiyaç var ise bu ülkede bir Oracle kullanıcı grubuna elbette kaliteli gençlerin arkadan yetişmesi ve 1975 sonrası doğan teknolojiye ilgili kişilerin yönetim kademelerinde ilerlemesi ile kullanıcı grubu fikri yavaşta olsa olgunlaşacak ve sonuçlanacaktır düşüncesi idi. Son seneler içinde WordPress, Blogger, Facebook, Linkedin gibi paylaşım platformlarının yaygınlaşması ile kaliteli paylaşım peşinde olan bir çok Türk blogger, forum takipçilerinin bu ortamlarda aktivitelerinin arttığını gözlemledim, içten içe hep mutlu oldum. Bugün kendi RSS okuyucumda Türk blogger’lar için özel bir sekme tutuyorum, bir yeni giriş düştüğünde buraya heyecanla açıyor ve hemen okuyorum :)

Dün Oracle Türkiye ofisinde bir toplantıya katıldım, toplantıda Türkiye Oracle ofisi satış ekibi desteği ile TROUG oluşumunun harekete geçirilmesi konuşuldu. Lokalde satış ekibinde önemli değişiklikler olmuş, bu toplantı daha önceki deneyimlerimden çok daha heyecan verici ve sonuç odaklı idi, mutlu oldum ve destek vereceğimi garanti ettim elbette. Daha önceki deneyimlerime hiç girmeyeceğim bu yazıda, çok da gerekli değil cidden. Bu noktada bence biraz da neden TROUG sorusuna yanıt aramakta fayda var. Beni en çok etkileyen kullanıcı grubu bu anlamda UKOUG olmuştur hep, her yıl Aralık aynda gerçekleşen konferanslarına iki kez katılma şansım oldu, bu kadar kaliteli bir içerik başka hiçbir yerde tecrübe etmedim diyebilirim. Dolayısı ile ilk önemli motivasyon bence kaliteli paylaşım ve özel ilgi grupları yaratarak odaklanma ile kullanıcı grubu aktif üyelerin uzmanlığını arttırmak, bilgiyi paylaşarak birlikte gelişmek. Bu paylaşım blog ve forum’lardakine göre çok daha derin zira gönüllü sunucular için sunuma hazırlık bir anlamda ciddi ders çalışma gerektirecektir, tanışma-tartışma fırsatı ve birlikte zaman geçirerek yakınlaşma-dostluklar üyeler arasında ilişkileri pekiştirecektir.

İkinci motivasyon tabii ki birlikten doğacak güç olacak, birkaç bin kişilik bir kullanıcı grubu sponsor bulmakta güçlük çekmeyecektir, bir çok ücretsiz seminer ve yurt dışından uzman kişileri davet etmek mümkün olabilir. Oracle ile konuşurken daha güçlü tek bir ses olarak taleplerde bulunabiliriz. Ayrıca piyasada iş imkanları bu kullanıcı grubu üzerinden sonuçlanabilir, üyelere iş fırsatlarında grup aktivitesi önemli bir referans oluşturabilir.

Peki gelelim tüm bunları yazıya dökmemin nedeni olan tetiklemek istediğim tartışma sorularına, sizce;
– böyle bir oluşum neden faydalı olur, istekten ziyade cidden ihtiyaç hissediyor musunuz? yoksa mobil internet ile güçlenen internet üzerindeki paylaşımların takibi yeterli tatmini yaratmaya devam eder mi?
– eğer varsa benzer olumlu ya da olumsuz kişisel deneyimleriniz nedir?
– böyle bir oluşum içinde mutlaka olmalı dediğiniz kişiler/gruplar kimler(Oracle Forum Türkiye isimli grubun yöneticisi Zekeriya Bey de dün toplantıda idi, onun da çok istekli ve destek olmaya hazır olduğunu hissettim), siz destek olmak için gönüllü olmak ister misiniz? Yanıtınız evet ise blog adresinizi yorum olarak belirtir misiniz.

Son bir not “Oracle kullanıcıları grubu” derken artık çok geniş bir topluluktan bahsediyoruz, muhtemel özel ilgi grubu örnekleri vermek gerekirse: Veritabanı geliştirme(SQL, PL/SQL, Apex, Java, Jdev&ADF, Forms&Reports, Windows&.Net, XML, BI&DWH ÖİG gibi), Veritabanı yönetimi(Yüksek erişebilinirlik&Grid Computing, Enterprise Manager&Grid Control, Kurulum&yükseltme ÖİG gibi), Genel(Eğitim&Sertifikasyon ÖİG gibi), Fusion Middleware(Weblogic, SOA ÖİG gibi), Mimari(Solaris, Linux, VM ÖİG gibi), Paket uygulamalar(E-business Suite, Siebel, Peoplesoft, JD Edwards, Primavera ÖİG gibi).

Our OOW10 session proposal – Case Study: Prepaid churn model with Oracle Data Mining

If you like the content just sign in with your free OTN account and a click on the vote button, your vote may make it possible to present, thanks :)

https://mix.oracle.com/oow10/proposals/10773

Subject: Case Study: Prepaid churn model with Oracle Data Mining

Abstract: This session is about a churn prediction study in Turkcell which is the leading GSM operator in Turkey. The session will start with an overview of the churn prediction problem and the existing data mining system in Turkcell so that the participants have some knowledge about the churn problem and the existing solution to this problem.

The session will also cover the advantages of in-database data mining and Oracle Data Mining. It will continue with the prepaid churn model which was created by using Oracle Data Mining. Then, the results and the performance that we get using Oracle Data Mining will be discussed.

About the presenter: Necdet Deniz Halıcıoğlu; I work for Turkcell Technology in Turkey. Since I began to work for Turkcell, Oracle Database and Oracle products became a part of my life. I have worked on ODS and Data Mining Projects. I also have an interest on churn prediction problem. I had several case studies about churn prediction. Data mining is getting more attractive for me every day and I like it more every day.

Oracle Partitioning and Parallel Execution for Performance seminar by Tanel Poder

Tanel was our visitor last week as I mentioned earlier, he did a one day seminar on partitioning and parallel execution. There were lots of interesting discussions for me, I tried to share some of my notes just to give an idea how Tanel’s experience may affect your daily Oracle database administration or development routine.

Other ways for detecting partition pruning rather than Pstart and Pstop info at DBMS_XPLAN:
– Event 10128, semi documented in Note 209070.1, create partition pruning tracing table under your schema KPAP_PRUNING
– Samping ROW_WAIT_OBJ# on V$SESSION with Snapper or ASH, you get the dba_object.data_object_id values
– Taking snapshots of V$SEGMENT_STATISTICS logical IO for each partition segment

Partitioning for OLTP DML Concurrency
– Partitioning can be effectively used for reducing concurrency on right hand index blocks in OLTP(ever increasing sequence or timestamp based columns)
– Hash sub partitioning for meaningless pkey columns, the kgghash() function used for row placement by hash is optimized for power of 2 buckets
– Partitioning for data load concurrency, below option will take TM lock only on the partition and allow multiple load operations on the same table
INSERT /*+ APPEND */ INTO taget_table PARTITION(target_partition)
SELECT * FROM source_table;

Parallel Query Execution change with 10g
– In 9i the QC unparses transformed query text and send a copy for each slave for separate execution. In 10g+ each slave executes the same cursor

Parallel execution more resources
– Especially because of the PX communication overhead
– And additionally PX operation on a table requires a segment level checkpoint.
– With 11.2 in-memory parallel execution if PARALLEL_DEGREE_POLICY is set to AUTO
– So not everything should use paralelism and not every system is a candidate for parallelism, even in DWs(like ETL metadata updates etc.)

For parallel DML always remember to enable parallel dml at session level
– alter session enable parallel DML;
insert /*+ parallel(4) pq_distribute(eo none) */ into etl_orders eo
select * from tab;
– Query PDML_ENABLED, PDML_STATUS, PDDL_STATUS, PQ_STATUS columns of V$SESSION to check parallel DML is enabled or not for a session
– if data read is highly skewed, different slave produce way amount of rows, you may want to distribute rows for loading with pq_distribute(eo random) hint

Major Parallel Execution bottlenecks
– Serially executed steps in PQ plans, check for P->S and S->P operations in the middle of the execution plans. “IN-OUT” column is empty for serial operations in DBMS_XPLAN
– Too much communication between slaves, if possible replace a BROADCAST distribution with HASH or PART
– Skewed row distribution between producers and consumers, check V$PQ_TQSTAT if some slaves produced/consumed signaficantly more rows than others in the slave set, swith form HASH to BROADCAST ot PARTITION distribution
– Unbalanced hardware configuration, not enough IO bandwith, the very common reason, query ASH or run snapper of PX slaves to measure time waited for IO

Parallel Execution waith events and sql trace
– Metalink Note 191103.1 for PQ wait events
– After 10g+ before tkprof utulity to aggregate the multiple tracefiles produced for each slave use trcsess utulity

Parallel Execution and RAC
– In 10g set PARALLEL_INSTANCE_GROUPS parameter in each instance to assign the instances to groups
ALTER SYSTEM SET instance_groups = ‘rac01′,’all’,’batch’ ;
ALTER SYSTEM SET instance_groups = ‘rac02′,’all’,’batch’ ;
ALTER SYSTEM SET instance_groups = ‘rac03′,’all’,’oltp’ ;
ALTER SYSTEM SET instance_groups = ‘rac04′,’all’,’oltp’ ;
— Before running the PQ statement SET parallel_instance_groups
ALTER SESSION SET parallel_instance_groups = ‘batch’ ;
— The slaves will run only on the instances associated with the ‘batch’ group
– In 11g again parallel_instance_groups controls the allowed groups where QC can schedule inter instance PQ slaves, but this time slaves can only run on the instances which allow running the same “service” the QC connected through.
— Alternatively
ALTER SESSION set PARALLEL_INSTANCE_GROUP = ‘service1′,’service3’ ;

Parallel Execution Overview
– PX COORDINATOR: Query Coordinator(QC), distributes the work to slaves and returns results back to the client. Additionally performans work if something has to be done serially.
– PX SEND QC: Sends produced rows to QC via a table queue
– PX BLOCK ITERATOR: Operation which picks different ranges ıf PX granules to read different slaves
– Table Queues: In-memory communication channel between PX slaves, if SGA_TARGET is in use or PARALLEL_AUTOMATIC_TUNING is set to TRUE a memory buffer inside large pool
– QC(RAND): The row source is sending its rows back to QC

Things to remember
– Watch out for accidently enabled paralelism especially on OLTP, after parallel index builds and rebuilds remember to ALTER INDEX NOPARALLEL
– The Cost we see in DBMS_XPLAN does not include PX distribution cost, however CBO does choose PC distribution based on cost(10053 CBO tracefile shows that the costing is done)
– Use PARALLEL_MIN_PERCENT parameter to decide the minimum % of the requested Degree of Paralellism(DOP) query should be able to allocate in order to run the query
– PARALLEL_EXECUTION_MESSAGE_SIZE default to 16KB after 11.2
– Use ALTER SESSION FORCE PARALLEL QUERY PARALLEL n; to force session level paralelism

Oracle Partitioning and Parallel Execution for Performance seminar by Tanel Poder

ps: Check out Oracle Sweden User Group(ORCAN) Event presentations of Hüsnü

I may be back :)

It has been a while again since my last blog, so I wanted to give some quick highlights.

– Turkcell bought a full Rac Sun Exadata V2 box, we are still in test phase and we plan to migrate our 100+ TB DWH this August. This installation and migration is being a major experience for both us and Oracle. My team has several customer experience presentation proposals on ODI with Exadata and CEP for OOW and UKOUG, so I hope these proposals are being accepted and we can meet to share these experiences in detail.

– We are working close with Oracle Data Mining product development team for the In-Database mining options on 11.2 and Exadata. Automated SAS model migration is an important development. We will be at Krakow, Poland for Oracle’s DWH Global Leaders event to meet with the product development team.

OracleTurk is now 11 years old, with each year the forum activity is getting much more mature, last year I passed to read only mode after one of my close friend’s warning, he told me to give chance for the new people to answer since I was mad for answering any question on this forum for years. It was very hard for me I must admit, but now I see this warning was very helpful since lots of new faces is now around the forum :)

Tanel and Tom will be at Istanbul this week, I will attend Tanel’s session at my company. If I can, I will try to share my seminar notes like I did in old days.

– My friend, colleague Hüsnü who is the first Turkish Oracle ACE Director and Oracle DBA of year 2009 has quited his job at Turkcell and started a new journey. I am very sad about this decision on one hand since now we are apart but happy for Hüsnü since I am very pretty sure that he will face and win this new challenge.

– Recently I saw that one of my Turkish DBA friend Kamran has been rewarded as an Oracle ACE, I am very happy to see young passionate and hard working people to achieve these kind of success and become another inspiration to the newbies.

It is my 8th month as the team leader for the BI development team at Turkcell group. Leading my team is very exciting, I am also inside lots of non-Oracle projects like developing a Turkish text mining and web crawler product, AbInitio Linux migration, developing a Java based ETL product etc. I have the prvilige to work with very talented young software engineers so leading my team is a great joy and experience until now. Where as being managed as a manager is something I am still being challenged, I couldn’t get used to this feeling until now. Anyway, as once Lance Armstrong said: “Pain is temporary, but quiting lasts forever.” so I continue to fight for what I believe in.

ps: I chosed this title for this post just to make an expression for my last comeback, I hope this blog may be a similar comeback :)

Aggregated available blogs and forums on Oracle’s Integration Technologies

Today is my 33rd birthday and I just wanted to make a quick update that I am still alive :)

Here is a link I received from Oracle today which aggregates available blogs and forums on Oracle’s Integration Technologies; Oracle Data Integrator, Oracle Warehouse Builder and Oracle Goldengate: http://www.netvibes.com/01badger#General

I hope you like it as I do, about blogging and forums I think I won’t be able to blog like the old days anymore, hours are really not enough to catch up with the management issues parallel to my new responsibility. But things always may change as we all know :)

Until next time I hope to see you around at my friendfeed.