Merhaba arkadaşlar bu yazımda Oracle Data Integrator’un en önemli özelliklerinden birisi olan datayı taşırken manipule(oynama) yapacagız.Ne demek bu dersek bir örnekle açıklayalım örnegin 2 tablom var bu tabloları birleştirip hatta içinde ki sütunları da birleştirip daha sonra da belirli şartları saglayan verileri  karşıda bir tabloya atmak istemek gibi.Peki bunu nasıl yapacagım bunu Interface’lerimize Filter ve Join gibi araçları kullanarak yapabiliriz.

Ben örnegimde MsSQL veritabanında  2 tane tabloyu birleştirip daha sonra bunun da id’si 1 ve 2 olanları Oracle Veritabanında yeni bir tabloya taşıyacagım.

Bu örnege başlamadan önce http://www.mustafabektastepe.com/2013/08/24/oracle-data-integrator-ile-mssql-veritabanindan-oracle-veritabanina-veri-tasinmasimigration/ bu dökümanı uygulamak gerekir çünkü tekrardan veritabanı tanımlama,model oluşturma vs. ile ugraşmamak için.

1.Repository’e baglanmak için “Connect to Repository” seçenegini seçeriz.

oracle data integrator filter2.Daha önceden oluşturdugumuz Repository’imizin ismini ve SUPERVISOR kullanıcısının şifresini gireriz.
oracle data integrator filter3.Yeni senaryomuz yeni bir Interface tanımlarız.
oracle data integrator filter4.Interfce’imize isim verir ve veriyi taşıacagımız Logical Schema’mızı seçeriz.
oracle data integrator filter5.Senaryomuzu oluşturmak için Mapping kısmına geçeriz.
oracle data integrator filter6.Daha önce MsSQL veritabanı için oluşturdugumuz modelimizde ki 2 tabloyu “Categories” “Products” sürükle bırak yöntemiyle taşırız.
oracle data integrator filter7.Source kısmının son hali resimde gözeüktügü gibi olur.

Target yani veri taşıyacagımız olan veritabanımıza yeni bir tablo ve sütün eklemek için “Temprorary Target Datastore” üzerinde sag’a tıklarız ve istedigimiz kadar sütun ekleriz.
oracle data integrator filter8.Ben 5 tane sütun ekledim ve isimlerinide degiştirmedim.Tablomun isminede “ODI_Filter_Join” ismini verdim.
oracle data integrator filter9.“Products” tablosun’daki  “CategoryID” sütununu sürükleyip “Categories” tablosun’daki “CategoryID” sütununun üzerine bırakıyorum ve bu haliyle ikisi arasında join oluşmasını saglıyorum.Yani “Products.CategoryID=Categories.CategoryID” böyle bir Join yapmış oluyorum.
oracle data integrator filter10.Daha sonra filter ve join’leri görmek için “Quick Edit” seçenegini seçiyorum.

Yeni Filter eklemek için Filter seçenegi üzerinde +(artı) işareti üzerine tıklıyorum
oracle data integrator filter11.Burada hangi sütuna göre filtreleme yapacagımızı seçemek için o sütun üzerine gelir “Add to Filter” butonuna tıklarız.
oracle data integrator filter12.Seçimizi yaptıktan sonra nasıl bir Filtreleme yapacagımızı belirlemek için “Tamam” butonuna tıklarız.
oracle data integrator filter13.Buradan istedigimiz fonksiyonları ve operatörleri seçeriz.
oracle data integrator filter14.Ben gördügünüz gibi örnegim çok uzamasın diye basit bir şey yapıyorum ve “Tamam” butonuna tıklıyorum.Burada istediklerimizi kullanabiliriz.
oracle data integrator join15.“Tamam” butonuna tıklıyoruz.
oracle data integrator join16.Filter ve Join’in son halini görüyoruz istersek yenilerini ekleyebiliriz.
oracle data integrator join17.Tekrardan “Mapping” kısmına geçtigimizde filter ve Join’i arayüzden’de görebiliriz.
oracle data integrator join18.“Quick Edit” kısmına geçtigimizde yeni oluşturacagımız tablo daki sütunlar ile ilgili ayarlamaları yapabiliriz.
oracle data integrator join19.Örnegin ben 1.kısımla sütunlarımın uzunluklarını belirlerken, 2.sütunla da sütunlarımın isimlerini belirleyebilirim.
oracle data integrator join20.Daha Sonra “Flow” kısmına geçebiliriz.Ve source’dan veriyi okumak için gerekli modul’ümüzü seçeriz daha önceki dökümanlarda bu modulleri yükledigimiz için tekrardan yüklemeye gerek duymadan kullanabiliriz.
oracle data integrator join21.Target için de modulümü seçtikten sonra Interface’imi kaydedebilirim.
oracle data integrator join22.“Yes” ile devam edelim.Kullanacagımız objeleri kilitleyecegini söylüyor kilitlememesini istersek “No” butonuna da tıklayabiliriz.
oracle data integrator join23.Interface’imizi çalıştırırız.
oracle data integrator join24.Her hangi bir agent kurulumu yapmadığımızdan dolayı, “Local” seçeneğini seçerek “Tamam” butonuna basalım.
oracle data integrator join25.İşlemimizin başladıgını bize bildiriyor.
oracle data integrator join26.MsSQL’daki iki tabloyu Join ile baglayıp filtreliyerek karşı tabloya attıgımız projenin başarı ile bittigini görürüz.
oracle data integrator join

Yazar : Mustafa Bektaş Tepe
Oracle World

1,646 total views, 2 views today