Merhaba bu yazımda Oracle Data Integrator’ın tek tek arayüzlerini tanıtmaktansa bunları daha kolay anlamamız için bir örnek yaparak anlatmaya çalışacagım.Örnegim de MsSQL veritabanın’dan Oracle veritabanına veri taşıyacagım.bunun için sırasıyla aşagıdaki adımları izleyecegiz :
- Repositery’e Baglanmak
- Çalışacagımız her bir veritabanına baglantı için Physical Architecture oluşturmak,
- Çalışacagımız her bir veritabanı için Logical Architecture oluşturmak,
- Çalışacagımız her bir veritabanında ki istedigimiz objeleri seçmek için Data Model Oluşturmak,
- Taşıma işlemini gerçekleştirmek için Proje oluşturmak,
- Senaryoyu Oluşturmak için Interface tanımlamak,
- Verinin nasıl taşınacagını seçmek için knowledge module yüklemek,
- Taşıma işleminin başarılı oldugunu onaylamak.
Repositery’e Baglanmak
1.Repository’e baglanmak için “Connect to Repository” seçenegini seçeriz.
2.Daha önceden oluşturdugumuz Repository’imizin ismini ve SUPERVISOR kullanıcısının şifresini gireriz.
Çalışacagımız her bir veritabanına baglantı için Physical Architecture oluşturmak
3.Öncelikle ODI üzerinde çalışma yapacağımız veritabanı ya da veritabanı sistemlerini tanımlamamız gerekmektedir. Bu işlem için, “Topology” sekmesi altından “Physical Architecture” başlığı altından kullanacağımız teknolojiyi seçmemiz gerekmektedir.
Ben örnegimde MsSQL’den Oracle’a veri taşıyacagım için ilk başta MsSQL veritabanımı tanımlıyorum.MsSQL üzerinde sağ tıklayarak “New Data Server” seçeneğini seçmemiz gerekmektedir.
4.“Name” alanı, veritabanımız için tanımlayıcı isim oluşturacaktır. İşlem yapacağımız veritabanı “User” ve “Password” bilgilerini girerek, sol bölümde yer alan “JDBC” sekmesine geçmemiz gerekmektedir.
5.JDBC Connection bilgilerini girerek, sol üst bölümde yer alan “Test Connection” butonuna basarak, girdiğimiz bilgilerin doğruluğunu kontrol edebiliriz
6.Kayıt ettikten sonra test etmemiz gerktigini söyledigi için “Tamam” butonunu tıklayarak kaydederiz.
7.Bilgilendirmeyi “Tamam” butonuna tıklayarak geçeriz.
8.Her hangi bir agent kurulumu yapmadığımızdan dolayı, “Local” seçeneğini seçerek “Test” butonuna basalım.
9.Veritabanı bağlantımız sorunsuz bir şekilde tamamlanmıştır. Şimdi çalışma yapacağımız şema tanımlamaların yapılması gerekmektedir.”Tamam” butonuna tıklayarak bu kısmı bitirelim.
10.Oluşturdugumuz data server üzerine sag tıklayarak çalışmak istedigimiz user/schema’yı tanımlarız.Bunun için “New Physical Schema” seçeneği seçilir.
11.user/schema bilgileri girilir ve daha sonra kaydedilir.
12.Kayıt sırasında her hangi bir “Context” verisinin tanımlanmadığımıza dair aldıgımız bu mesaja “Tamam” seçeengini seçerek geçelim.Biz Context’imizi Logical Arcihecture’de seçecegiz.
Çalışacagımız her bir veritabanı için Logical Architecture oluşturmak
13.ODI üzerinde çalışma yapacağımız veritabanı şemalarını tanımlamamız gerekmektedir. Bu işlem için, “Topology” sekmesi altından “Logical Architecture” başlığı altından kullanacağımız teknolojiyi seçmemiz gerekmektedir.
Ben örnegimde MsSQL’den Oracle’a veri taşıyacagım için ilk başta MsSQL veritabanımı tanımlıyorum.MsSQL üzerinde sağ tıklayarak “New Logical Schema” seçeneğini seçmemiz gerekmektedir.
Daha sonra kullanacagımız Physical Schamayı,Context’i seçeriz ve Logical Schema’mıza bir isim veririz.Son olarak kaydederiz.
Çalışacagımız her bir veritabanına baglantı için Physical Architecture oluşturmak
14.Şimdi de Oracle veritabanım için bir data server oluştururum.Bunun için “Topology” sekmesi altından “Physical Architecture” başlığı altından “Oracle” seçenegini seçerek sag tıklar “New Data Server” seçeneğini seçeriz.
15.“Name” alanı, veritabanımız için tanımlayıcı isim oluşturacaktır. İşlem yapacağımız veritabanı “User” ve “Password” bilgilerini girerek, sol bölümde yer alan “JDBC” sekmesine geçmemiz gerekmektedir.
16.JDBC Connection bilgilerini girerek, sol üst bölümde yer alan “Test Connection” butonuna basarak, girdiğimiz bilgilerin doğruluğunu kontrol edebiliriz.
17.Veritabanı bağlantımız sorunsuz bir şekilde tamamlanmıştır.
18.Çalışma yapacağımız şema tanımlamaların yapılması gerekmektedir. Şema oluşturmak için, tanımladıgımız data server üzerinde sag tıklayarak “New Physical Schema” seçeneği seçilir.
19.user/schema bilgileri girilir ve kaydedilir.
20.Kayıt sırasında her hangi bir “Context” verisinin tanımlanmadığımıza dair aldıgımız bu mesaja “Tamam” seçeengini seçerek geçelim.Biz Context’imizi Logical Arcihecture’de seçecegiz.
Çalışacagımız her bir veritabanı için Logical Architecture oluşturmak
21.ODI üzerinde çalışma yapacağımız veritabanı şemalarını tanımlamamız gerekmektedir. Bu işlem için, “Topology” sekmesi altından “Logical Architecture” başlığı altından kullanacağımız teknolojiyi seçmemiz gerekmektedir.
Oracle üzerinde sağ tıklayarak “New Logical Schema” seçeneğini seçmemiz gerekmektedir.
22.Kullanacagımız Physical Schamayı,Context’i seçeriz ve Logical Schema’mıza bir isim veririz.Son olarak kaydederiz.
Çalışacagımız her bir veritabanında ki istedigimiz objeleri seçmek için Data Model Oluşturmak
23.Oluşturmuş olduğumuz projelerde bulunan “interface” tasarımlarında kullanacağımız veri modellerinin tanımlanması gerekmektedir.Bizim örnegimiz de MsSQL ve Oracle veritabanını kullanacagımız için her biri için ayrı model oluştururuz.
Bunun için “Designer” altında bulunan “Model” seçilerek sag tıklanılır ve biz oradan “New Model” seçeengini seçeriz.
24.Model’imize bir isim verir bilgilerimizi gireriz hangi veritabanın da hangi schema’ya baglanmak istiyorsak “Logical Schema”dan o schama’yı seçeriz ve daha sonra sol tarafdan “Reverse Engineer” seçenegini seçeriz.
25.Çalışacagımız context’i seçeriz ben default gelen context’i seçtim ve schema’da neyi taşıyacagıma seçerim ben tablo taşıması yapacagım için tablo’yu seçiyorum ve sol tarafda ki “Selective Reverse Engineering” seçenegini seçiyorum.
26.Buradan istedigim tabloları seçer üst pencere ki “Reverse engineer” e tıklayark seçtigim tabloların yüklenmesini saglarım.
27.Kaydetmemizi istiyor.Biz de “Yes” butonuna tıklayarak devam ederiz.
28.Yüklenme işleminin bitmesini bekleriz.
29.Oracle veritabanı için de model oluşturmak için yeni bir model tanımlamamız gerekecek.
30.Oracle veritabanı modeli için modelimize isim ve bilgileri girer daha sonra da “Reverse Engineer” seçenegini seçeriz.
31.Çalışacagımız context’i seçeriz ben default gelen context’i seçtim ve schema’da neyi taşıyacagıma seçerim ben tablo taşıması yapacagım için tablo’yu seçiyorum ve sol tarafda ki “Selective Reverse Engineering” seçenegini seçiyorum.
32.Buradan istedigim tabloları seçer üst pencere ki “Reverse engineer” e tıklayark seçtigim tabloların yüklenmesini saglarım.
Taşıma işlemini gerçekleştirmek için Proje oluşturmak
33.“Designer” sekmesine geçerek “Project” başlığı altında yeni proje oluşturabiliriz. Yapacağımız her farklı çalışma için bir proje oluşturabiliriz.
34.Projemize isim verir daha sonra kaydederiz.
Senaryoyu Oluşturmak için Interface tanımlamak
35.Yeni Interface tanımlamak için buradan “Interface” seçerek sag tıklayarak “New Interface” seçenegini seçeriz.
Interface : Veri entegrasyonu tasarımı (integration) ve veri dönüştürme (transformation) senaryolarını oluşturmamızı sağlayan kuralları tanımladığımız modüldür
36.Interface’imize bir isim veririz,kullanacagımız context’i seçeriz ben default olan gelen context’i seçtim.Son olarak da veriyi taşıyacagımız veritabanının logical schamasını seçeriz.
37.Mapping kısmına geçtigimiz de bizi burada boş bir sayfa bekliyor aslında senaryoyu burada kuracagız denilebilir.
38.Kaynak veritabanım MsSQL olacagı için sol pencerede Model altında bulunan MsSQL veritabanın daki “Categories” tablosunu sürükleyip,pencereye bırakıyorum.
39.Tablo üzerinde gelip saga tıklıyorum ve “Add to Target” seçenegini seçiyorum.
40.Böylelikle senaryoma göre MsSQL daki “Categories” tablosu Oracle veritabanına taşınacak.Aşagıda ki ben de yeni taşınacak tabloya isim veriyorum “MsSQL_Categories”.
41.”Quick Edit” seçenegi seçilerek.Sütun isimleri uzunlukları vs. kontrol edilir ve istenilirse degiştirebilir.
Verinin nasıl taşınacagını seçmek için knowledge module yüklemek
42.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.
Knowledge modüller birer kod temasıdır. Entegrasyon sürecinde her Knowledge modüller özelleştirilmiş bir görevi yerine getirmek için oluşturulmuştur. ODI (Oracle Data Integrator) içinde kullanılmak üzere düzenlenmiş bu Knowledge modüller’ler entegrasyon sürecinin gerçeklenmesinde kullanılır. Knowledge modüller’ler, ODI tasarım sürecinde ve metadata göz önünde bulundurularak oluşturulur.
- Reverse-Engineering(RKM) : Yapılan işlemin target database’mizde aktarılmasını ve geçerliliğini sağlar.
- Loading(LKM) : Source veritabanımızdan verinin loading yani okunma işlemini gerçekleştirir.
- Check(CKM) : Gelen verinin doğruluğunu konturol eder.
- Integration(IKM) : Target database’imize verinin aktarılmasını sağlar.
- Journalization(JKM) : IKM’nin yapacağı iş yükünü azaltır.
- Services(SKM) : Web serviceslerin çağrılmasını sağlar.
43.Ben örnegim de ilk olarak Oracle veritabanına aktarımı saglayacak olan “IKM SQL Control Append” modul’ünü seçiyorum.Bunu seçmemde ki amaç bana MsSQL’dan verinin SQL olarak gelecek olması.
44.İkinci olarak MsSQL veritabanımdan veriyi çekecek modul’üm olan “LKM SQL to SQL” ı seçiyorum ve “Tamam” butonuna tıklıyorum.Burada ki amaç da MsSQL veritabanından verinin SQL komutuyla gönderilmesini saglar.
45.Yükledigim modeulerle ilgili bilgi veriyor.
46.Interface’imden “Flow” seçenegini seçiyorum.Ve karşıma böyle bir pencere geldiyse dogru yoldayım demektir.
47.İlk olarak Source’ı seçiyorum ve buraya “LKM SQL to SQL” i seçiyorum.
48.Target’i seçtigim de IKM Selector olarak “IKM SQL Control Append” seçenegini 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
49.Çalıştırmak için “Run” butonuna basıyorum ama Kaydedip çalıştırabilecegim için önce “Yes” diyerek kaydediyorum.
50.Her hangi bir agent kurulumu yapmadığımızdan dolayı, “Local” seçeneğini seçerek “Tamam” butonuna basalım.
51.İşlemimizin başladıgını bize bildiriyor.
Taşıma işleminin başarılı oldugunu onaylamak
52.Görüldügü gibi “Operatör” penceresi altında “Date” altında bizim veri taşıma işlemimizin başarılı olup olmadıgını bildirir.Ve bizim taşıma işlemimizi başarıyla bittigini bildiriyor.
Operatör : Canlı sistemin yönetildiği ve izlenebildiği modüldür. Çalışan yada herhangi bir sebepten hata almış olan senaryoların loglarını bu alandan takip ediyoruz.
Bununla birlikte artık MsSQL deki tablomuz verisiyle birlikte Oracle veritabanın da bizim belirledigimiz schamaya taşınmıştır.
Yazar : Mustafa Bektaş Tepe
Oracle World
Nisan 16th, 2019 on 12:23
Bu işlemleri ODI üzerinde procedure ‘de yapabilir miyiz? MSSQL’den Oracle a data aktarabilir miyiz?
Nisan 17th, 2019 on 12:46
Tabi ben örnek olarak mssql’den oracle’a taşıma yaptım istediğiniz veritabanından istediginiz veritabanına ODI kullanarak aktarım yapabilirsiniz.