3 Kasım 2014 Pazartesi

IBM InfoSphere Datastage ile Datasource Aktarım Job'ı Hazırlama

Datastage ile basit bir şekilde bir ordamdan başka ortama data source tablosu veya datası aktarmak için şu adımları yaparız;

Step 1: Parallel Job açma;
















Step 2: Source ve target parameter setleri  alma;
















Job properties’i açtıktan sonra  açılan pencereden Parameter sekmesini açıyoruz.  Bu sekmede aşağıda yer aldığı gibi Add Parameter Set’ı tıklıyoruz ve açılan Open penceresinden source ve target ortamlarımız için oluşturduğumuz parameter setleri seçiyoruz.



















Parameter setleri ekledikten sonra OK deyip çıkıyoruz. Ve Parallel job’ımıza dönüyoruz.


















Step 3: Oracle Connector ile ortamlara bağlanma;


Datastage de sağ tarafta bulunan Palette view’inden Oracle Connector’u buluyoruz ve fare ile Connector’ü sürükleyip Job’ın içine bırakıyoruz. Source ve target sistemlerin ikiside oracle olduğu için iki tane koyuyoruz. Eğer source , target yada her iki ortamda as400 olacaksa Connector olarak ODBC Connector kullanılır.  
















İki ortamı birbirine link yardımıyla bağlıyoruz. Source ortam üzerine mouse sağ click ile tıklayıp bırakmadan sürükleyip target ortam ortam üzerine bıraktığımızda iki ortamı bağlamış oluyoruz.

Step 4: Source ve  target connector  bilgilerini girme;


Source Connector’e çift tıkladımızda Properites sekmesi açılır burda bağlantı bilgileri ve hangi tablo alınacaksa şeması ile adı yazılır. Job’ a parametreleri daha önce eklediğimiz için bize sadece seçmek kalıyor. Server’in sağ köşesine tıkladığımızda aşağıdaki gibi bu job için kullanabileceğimiz parametreler gelir.

















Step 5 :Source sistemden tablo alma veya select çekme;


Source sistemden select çekeceksek bunu Select statement’ yazıyoruz.  

















Select’e yazdığımız tüm kolonları Columns sekmesinde tipi ve boyutuyla tanımlamamız gerekir. Alanların Nullable özelliğini null gelme ihtimali olan kolonlar için ‘Yes’ yapmamız gerekir aksi halde null gelen bir değerde aktarım Abort olur.


















Eğer bir Select statement yazmayacaksak sadece tek bir tablo aktarımı yapmak istiyorsak Generate SQL at runtime özelliğini ‘Yes’ olarak değiştiriyoruz. 

















Değiştirdikten sonra altında bulunan Table name kısmına almak istediğimiz tabloyu şeması ile beraber yazıyoruz. 
















Komple tabloyu aktarmak istediğimizde tablonun kolonlarını tek tek Columns sekmesine yazmak yerine tabloyu datastage ‘e import ediyoruz.  Columns sekmesine geliyoruz ve Load ‘a tıklıyoruz.

















Tıkladıktan son açılan pencerenin  boş olan biryerine sağ tıklıyoruz ve ve aşağıdaki gibi Import Table Definition -->  Orchestrate Schema Definitions diyoruz.
















Açılan pencerede aktaracağımız tablo adını şeması ile beraber yazıyoruz, ve source bağlantı bilgilerini yazıyoruz. DBMS Type source sistem oracle database’i olduğu için Oracle seçilir ama AS400 den tablo aktarırken ODBC seçilmesi gerekiyor. Database server adı (datastage de tns’in tanımlarken verilen server name olmalıdır bazı ortamlar için bu farklı verilmiş olabilir.) , user name ve password bilgileri yazıyoruz ve daha sonra Next diyouz.
















Buradan sonra birkaç ekrana daha Next diyoruz bu ekranlarda tablo bilgileri, import edeceği klasör vs. gösteriliyor. Finish diyip bitiriyoruz. Daha önce açtığımızı ekranda import ettiğimiz tabloyu buluyoruz. Tablo Oracle altında import ettiğimiz ortam adıyla aynı isimde olan klasör altında bulunur. Tabloyu seçip OK diyoruz. 


















