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.
2.Bir önce ki dökümanda Oracle veritabanına taşıdıgımız “MsSQL_Categories” isimli tablonun son hali.
3.Daha önceden oluşturdugumuz Repository’e baglanmak için “Connect to Repository…” butonuna tıklıyoruz.
4.Baglanacagımız repository’i seçtikten sonra “Tamam” butonuna tıklıyoruz.
5.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.
6.Tabloyu tanıtmak için “Selective Reverse-Engineering” butonunu seçeriz.
7.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.
8.Yeni tablomuzun yüklenmesini bekleriz.
9.Yeni bir senaryo oluşturacagımız için yeni bir Interface tanımlamamız gerekir.
10.Interfce’imize isim verir ve veriyi taşıacagımız Logical Schema’mızı seçeriz.
11.Senaryomuzu oluşturmak için Mapping kısmına geçeriz.
12.MsSQL veritabanın’daki “Categories” adlı tablomuzu sürükle bırak yöntemiyle taşırız.
13.Oracle veritabanın’daki “MsSQL_Categories” tablomuzu sürükle bırak yöntemiyle taşırız.
14.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.
15.Eşleştirmeyi görmek için “Quick Edit” seçenegini seçeriz.
16.Eşleştirmeyi bu aşamada görebiliriz.
17.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.
18.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.
19.Yükledigimiz module hakkında bilgilendirme de bulunuyor.”Tamam” butonuna tıklayarak geçebiliriz.
20.İlk olarak Source’ı seçiyorum ve buraya “LKM SQL to SQL” i seçiyorum.
21.İ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.
22.Kaydetmek istedigimizi “Yes” butonuna basarak onaylayabiliriz.
23.Daha sonra Interface’imizi çalıştırabiliriz.
24.Her hangi bir agent kurulumu yapmadığımızdan dolayı, “Local” seçeneğini seçerek “Tamam” butonuna basalım.
25.İşlemimizin başladıgını bize bildiriyor.
26.Bizim taşıma işlemimizi başarıyla bittigini bildiriyor.
27.Oracle veritabanındaki tablomun gelip son haline bakarsak tabloda ki verilerin senkron oldugunu görürüz.
Yazar : Mustafa Bektaş Tepe
Oracle World