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.

mssql to oracle migration2.Daha önceden oluşturdugumuz Repository’imizin ismini ve SUPERVISOR kullanıcısının şifresini gireriz.
mssql to oracle migration

Ç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.

mssql to oracle migration4.“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.
mssql to oracle migration5.JDBC Connection bilgilerini girerek, sol üst bölümde yer alan “Test Connection” butonuna basarak, girdiğimiz bilgilerin doğruluğunu kontrol edebiliriz
mssql to oracle migration6.Kayıt ettikten sonra test etmemiz gerktigini söyledigi için “Tamam” butonunu tıklayarak kaydederiz.
mssql to oracle migration7.Bilgilendirmeyi “Tamam” butonuna tıklayarak geçeriz.
mssql to oracle migration8.Her hangi bir agent kurulumu yapmadığımızdan dolayı, “Local” seçeneğini seçerek “Test” butonuna basalım.

mssql to oracle migration9.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.
mssql to oracle migration10.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.

mssql to oracle migration11.user/schema bilgileri girilir ve daha sonra kaydedilir.
mssql to oracle migration oracle data integrator12.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.mssql to oracle migration oracle data integrator

Ç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.

mssql to oracle migration oracle data integrator

Ç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.
mssql to oracle migration oracle data integrator15.“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.
mssql to oracle migration oracle data integrator16.JDBC Connection bilgilerini girerek, sol üst bölümde yer alan “Test Connection” butonuna basarak, girdiğimiz bilgilerin doğruluğunu kontrol edebiliriz.

mssql to oracle migration oracle data integrator17.Veritabanı bağlantımız sorunsuz bir şekilde tamamlanmıştır.
mssql to oracle migration oracle data integrator18.Ç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.

mssql to oracle migration oracle data integrator19.user/schema bilgileri girilir ve kaydedilir.
mssql to oracle migration oracle data integrator20.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.
mssql to oracle migration oracle data integrator

Ç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.

oracle data integrator logical schema22.Kullanacagımız Physical Schamayı,Context’i seçeriz ve Logical Schema’mıza bir isim veririz.Son olarak kaydederiz.

oracle data integrator logical schema

Ç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.
oracle data integrator logical schema24.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.
oracle data integrator logical schema25.Ç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.
oracle data integrator logical schema26.Buradan istedigim tabloları seçer üst pencere ki “Reverse engineer” e tıklayark seçtigim tabloların yüklenmesini saglarım.
oracle data integrator logical schema27.Kaydetmemizi istiyor.Biz de “Yes” butonuna tıklayarak devam ederiz.
oracle data integrator logical schema28.Yüklenme işleminin bitmesini bekleriz.
oracle data integrator logical schema29.Oracle veritabanı için de model oluşturmak için yeni bir model tanımlamamız gerekecek.
oracle data integrator logical schema30.Oracle veritabanı modeli için modelimize isim ve bilgileri girer daha sonra da “Reverse Engineer” seçenegini seçeriz.
oracle data integrator logical schema31.Ç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.
oracle data integrator logical schema32.Buradan istedigim tabloları seçer üst pencere ki “Reverse engineer” e tıklayark seçtigim tabloların yüklenmesini saglarım.
oracle data integrator logical schema

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.

oracle data integrator logical schema34.Projemize isim verir daha sonra kaydederiz.
oracle data integrator logical schema

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
oracle data integrator logical schema36.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.
oracle data integrator logical schema37.Mapping kısmına geçtigimiz de bizi burada boş bir sayfa bekliyor aslında senaryoyu burada kuracagız denilebilir.
oracle data integrator logical schema38.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.
oracle data integrator logical schema39.Tablo üzerinde gelip saga tıklıyorum ve “Add to Target” seçenegini seçiyorum.
oracle data integrator logical schema40.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”.
oracle data integrator logical schema41.”Quick Edit” seçenegi seçilerek.Sütun isimleri uzunlukları vs. kontrol edilir ve istenilirse degiştirebilir.
oracle data integrator data model

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.

oracle data integrator data model43.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ı.
oracle data integrator data model44.İ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.
oracle data integrator data model45.Yükledigim modeulerle ilgili bilgi veriyor.
oracle data integrator data model46.Interface’imden “Flow” seçenegini seçiyorum.Ve karşıma böyle bir pencere geldiyse dogru yoldayım demektir.
oracle data integrator data model47.İlk olarak Source’ı seçiyorum ve buraya “LKM SQL to SQL” i seçiyorum.
oracle data integrator data model48.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
oracle data integrator data model

49.Çalıştırmak için “Run” butonuna basıyorum ama Kaydedip çalıştırabilecegim için önce “Yes” diyerek kaydediyorum.
oracle data integrator data model50.Her hangi bir agent kurulumu yapmadığımızdan dolayı, “Local” seçeneğini seçerek “Tamam” butonuna basalım.
oracle data integrator data model51.İşlemimizin başladıgını bize bildiriyor.
oracle data integrator data model

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.
oracle data integrator data model

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

Loading