Merhaba arkadaşlar bu yazımda Oracle Data Integrator’ın güncelenen veriyi taşımasıyla ilgili bir örnek yapacagım.
Bu ne demek oluyor  bir örnek ile açıklamak gerekirse benim MsSQL veritabanım’de deneme isimli bir tablom var ve ben bunu Oracle’a taşıdım fakat bir kaç gün sonra MsSQL veritabanımda ki tabloma yeni veriler geldi işte ben böyle bir durumda yeni gelen verilerimi nasıl Oracle veritabanında ki tabloma taşıyacagım.İşte bunu Oracle Data Integrator aracılıgıyla yapabilirim.
Benim senaryoma göre MsSQL veritabanım da “Categories” isimli bir tablom var ve ben bu tabloyu http://www.mustafabektastepe.com/2013/08/24/oracle-data-integrator-ile-mssql-veritabanindan-oracle-veritabanina-veri-tasinmasimigration/ bu döküman da gördügünüz gibi Oracle veritabanına “MsSQL_Categories” adıyla taşıdım.Daha sonra MsSQL veritabanımda ki tabloma yeni veriler ekledim,eski verileri güncelledim ve sildim.Bu haliyle  MsSQL’daki tablomla Oracle’daki tablom birbirinden farklı oldu  işte ben yapacagım örnekle tekrardan bu veritabanlarında ki tabloları senkron hale getirecegim.
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.MsSQL veritabanımda ki “Categories” isimli tablonun verisinin son durumu.Incremental bir örnek yapacagımız için tablonun içinde ki ki veriyi degiştirdim.
oracle data integrator incremental update2.Bir önce ki dökümanda Oracle veritabanına taşıdıgımız “MsSQL_Categories” isimli tablonun son hali.
oracle data integrator incremental update3.Daha önceden oluşturdugumuz Repository’e baglanmak için “Connect to Repository…” butonuna tıklıyoruz.
oracle data integrator incremental update4.Baglanacagımız repository’i seçtikten sonra “Tamam”  butonuna tıklıyoruz.
oracle data integrator incremental update5.Bir önce ki örnekte oluşturdugumuz modellerden Oracle veritabanına ait olan “Mode_Oracle_Mustafa” modeline çift tıklar açarız.

Bunun nedeni bir önce ki örnekte MsSQL veritabanından Oracle veritabanına taşıdıgımız tabloyu Oracle Data Integrator aracına tanıtmak istememiz.
oracle data integrator incremental update6.Tabloyu tanıtmak için “Selective Reverse-Engineering” butonunu seçeriz.
oracle data integrator incremental update7.Birinci adım olarak gelen pencereden “Objects to Reverse Engineer” seçenegini seçerek schemamızdaki yeni objeleri görürüz.

İkinci adım olarak da Oracle Data Integrator’a tanıtacagımız objeyi seçer “Rever Engineer” seçenegini seçeriz.
oracle data integrator incremental update8.Yeni tablomuzun yüklenmesini bekleriz.
oracle data integrator incremental update9.Yeni bir senaryo oluşturacagımız için yeni bir Interface tanımlamamız gerekir.
oracle data integrator incremental update10.Interfce’imize isim verir ve veriyi taşıacagımız Logical Schema’mızı seçeriz.
oracle data integrator incremental update11.Senaryomuzu oluşturmak için Mapping kısmına geçeriz.
oracle data integrator incremental update12.MsSQL veritabanın’daki “Categories” adlı tablomuzu sürükle bırak yöntemiyle taşırız.
oracle data integrator incremental update13.Oracle veritabanın’daki “MsSQL_Categories” tablomuzu sürükle bırak yöntemiyle taşırız.
oracle data integrator incremental update14.Bu kısımda iki tablonun  sütunlarını otomatik eşleştirip mi diye soruyor,ben burada “Yes” diyecegim ve sütunları otomatik eşleştirecek.Ama istenilirse “No” butonunu da seçebilirdik bu durumda eşleştirmeye bizim yapmamız gerekirdi.
oracle data integrator incremental update15.Eşleştirmeyi görmek için “Quick Edit” seçenegini seçeriz.
oracle data integrator incremental update16.Eşleştirmeyi bu aşamada görebiliriz.
oracle data integrator incremental update17.Bu aşamada MsSQL veritabanından Oracle veritabanına veri nasıl taşınacak onu seçeriz.Bunun için de “Knowledge Modules” seçenegi üzerine tıklayarak “Import Knowledge Modules…” seçenegini seçeriz.
oracle data integrator incremental update18.Incremental veri taşıyacagım için buradan “IKM SQL Incremental Update” seçenegini seçerim.

NOT : Incremental veri taşımak için başka module’rde mevcut istenildigi durumda onlarıda seçebiliriz hatta ileriki aşamalarda kendi modulerimizide yazabiliriz.
oracle data integrator incremental update19.Yükledigimiz module hakkında bilgilendirme de bulunuyor.”Tamam” butonuna tıklayarak geçebiliriz.
oracle data integrator incremental update20.İlk olarak Source’ı seçiyorum ve buraya “LKM SQL to SQL” i seçiyorum.
oracle data integrator incremental update21.İlk olarak “IKM SQL Control Append” modulümü seçiyorum.

INSERT <default> : true
COMMIT <default> : true
FLOW_CONTROL : false
RECYCLE_ERRORS <default> : false
STATIC_CONTROL <default> : false
TRUNCATE <default>: false
DELETE_ALL <default>: false
CREATE_TARG_TABLE : true
DELETE_TEMPORARY_OBJECTS <default> : true

İkinci olarak Interface’imi kaydediyorum.
oracle data integrator incremental update22.Kaydetmek istedigimizi “Yes” butonuna basarak onaylayabiliriz.
oracle data integrator incremental update23.Daha sonra Interface’imizi çalıştırabiliriz.
oracle data integrator incremental update24.Her hangi bir agent kurulumu yapmadığımızdan dolayı, “Local” seçeneğini seçerek “Tamam” butonuna basalım.
oracle data integrator incremental update25.İşlemimizin başladıgını bize bildiriyor.
oracle data integrator incremental update26.Bizim taşıma işlemimizi başarıyla bittigini bildiriyor.
oracle data integrator incremental update27.Oracle veritabanındaki tablomun gelip son haline bakarsak tabloda ki verilerin senkron oldugunu görürüz.
oracle data integrator incremental update

Yazar : Mustafa Bektaş Tepe
Oracle World

Loading