ODI ile Postgre Veritabanından Oracle Veritabanına Tablo Aktarımı

PgAdmin ile Server oluşturma

  • Masaüstü bilgisayarımıza web tarayıcısı üzerinden çalışan PgAdmin Tool’unun kurulumunu yapıyoruz.
  • PgAdmin Tool’unu kullanarak öncelikle DB Server’ı tanımlıyoruz.
  • Server oluşturma adımları:
    • Browsers bölümünde bulunan Servers() tabının üzerine sağ tıklayarak Create->Server’ i seçiyoruz.

pto_img2

  • Öncelikle “General” sekmesinden oluşturacağımız DB Server’ının adını(Name) giriyoruz.

pto_img3

  • Daha sonra “Connection” sekmesinden uzaktan bağlanmak istediğimiz PostgreSQL DB makinemizin IP adresini giriyoruz.
    • Port:5432, PostgreSQL DB makineleri için varsayılan(Default) değeridir.

Uzaktan bağlandığımız linux tabanlı makinemize PostgreSQL Database’imizin kurulumunu tamamlıyoruz.

PostgreSQL Şema oluşturma

CREATE TABLE  test.employees (

    name               character(100) ,

    address           character(100) ,

    salary               bigint

);

  • Tablomuza örnek veri ekledikten sonra uzak masaüstü bağlantımızı rafa kaldırabiliriz.
    • INSERT INTO employees (name, address, salary) VALUES (‘Sloan’, ‘Newyork’, 30000);
    • INSERT INTO employees (name, address, salary) VALUES (‘Bailey’, ‘Newyork’, 60000);
    • INSERT INTO employees (name, address, salary) VALUES (‘David’, ‘Texas’, 85000);
    • INSERT INTO employees (name, address, salary) VALUES (‘Teddy’, ‘Norway’, 10000);
    • INSERT INTO employees (name, address, salary) VALUES (‘Mark’, ‘Rich-Mond’, 55000);
    • pto_img1

pto_img4

Toad ile Oracle DB üzerinde employees tablosu oluşturma

  • Gerekli Connection bilgileri girildikten sonra Create Table sorgusu yazıyoruz.
  • Postgre DB tarafında oluşturduğumuz sütun ve veri tipleri uyuşacak şekilde yazmaya özen göstermelisiniz aksi takdirde ODI tarafında çeşitli hatalar alabilirsiniz.

pto_img5

ODI kullanarak Postgre DB’den Oracle DB’ye aktarım yapmak

  • Öncelikle ODI üzerinde Postgre DB ve Oracle DB için ayrı ayrı Data Server oluşturuyoruz.
    • Topology
      • Physical Architecture
        • Oracle
          • New Database Server (Name: Oracle_TDB )
    • Topology
      • Physical Architecture
        • PostgreSql
          • New Database Server (Name:  Postgre_TDB )

Data Server oluştururken;

* Connection :  User & Password bilgileri veritabanınıza erişim sağlayacağınız kullanıcı adı ve şifre bilgisi olmalıdır.

* JDBC tabında yine database’e erişim sağladığınız user, server, port bilgileri girilecektir.

Örneğin :

jdbc:postgresql: User=postgres; Password=admin; Database=postgres; Server=127.0.0.1; Port=5432

pto_img8.PNG.png

      • Topology
        • Physical Architecture
          • Oracle -> Oracle_TDB
            • New Physical Schema (e.g. Name: Oracle_TDB.<Schema_Name>)
      • Topology
        • Physical Architecture
          • PostgreSql -> Postgre_TDB
            • New Physical Schema (e.g. Name: Postgre_TDB.<Schema_Name>)
      • Topology
        • Logical Architecture
          • Oracle -> Oracle_TDB
            • New Logical Schema (e.g. Name: LOG_Oracle_TDB)
      • Topology
        • Logical Architecture
          • PostgreSql -> Postgre_TDB
            • New Logical Schema (e.g. Name: LOG_PSQL _SDB)
      • Yukarıdaki işlemlerin aynısını PostgreSQL içinde yapıyoruz.
      • Postgre_SDB(Source DB) adında Database Server oluşturup, onun için ayrıca Fiziksel Şema (Physical Schema -> Oracle_TDB.<Schema_Name>) ve Mantıksal Şema(Logical Schema -> LOG_PSQL _SDB) oluşturuyoruz.