Bu ekranda import ettiğimiz tablonun kolonları gelir. Tablonun tüm kolonlarını veya sadece kullanmak istediğimiz kolonlarını seçip OK diyoruz.


















Daha sonra Column sekmesinde görünen kolon bilgileri üzerinde gerekliyse değişiklik yapabiliriz. OK deyip kaydediyoruz. 















Step 6: Target sisteme insert yapma;


Source sistem ile ilgili yapılacaklar bitti şimdi taget sistemi çift tıklayıp açıyoruz. Source için yaptığımız gibi aynı şekilde bağlantı bilgilerini yazıyoruz yani target parametrelerini seçiyoruz.  Ve insert etmek istediğimiz tablo adını yazıyoruz şeması ile beraber.  Son olarak insert etme şeklimizi seçiyoruz. Table action’ yapmak istediğimiz neyse onu seçiyoruz. Target sistem için kolon tanımlaması yapmamıza gerek yok source sistemden otomatik olarak kolon tanımlamalarını alır.
















Job’ı  save ediyoruz.  Parallel bir job oluşturduğumuzda Decimal separator  default olarak . (period) olarak seçili gelir fakat Oracle bir sisteme insert yaparken Decimal separator ,(comma) olarak değiştirilmelidir aksi halde job hata alır ve insert yapamaz.  AS400 bir sisteme insert yapılmak istenirse Decimal separator değiştirilmemelidir . (period) olarak kalmalıdır.  Job properties’i açıyoruz  Default sekmesine geliyoruz ve Decimal separator’ü değiştirip OK diyoruz. 
















Step 7: Job’ı derleme ve çalıştırma;


Job’ı Compile ediyoruz ve sonra çalıştırıyoruz. Job hata alırsa yeniden çalıştırmak için öncelikle job’ın tekrar compile edilmesi  gerekir.



















IBM InfoSphere Datastage ile Parameter Set Oluşturma

Datastage de parameter set oluşturmak  bd bağlantılarını yaparken  bağlantı parametrelerini projeye tek tek eklemek  yerine gerekli parametreleri tek seferde seçmemizi sağlar. Parameter set oluşturmak için şu yolu izleriz: Data Elements klasörü altında Parameter Set klasörüne sağ tıkladığımızda şu şekilde açılır;

















Açılan pencereye oluşturacağımız parameter set adını yazdıktan sonra  Parameter sekmesine geliyoruz ve Add Environment Variable’ı tıkladığımızda daha önceden oluşturduğumuz parametreleri burdan görebiliyoruz. Bu şekilde parameter set içerisine kullanacağımız parametreleri ekleriz.

















Parametreleri oluşturduktan sonra parametre değerlerini $PROJDEF olarak değiştiriyoruz. Bu şekilde yaparsak Admin ekranından parametrenin değerini değiştirdiğimizde burada bir değişiklik yapmamıza gerek kalmaz, değişiklik otomatik olarak buraya yansır.


IBM InfoSphere Datastage ile Parametre Tanımlama

Datastage de herhangi bir db de işlem yapılacağı zaman source ve target sistemlerin TNS bilgilerinin datastage’e eklenmiş olması gerekir . Bu sistemlere bağlanırken kullanacağımız bağlantı bilgilerini (service name, user name ve password)  her seferinde manuel yazmak yerine parametre oluşturmak daha mantıklıdır.  Parametre oluşturmak için Administrator Client kullanılır. Administrator Client’a giriş yaptıktan sonra Projects ekranına  geliyoruz ve parametre tanımlamak istediğimiz projemizi seçiyoruz. Projeyi seçip Properties’e tıklıyoruz.



Sonra açılan ekranda Environment’i tıklıyoruz.

















Açılan Environment Variables penceresinde User Defined seçildikten sonra aşağıdaki gibi parametreyi tanımlayacağımız ekran gelir. Buraya parametre isimleri ve değerleri tanımlandıktan sonra proje içinde kullanılabilir.



10 Temmuz 2013 Çarşamba

Oracle Data Integrator İle Interface Oluşturma

