Veri transferinde kullanılan Attunity’i bu
yazımda ele alacağım. Attunity'i tanıtırkende aynı zamanda MS SQL SERVER 2014
ve ORACLE arasında migration işlemi nasıl gerçekleşir bunu da resimleyerek
anlatmaya çalıştım. Öncelikle Attunity'nin desteği sadece MS SQL Server ya da
Oracle ile sınırlı kalmıyor; IBM Informix, MYSQL, Sybase gibi farklı
firmalarında veritabanlarına destek vermekte.
Resim1.1
Benim anlatacağım
örnekte SQL Server'dan Oracle, Northwind database'ni Oracle'da tanımlamış
olduğum yasin şemasının içerisine aktaracağım. Öncelikle bu işlemi yapabilmek
için Attunity ' de task oluşturmanız gerekmektedir. Bunun için resim1.1 de sol
üstte bulunan new task'i tıklıyoruz.
Resim1.2
Karşımıza gelen bu
ekranda aslında task'in ne amaçla oluşturduğumuzu belirtiyoruz. Gördüğünüz gibi
3 farklı seçeneğimiz mevcut:
Full load seçeneğinde aslında adında
anlaşılacağı üzere kaynak tablodan verileri alıp hedefe tamamını göndermekte ve
işlem bittiğinde de task kapanmaktadır.
Apply change'i
seçerseniz bu noktada ise öncelikle full load'ı kullanmış olmanız
gerekmektedir. Amaç kaynak tablonun birebir kopyasını hedef tarafta oluşturmak
ve her yapılan değişiklikleri uygulayarak kaynak ile hedefin bire bir kalmasını
sağlamak. Bundan dolayı arka planda Attunity çalışarak sürekli olarak kaynak
ile hedefi eşitlemeye çalışır.
Store Changes ise
apply changes den farklı olarak kaynak ile hedefin eşitlenmesine ihtiyaç duymaz.
Sadece siz task'i oluşturduktan sonra kaynak tabloda yapılan değişiklikleri
hedef tabloya yansıtmaya başlar, task çalıştırılmadan önceki veriler hedef
tabloda bulunmaz.
Bu üç farklı
seçenekten ihtiyacınıza uygun olanı belirledikten sonra task'e bir isim ve
ihtiyaç duyarsanız description kısmına açıklama yazabilirisniz. Arından tamam
diyerek task'i oluşturmuş oluyoruz.
Resim1.3
Task oluştuktan
sonra karşınıza resim 1.3'deki gibi bir ekran gelecektir. Bu noktada artık bizim
veritabanlarımızı tanımlamamız gerekmektedir. Bunun içinde ekranın üst orta
kısmında bulunan manage database'i tıklıyoruz.
Resim1.4
Karşımıza gelen
ekranda name kısmında tanımlamak istediğimiz databas’e istediğimiz herhangi bir
isim verebiliriz. Description kısmında ise task'i bize daha sonra hatırlatacak
bir açıklama yazabilirsiniz. ROLE kısmında seçeceğiniz database'in kaynak mı
yoksa hedef database olduğunu belirtmeniz gerekmektedir. TYPE kısmında
kullanacağınız database'i seçmeniz gerekmektedir. Ben yukarıda MS SQL Server'ı
kaynak database olarak tanımladım tavsiye olarak SQL SERVER authentication
olarak bağlanmanızı tavsiye ediyorum. Çünkü Windows Aut. bir kaç kez denememde
hatalar aldım. Bundan sonra belirtmiş olduğunuz kullanıcının şifresini de
yazarak hemen altında ilgili database'i (ki ben Northwind'i seçtim) belirterek
bu kısımdaki işi en son olarak ekreanın sol alt köşesinde bulunan test butonu
ile bağlantıyı kontrol ederek eğer başarılı yazısını alıyorsak
noktalayabiliriz.
Resim1.5
Resim1.5 de ise
hedef veritabanını düzenliyoruz. Burada da aslında mantık yukarıda yaptığımız
işlem ile tamamen aynı. Hedef olarak ben Oracle'ı seçtim Oracle' da yasin
isimli şemamı ve şema şifresi ile birlikte yazarak tanımlamış oldum. Burada
dikkat edilmesi gereken bir diğer husus ise şemanızın ilgili yetkilere sahip
olmasına dikkat edin yoksa bağlantıyı test ettiğiniz zaman hata alacaksınızdır.
Eğer ilgili yetkiler şemaya tanımlanmazsa Attunity'nin Oracle bağlanması mümkün
olmayacaktır. Connect session ve
resource yetkilerini vermek bağlanma tarafında herhangi bir sıkıntı
çıkarmamaktadır. Ama daha sonra yapacağınız işlemler doğrultusunda vermeniz
gereken yetkiler de bu doğrultuda değişiklik gösterecektir.
Resim1.6
Resim1.6 da
gördüğünüz gibi sol tarafta tanımladığımız iki database de gözükmekte. Bu
noktada yapmamız gereken işlem ise hedef veritabanını ve kaynak veritabanını
ortada bulunan alana sürükleyip bırakmak. Ekranın sağ bölümünde table selection
kısmında tablo seçimini yapmak için tıklıyoruz.
Resim1.7
Schema kısmında bu
alana schema'nızın ismini yazıyoruz Northwind'in şema ismi dbo olduğu için ben
bunu yazdım. Daha sonra eğer table kısmını herhangi bir şey yazmadan search'ü
tıklarsanız database içinde bulunan tablolar listenecektir. Bu noktada
istediğiniz tabloları seçip ekleyebilirsiniz. Ayrıca yukarıda include butonuna
tıklayarak şemanızıda dâhil etmeniz gerekmektedir.
Resim1.8
Resim 1.6 ekranın
sağ üst köşesinde bulunan global transformations butonuna tıklayarak yukarıdaki
ekrana ulaşırsınız burada schma, table ve kolonları tekrardan isimlendirebilir,
kolon ekleyebilir yada silebilir veya veriler kaynaktan hedefe aktarılmadan
önce veri tipleri üzerinde çeşitli manipülasyonlar uygulayabilirsiniz. Bu
noktada Attunity oldukça işlevsel ve basit bir arayüzle kullanıcının işini
oldukça kolaylaştırmakta ve çeşitli inisiyatifler sunarak kaynaktan tablolar
gönderilmeden ihtiyaçlar doğrultusunda çeşitli değişikliklere uğratılmasını
sağlamaktadır.
Resim1.9
Resim 1.6 da
ekranın sol üst köşede bulunan task butonuna basarak server'ı seçtiğmizde
karşımıza gelen ekranda Notification bölümünde bildirim ayarlarını
düzenleyebiliriz bu sayade task tamamlandığı zaman ya da çalışmadığı zaman mail
yolu ile bilgilendirilirmiş oluruz. Bu ekrandan lisans ayarlamaları, hata
düzenlemeleri log'lanma seçenekleri ve zamanlama ile ilgili ayarlamalar
yapılabilir..
Resim1.10
Yukarıdaki
resimdeki seçeneklerde task çalıştırma, task'i durdurma ya da tekrardan hedef
tabloya yönlendirme yaptırılabilinir.
Aşağıda görüldüğü gibi aslında Sql Server'da job'lara alışkın olan
kişilerin yabancılık çekmiyeceği bir yapı var çeşitli zaman aralıkları
tanımlayarak zamanlama yapılabilmekte.
Not: Attunity çalışırken MS SQL Server (diğer database lerde de bu durum söz konusu olabilir.) log kayıtlarını yapmamaktadır. Çünkü Attunity kayıtları log dosyasına erişip buradan almakta ve bundan dolayı log'lanma durumunda kesintiye sebebiyet vermektedir. Eğer veri kaybı tahammülünün hiç olmadığı bir sistem üzerinde çalışıyorsanız dikkatli olmanız gerekmektedir. Konu ile ilgili daha ayrıntılı çalışma yaptığım zaman buradan sizinle paylaşıyor olacağım.
0 yorum :
Yorum Gönder