pto_img26

pto_img11.png

Phsical Schemas’ ın altında üzerine tıklayarak oluşturduğumuz fiziksel şemayı seçiyoruz.

Designer sekmesinden Project tabına gelerek yeni proje oluşturuyoruz.

pto_img12

 

Source_Model : PostgreSQL    ||     Target_Model : Oracle

Olacak şekilde iki Model oluşturacağız.

pto_img13

 

pto_img16.png

pto_img14

  • Önceden oluşturduğumuz Logical Schema’yı listeden seçiyoruz. (Oracle için LOG_Oracle_TDB)

Model’imizi oluştururken sol üst köşedeki “Reverse Engineer” butonuna tıkladığımız takdirde, database tarafında oluşturduğumuz ‘Employees’ tablosuna ait metadata verilerini database üzerinden çekecektir.

  • Her iki modeli oluştururken de Reverse Engineer’ı çalıştıralım.

pto_img17

EMPLOYEES (Oracle DB’den çektiğimiz tablomuz.) & employees (PostgreSQL DB üzerinden çektiğimiz tablomuz.)

  • Metadata(Data of Data): yani Tablonun Data’sı şeklinde düşünmeliyiz. (Sütun isimleri, Veri tipleri gibi..)

Sıradaki işlemimiz; Mapping

Oluşturduğumuz proje dizini içersinde FirstFolder -> Mapping -> New Mapping adımlarını takip ederek mapping işlemi yapabiliriz.

pto_img18

  • New Mapping -> Name: Mapping_Operation gibi bir isim verip kaydetmelisiniz. (CTRL+S ile de kaydedebilirsiniz.)
  • Kayıtlı bir Map’ imiz olduğuna göre şimdi onu düzenleyebiliriz. “Drop Sources in this area (Gri Alan)” yazan kısma Source_Model’imizden employees tablosunu seçip, sürükleyerek o alana bırakıyoruz. Aynı şekilde geriye kalan beyaz alan üzerine Target_Model’imizden employees tablosunu seçip, sürükleyerek o alana bırakıyoruz.

pto_img21.png

  • Son olarak Gri alanın sağ kenarının ortasında bulunan halkadan tutarak hedefteki employees tablomuza ok çiziyoruz. O esnada karşımıza bir pencere belirecek: (Attribute Matching) Yani kaynak tablomuz ile hedef tablomuz nasıl eşleşecek ? -> Sütun isimlerini göreyse (By Name), Sütun sırasına göre ise (By Position) butonunu seçiyoruz.
  • pto_img20

UYARI: isimlerine göre eşleşmesini istiyorsak her yönden aynı olmasına ayrıca dikkat ediniz.(Büyük-Küçük harf gibi.. ) En ufak bir farklılıkta hata alma ihtimaliniz oldukça yüksektir.

  • Her Mapping işlemini çalıştırğımızda, tabloyu önce Truncate edip yeniden oluşturmasını istiyorsak, Mapping->Physical Schema üzerinde Target-EMPLOYEES tablomuzu seçtiğimizde, ona dair Properties tabı belirecektir. Properties kısmında TRUNCATE_TARGET_TABLE özelliğinin değerini ‘ True ’ olacak şekilde ayarlıyoruz.

pto_img22

Yeşil Tik işaretine tıklarsak, Mapping işlemi için veri tipi(data type) ya da boyutu(size) gibi herhangi bir uyuşmazlık söz konusu olup olmadığını denetler.

pto_img24

Tüm işlemlerimizi tamamladığımızda menü çubuğunda bulunan Yeşil Üçgen işaretine tıklarsak mapping işlemini başlatacaktır. (Not: Butonun aktif olması için mapping objenizi açık ve aktif olması gerekir.)

Mapping işlemi başarılı bir şekilde sonlandığında Postgre’den Oracle tarafına veri aktarımı tamamlanmış demektir.

pto_img25

Reklamlar
Bu yazı Oracle Data Integrator içinde yayınlandı ve , , , , , , , , , olarak etiketlendi. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s