ODI(Oracle Data Integrator),  ELT yapmak için kullanılan faydalı bir tooldur. Peki ELT nedir? ELT verinin kaynaklardan çekilmesi ve yaralı hale dönüştürülmesi işlemi diyebiliriz.  E: Extract (data yı sistemden , sunucudan çekme) ,L: Load (alınan data'yı yükleme), T: Transform(data üzerinde işlemler yapma) Bu ODI tool u ve ELT  işlemleri datawarehouse sistemler geliştirilirken kullanılır.  Şimdi bu ELT developmentın nasıl yapılacağı kısmına geçelim.

- Öncelikle ODI giriş yapmalısınız. Login name kısmına bağlanacağınız repository adını yazmalısınız.



- Giriş yaptıkdan sonra Designer --> Projects den interface i hangi folder altına yapacaksanız onu tıklayıp açmanız gerekiyor. Ben test folderını sectim, interfaces sağ tıkladım  ve new interface e tıkladım.





- Daha sonra interface'in adını yazıyoruz : Test_Interface ve bu interface in database de hangi şema altında tutulacağını seçiyoruz . Ve aşağıda yazan mapping kısmına tıklıyoruz.


- Bundan sonra Designer--> Model den Source ve Target tablolarımızı alacağımız şemaları seçiyoruz. Ve bu şemaların altından seçilen tabloları belirtilen yerlere sürükle bırak yapıyoruz.



-Source ve Target tabloyu seçtikten sonra , sourcedan target'a atmak istediğiniz kolonları sürükle bırak ile target' atıyoruz. Source tabloya filtre vermek için filtre verilecek kolonu tutup boşluğa bırakıyoruz. Oluşan filtreye gerekli şartı yazıp kaydediyoruz.

-Çalıştırmadan önce son olarak Flow'a tıklayıp çalıştırma şeklimizi seçiyoruz. Flow da şimdilik  Control Append'i seçiyoruz. Control Append datayı target tabloya append eder.

-Interface'i kaydedip, çalıştırıyoruz.

Bu yazımda basit bir interface geliştirimini görmüş olduk. Daha complex interface geliştirimleri için sonrasında yine yazıyor olacağım. Faydalı olması dileğiyle.

İyi çalışmalar














4 Aralık 2012 Salı

Ubuntu 12.04'e Oracle SQL Developer Kurulumu

- Oracle veritabanımı kurduktan sonra şimdi sıra Sql Developer'a geldi.Öncelikle Oracle Sql Developer buradan http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html indirebilirsiniz. linux için olan rpm paketini seçmeyi unutmayalım.

 - Paketi indirdikten sonra konsolu açıyoruz ve paketi indirdiğimiz dizine giriyoruz. rpm paketini debian paketine çevirmek için aşağıdaki kodu konsola yazıyoruz ve enter'a basın.
   
     sudo alien --to-deb --scripts sqldeveloper-3.1.07.42-1.noarch.rpm
    
 - Konsolda aşağıdaki ifadeyi gördüğümüzde işlem başarı bir şekilde tamamlandı demektir.
     
     sqldeveloper_3.1.07.42-2_all.deb generated

 - Oluşturduğumuz deb uzantılı paketi çalıştırmak için paketi oluşturduğumuz dizine gidiyoruz ve deb paketine sağ tıklayıp 'Ubuntu Yazılım Merkezi İle Aç' ı seçiyoruz. Yazılım merkezinde paket açıldıktan sonra kur (install) seçeneğini seçiyoruz. Süreç tamamlandığında kurulum bitmiş demektir.

3 Aralık 2012 Pazartesi

Ubuntu 12.04'e Oracle Express Edition Kurulumu

 - İşim gereği ilk kez oracle kullanmam gerekiyor ve ben daha önce oracle kurulumu gerçekleştirmemiştim bu yüzden hazır bu işi öğrenmişken bir yere de not etmeden geçmeyeyim dedim.Aşağıda anlatacağım kurulum adımları  ubuntu 12.04 64 bit işletim sistemi içindir.  Öncelikle oracle-xe'nı bu adresten indirebilirsiniz: http://www.oracle.com/technetwork/products/express-edition/downloads/index.html .Buradan linux sistemler için olanını seçtiğinizden emin olun ve  sizden üyelik isteyecektir, üyelik ücretsiz olduğundan bir sorun olmayacaktır. Şimdi kuruluma geçebiliriz.

- Kurulumdan önce sistemimizi güvenli hale getirelim. Eğer ssh kullanarak uzak terminal oturumu açmak isterseniz, ubuntuya varsayılan olarak giriş yapıldığında güvenli bir çekirdek girişi ile gelmiyor. Bunu yüklemek isterseniz aşağıda ki komutu konsola yazın ve enter'a basın.   

    sudo apt-get install openssh-server
 
- Oracle-xe'ın sorunsuz bir şekilde kurulup çalışması için öncelikle bağımlılıklarının yüklenmesi gerekiyor.Bu yazılımları yüklemek için konsola şu kodu yazın ve enter'a basın.

    sudo apt-get install alien libaio1 unixodbc
 
- /sbin/chkconfig bağlı Red Hat tabanlı Oracle-xe kurulumunu ubuntu desteklemediğinden  özel bir chkconfig scripti oluşturucaz. Bunun için konsola aşağıdaki kodu yazın ve enter'a basın.

    sudo gedit /sbin/chkconfig
 
 - Açılan script içerisine aşağıdaki kodları yazın ve kaydedip kapatın.
 
    #!/bin/bash
    # Oracle 11gR2 XE installer chkconfig hack for Debian by Dude
    file=/etc/init.d/oracle-xe
    if [[ ! `tail -n1 $file | grep INIT` ]]; then
    echo >> $file
    echo '### BEGIN INIT INFO' >> $file
    echo '# Provides: OracleXE' >> $file
    echo '# Required-Start: $remote_fs $syslog' >> $file
    echo '# Required-Stop: $remote_fs $syslog' >> $file
    echo '# Default-Start: 2 3 4 5' >> $file
    echo '# Default-Stop: 0 1 6' >> $file
    echo '# Short-Description: Oracle 11g Express Edition' >> $file
    echo '### END INIT INFO' >> $file
    fi
    update-rc.d oracle-xe defaults 80 01 

 - Aşağıda ki kodu konsola yazın ve scripti çalışabilir hale getirelim. 

     chmod 755 /sbin/chkconfig
   
 - Şimdiyse yine oracle-xe'nin sorunsuz çalışması için kernel parametrelerini değiştirmeliyiz. Bu yüzden aşağıdaki kodu konsola yazın ve enter'a basın.

          sudo su -
          sudo gedit /etc/sysctl.d/60-oracle.conf

 - Aşağıdaki kodu açılan dosyanın sonuna kopyalayın ve kaydedip çıkın.
          
           # Oracle 11g XE kernel parameters
           fs.file-max=6815744
           net.ipv4.ip_local_port_range=9000 65000
           kernel.sem=250 32000 100 128
           kernel.shmmax=536870912

 - Yukarıda girdiğimiz kernel parametrelerinin geçerliliğini kontrol etmek için konsola aşağıdaki kodu yazın ve enter'a basın.
 
     sudo cat /etc/sysctl.d/60-oracle.conf 

 - Kernel parametrelerini yüklemek için aşağıdaki kodu konsola yazın ve enter'a basın.
   
     service procps start
 
 - Parametrelerin doğru girildiğini test etmek için aşağıdaki kodu konsola yazın ve enter'a basın.  (Beklenen değer fs.file-max = 6815744)
 
     sudo sysctl -q fs.file-max 
 
 - Sisteminiz mevcut RAM’nizin  %50 kadar bir swape space bulunması gereklidir. Bu alanın mevcut olup olmadığını öğrenmek  için aşağıdaki kodu konsola girin ve enter'a basın.

     free -m


- Oracle-xe, sistemimizde bulunması gereken bazı dosyalara ihtiyaç duyar. Bu dosyaların sistemimizde bulunduğunu göstermek için aşağıdaki kodları konsola sırası ile yazın ve enter'a basın.

         sudo rm -rf /dev/shm
         sudo mkdir /dev/shm         
         sudo mount -t tmpfs shmfs -o size=2048m /dev/shm  
         /u01/app/oracle/product/11.2.0/xe/config/scripts/oracle-xe start                          

 - Yukarıda ki 4 komutun bilgisayar her açıldığında yeniden yapılmaması için  /etc/rc.local altına kayıt edilmesi gerekiyor. Bunun için aşağıdaki kodu konsola yazın ve açılan dosyaya yukarıdaki 4 kodu yazın kaydedin ve kapatın. Bunları 'exit 0' dan önceki satırlara konumlandırın.

          sudo gedit /etc/rc.local
 
- Şimdi kuruluma geçelim. Öncelikle indirdiğimiz zip içerisinde ki dosyayı çıkartalım. Aşağıdaki kodu konsola yazın ve enter'a basın. Bu işlemi uygulamayı indirdiğimiz yani Download dizininde yapıyoruz.

          unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip 


 - Paket açıldığında içinden Disk1 dizini çıkacak. Disk1 dizinine gelin ve içindeki rpm paketini debian paketine çevirmek için aşağıdaki kodu konsola yazın ve enter'a basın. Bu işlem biraz zaman alabilir.

         sudo alien --to-deb --scripts oracle-xe-11.2.0-1.0.x86_64.rpm
 
 - Oracla database kurulumunu başlatmak için aşağıdaki kodu konsola yazın ve enter'a basın.

         sudo dpkg --install ./oracle-xe_11.2.0-2_amd64.deb 

- Kurulumun ardından ilk ayarları yapmak için konsola aşağıdaki kodu  yazıyoruz.

         sudo /etc/init.d/oracle-xe configure
 
 - Bunu yazdıktan sonra sizden port numaraları isteyecektir varsayılan olarak zaten atandığından bunlara bir değer girmeden enter'a basarakta geçebiliriz. Son adımda ise sizden database için parola isteyecektir parola değerini girdikten sonra kurulum yapılmaya başlanır. Kurulum başarılı bir şekilde sonuçlandı ise şunları göreceksiniz.

        Starting Oracle Net Listener... 
        Done Configuring database...       
        Done Starting Oracle Database 11g Express Edition instance...       
        Done Installation completed successfully.

- Kurulum sonrası birkaç ayar yapmamız gerekiyor. Öncelikle çevresel değişkenleri ayarlamalıyız. Bunun için aşağıdaki kodu konsola yazın ve enter'a basın.

         sudo gedit .bashrc

 - Açılan .bashrc içerisinde aşağıdaki kodları kopyalayın  ve kaydedip çıkın.

     export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
     export ORACLE_SID=XE
     export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
     export ORACLE_BASE=/u01/app/oracle     
     export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH     
     export PATH=$ORACLE_HOME/bin:$PATH     
     mkdir /var/lock/subsys 2>/dev/nulltouch /var/lock/subsys/listener

Ardından girdiğimiz değişikliklerin etkinleştirilmesi için .profile çalıştırıyoruz. Aşağıdaki kodu yazın ve enter'a basın.
  
    . ./.profile
  
- Şimdi oracle-xe'nı çalıştıralım .Aşağıdaki kodu yazın ve enter'a basın.

    sudo service oracle-xe start

- Oluşturduğumuz oracle hesabı sqlplus ve diğer bazı araçları kullanmak için bazı özel ortam değişkenlerine ihtiyaç duyar. Yapacağımız değişiklikler oracle 
hesabıza her bağlandığımızda otomatik olarak yapılır. Bunun için öncel root 
kullanıcı olup değişiklikleri yapmak için aşağıdaki kodları konsola yazın ve enter'a basın.

    sudo su -
 
    cp /etc/skel/.bash_logout ./ 
    cp /etc/skel/.bashrc ./
    cp /etc/skel/.profile ./ 
    echo "" >>./.profile
    echo '. /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh' >>./.profile

 - Varsayılan olarak oracle-xe grafik kullanıcı arayüzü yalnızca yerel sunucularda mevcuttur, aşağıdaki kod uzaktan erişimi sağlar kodu konsola yazın ve enter'a basın.
 
    sqlplus / as sysdba
    SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
    exit
 
 - Kurulum işlemimiz tamamlandı. Fakat bilgisayarı kapatıp açtığımızda oracle-xe'ni çalıştırmada sorun yaşıyorsanız  yani browserda şu hatayı görüyorsanız   http://localhost:8080/apex/ konsola aşağıdaki kodu yazın ve enter'a basın. Ayrıca yukarda anlattığım etc/rc.local altına kaydedilmesi gereken komutları kaydettiğinizden emin olun. 

    sudo /etc/init.d/oracle-xe force-reload

İyi çalışmalar... 

25 Ağustos 2012 Cumartesi

Kolay Konsol Kullanımı

Bu yazıda konsol kullanımına dair çok faydalı olacağını düşündüğüm bazı kısa yollardan ve konutlardan bahsedeceğim. Linux bir sistem kullanıyorsanız ve işlemlerinizi konsol üzerinden yapıyorsanız bu komutlar tam size göre.Konsol kullanmaya uzun zaman önce başlamama rağmen benimde bu kısayolların bir çoğundan haberim yoktu doğrusu. Bu yüzden bende hem kendim unutmamam için hemde benim gibi henüz bu konutlardan haberi olmayanlar için not tutayım dedim. Aşağıda bahsettiğim komutları okurken bir yandan da konsolda denerseniz sizin için daha faydalı olacağı kanaatindeyim.

-pwd: An itibariyle bulunduğun konumu gösterir.
-exec: External program çalıştırır. //exec program_adi
-time: Çalıştırılan alt komutların süresini gösterir.// Örneğin time pwd komutu pwd komutunun sistemde çalıştırılmasının ne kadar sürdüğünü gösterir.
-exit: Bu komut herhangi bir kabuğu sonlandırmak için kullanılır.
-logout: Bu komut ise sadece login kabuklarını sonlandırır.
-history: Daha önce kullandığınız komutları gösterir. // Komutları aklında tutamayanlar için çok faydalı.
-history -c: Bu komut tutulan history'yi siler.
-Ctrl+p: History komutu gibi daha önce kullanılmış komutları getirir fakat history de olduğu gibi hepsini bir arada olarak değil de her tıkladığınızda bir önceki komutu gösterecek şekilde çalışır.
-Ctrl+n: Bu komut ise ctrl+p 'nin yaptığı işin tersini yapar yani ctrl+p ye her  bastığınızda bir önce ki kullandığınız komuta gidersiniz ctrl+n ile tekrar sona doğru ilerlersiniz.
-Ctrl+r: History içinde aradığınız komutu bulmanıza yardımcı olur.
-Ctrl+a: Yazdığınız komutun başına konumlanmanızı sağlar.
-Ctrl+e: Yazdığınız komutun sonuna konumlanmanızı sağlar.// Eğer komutu yanlış yazdıysanız ve komut çok uzunsa yön tuşlarıyla bi oraya bi buyara gitmeye son:)
-Ctrl+b: Yön tuşları gibi imlecin bulunduğu komutta sola doğru(başa) kaymasını sağlar.
-Ctrl+f: İmlecin bulunduğu komutta sağa doğru(sona) kaymasını sağlar.
-Ctrl+d: Komutun başında ve sonunda iken basıldığında imlecin üzerinde bulunduğu karakteri siler.
-Ctrl+k: Komutun başında iken basılırsa komutun tamamını sonunda iken basılırsa sadece imlecin üzerinde bulunduğu karakteri siler.
-Ctrl+x: Basıldığında komutun başından imlecin bulunduğu yere kadar ki olan kısmı siler.
-Ctrl+t: İmlecin bulunduğu yerdeki karakter ile bir önceki karakterin yerini değiştirir.
-Ctrl+c: İmlecin bulunduğu karakteri büyük harf yapar.
-Esc sonra u: İmlecin bulunduğu yerden komut sonuna kadar ki tüm karakterleri büyük harf yapar.
-Esc sonra l: İmlecin bulunduğu yerden komut sonuna kadar ki tüm karakterleri küçük harf yapar.
-man: Bu komut  bir komutun nasıl kullanıldığını anlatmak için oluşturulmuş bir text dökümanı açar.
// man komut şeklinde kullanılır ve verdiğiniz komut hakkında sizi bilgilendirir. "/" man textinde kelime vs aramayı sağlar. Space tuşu ile text dosyasında ilerleyebilirsiniz. "Q" tıklandığında ise man textinden çıkmış olursunuz.

Umarım yazdıklarım faydalı olur. İyi çalışmalar...