Change Font Size

Change Screens

Change Profile

Change Layouts

Change Direction

Change Menu Styles

Cpanel

Duyurular

SAP Türkiye’ye yeni Pazarlama Müdürü

Ericcson Türkiye’de Pazarlama ve Strateji Müdürü  olarak görev yapan Erdem Aksakal, SAP Türkiye’nin yeni Pazarlama Müdürü oldu. Dünyanın en büyük kurumsal yazılım firmalarından SAP, Türkiye kadrosunu genişletmeye devam ediyor. SAP…...
Devamını Oku..
Salı, 14 Aralık 2010 13:47 in Duyrular

IBM'den çevre dostu veritabanı sistemi

IBM'den çevre dostu veritabanı sistemi IBM’in yeni DB2 veritabanı sürümü, veri saklama altyapılarından kaynaklanan karbon salınımını %75’e varan oranda azaltarak, küresel ısınmayla savaşıyor. IBM, yeni DB2 veritabanında yüksek ölçekli sıkıştırma…...
Devamını Oku..
Salı, 14 Aralık 2010 10:01 in Duyrular

Avea BT Sistemleri Uygulama Geliştirme Direktörü Cahit Terzioğlu

Merhaba, ETL süreçlerini ve faydalarını iyi analiz edebileceğimiz bir yazı paylaşıyoruz.Bunun için Avea BT Sistemleri Direktörü Cahit Beyle roportajdan bir bölüm yayınlayalım. Avea BT Sistemleri Uygulama Geliştirme Direktörü Cahit Terzioğlu…...
Devamını Oku..
Salı, 14 Aralık 2010 09:32 in Duyrular

Genel Duyuru

Merhaba  Arkadaşlar, Sitemiz güncellenmekte ve sizden gelen istekler doğrultusunda her gün yeni bir şeyler eklenmektedir. Bundan dolayı sitemize Forum, Video bölümlerini ekledik. Modüllerimizi daha da geliştiriyor olacağız. Sitemizi bloglarınızda link…...
Devamını Oku..
Salı, 14 Aralık 2010 09:10 in Duyrular

Yapı Kredi Bankası DataWarehouse Uygulaması

      "YKB Oracle 8i üzerinde geliştirdiği DataWarehouse uygulamasını yedi hafta içerisinde Sybase IQ ya taşıyarak, on aylık geri ödeme süresi ile yatırım geri dönüş maliyetinde %154 kazanç sağlamış…...
Devamını Oku..
Pazar, 12 Aralık 2010 20:34 in Duyrular

En Çok Okunanlar


Data Dictionary İstatistiğinin Alınması on 24 Haziran 2010, 00.00 by Yusuf Arslan in Oracle
Data Dictionary İstatistiğinin Alınması
Bu yazımda Oracle Database 10g ‘yle birlikte kullanıma sununlan cost-based optimizer (COB) hakkında işinize yarayacak bazı bilgiler vermek istiyorum. Cost-based optimizer uygulamasının asli görevi SYS ve SYSTEM ş
Veri, Veritabanı, Başarılı Veritabanı Uygulamaları İçin Dört Öneri
Hasan Tonguç Yılmaz bey’in Turkcell bloğunda yeralan yazılarını izniyle paylaşıyor olacağız.Öncelikle tanımayanlar için Tonguç Yılmaz kimdir kendi yazılarından tanıyalım.    Liseyi Mu�
Oracle Database 11g Bileşenleri Ve Mimarisi-1
Oracle Database 11g Bileşenleri Ve Mimarisi-1 Bu makalede Oracle Database 11g (Oracle 11g) veritabanı yönetimini öğrenmeye başlayacağız. Makalenin hazırlanış amacı Oracle 11g Administration I OCA sertifika
Oracle 11g BI ile Harita Üzerinde Rapor Oluşturma(Integratıon Mapviews)
BI EE 11 g’nin en büyük özelliklerinden biri MapViewer’dır.  Bu özellik , haritalara yetenek ve görsellik katarak raporlar oluşturmamızı sağlamaktadır.Örneğin dünya çapında bir haritada ülke b
Veriambarı Yazılım Geliştirme Sürecinde Test on 14 Aralık 2010, 09.47 by Yusuf Arslan in Oracle
Veriambarı Yazılım Geliştirme Sürecinde Test
Veriambarı bir organizasyonun elektronik olarak saklanan datasının deposudur.Veri ambarları raporlama ve analizi kolaylaştırmak için dizayn edilmişlerdir. Veriambarları analiz ve ilişkili verilerin sorgulanabildi
Perşembe, 16 Aralık 2010 13:06

SYS_REFCURSOR İçeriğine Erişmek

Bu yazıda Oracle da prosedür içerisinden SYS_REFCURSOR doldurup bu CURSOR içerisindeki her satıra tek tek erişerek ekrana basma işlemi yapacağız.
Bir tablodaki kayıt ile ilişkili başka bir tabloda birden fazla kayıt bulunabilir  (1 - n ilişki) ve siz alt tabloda üst tablonun id si olan kayıtları göstermek isteyebilirsiniz 
resim1


Tablolar arasındaki ilişki gözüküyor.



Prosedurümüz üst kısmında gerekli tanımlamaları yapıyoruz.
RC_CURSOR SYS_REFCURSOR; --cursor tanımlaması 
TALEP_ID NUMBER; --silinecek üst id 
TALEP_BIRIM_ID NUMBER; -- cursordan gelen her bir değerin atılacağı değişken (temp gibi)

TALEP_ID:=1;

CURSOR açıyoruz ve içeriğini dolduruyoruz . 
Cursor doldurma işlemi klasik bir select cümleciğiyle yapılabilir. 
Dışarıdan gelen parametreleri de bu cümlecik içerisinde kullanabilirsiniz.



OPEN RC_CURSOR 
FOR SELECT NTALEP_BIRIM_ID 
FROM ITS_HRK_TALEP_BIRIM 
WHERE NTALEP_ID = TALEP_ID ;

Listeleyeceğimiz dataları cursor içerisine aldıktan sonra bir döngü yardımıyla cursor içerisindeki değerlere tek tek erişeceğiz.
Buradaki döngü programlama dillerinde var olan dongülerle aynı mantık içerisinde çalışmaktadır. 
Düngü LOOP ile başlar ve END LOOP ile biter.
FETCH ifadesiyle cursor içerisindeki ilk değeri temp değişkenimiz olan TALEP_BIRIM_ID içerisine atıyoruz. 
Burada bizim döngüden çıkmamızı sağlayacak ifade ise RC_CURSOR%NOTFOUND ifadesidir. 
Bu ifade TRUE döndüğü anda CURSOR içerisinde eleman kalmamış demektir ve döngüden çıkılır.
DBMS_OUTPUT.PUT_LINE(TALEP_BIRIM_ID) ifadesi ise temp değişkenimizin değerini ekrana basar tabi bu değeri görebilmeniz için DBMS_OUTPUT 'u Toad üzerinden enable etmeniz gerek.
DBMS_OUTPUT.PUT_LINE sadece bir örnek bu kısımda CURSOR içerisinde sakladığınız verilerle her türlü işlem yapabilirsiniz. 
Silme, güncelleme, ekleme gibi. Son kısımda ise CURSOR kapatılıyor. Bu işlemi bizim için şart değil eğer siz kapatmazsanız oracle bu işlemi gerçekleştirecektir.



LOOP 
FETCH 
RC_CURSOR INTO TALEP_BIRIM_ID; 
EXIT WHEN RC_CURSOR%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(TALEP_BIRIM_ID); 
END LOOP; 
CLOSE RC_CURSOR; 
END;

Kodumuzun çalışan şekli.
---------------------------------------------------------------------------------------------------------------------------------


DECLARE
RC_CURSOR         SYS_REFCURSOR;
TALEP_ID          NUMBER;

TALEP_BIRIM_ID    NUMBER;
BEGIN

TALEP_ID:=52;



OPEN RC_CURSOR FOR
SELECT NTALEP_BIRIM_ID FROM ITS_HRK_TALEP_BIRIM WHERE NTALEP_ID = TALEP_ID ; 


LOOP
FETCH
RC_CURSOR INTO TALEP_BIRIM_ID;
EXIT WHEN RC_CURSOR%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(TALEP_BIRIM_ID);
END LOOP;
CLOSE RC_CURSOR;
END;

---------------------------------------------------------------------------------------------------------------------------------

Bu tablolar sizde olmadığı için CURSOR 'ı DUAL dan select yaparak doldurabilirsiniz.


resim21

Son olarak RC_CURSOR ifadesinde kullanabileceğiniz diğer parametreler
cursor%ROWCOUNT - int - CURSOR içerisindeki kayıt sayısı
cursor%ROWTYPE  - CURSOR içerisindeki alanların tipi
cursor%FOUND    - bool - TRUE CUROSR içerisinden veri dönerse
cursor%ISOPEN   - bool - TRUE CURSOR açıksa
 

Kategori Oracle
Salı, 14 Aralık 2010 19:53

Add Months() Fonksiyonu

ADD_MONTHS   Fonksiyonu ve Gün Ekleme

Merhaba arkadaşlar, Bu makalemde add_months() fonksiyonundaki bir takım incelikleri sizlerle paylaşacağım. Tarih bilgisi içeren önemli ve kritik raporlarınızda kesinlikle dikkatinizden kaçmaması gereken bir konu olduğunu düşünüyorum.

SQL tarih fonksiyonlarından biri de add_months fonksiyonudur. Bu fonksiyonun çeşitli kullanım şekilleri vardır. Fakat fonksiyonun temel mantığı; girilen bir tarihten itibaren, verilen ay sayısı kadar geriye veya ileriye gitmektir. Fonksiyonu analiz edersek ;

add_months(‘date’,number)  şeklinde;

-date à girdiğimiz bir tarih,

-number à herhangi bir sayı (3,8,-4 gibi)

Şimdi fonksiyonu birkaç  örnekle inceleyelim :

 

İfade

Sonuç

1

ADD_MONTHS('10-APR-2010', 2)

10/06/2010

2

ADD_MONTHS(SYSDATE,2)

07/02/2011 14:00:15 --(çalıştırdığım tarih üzere)

3

ADD_MONTHS('15-JUL-1988',-2)

15/05/1988

4

ADD_MONTHS('31-JAN-2010', 1)

28/02/2010

5

ADD_MONTHS('30-JAN-2010', 1)

28/02/2010

6

ADD_MONTHS('29-JAN-2010', 1)

28/02/2010

7

ADD_MONTHS('28-JAN-2010', 1)

28/02/2010

8

ADD_MONTHS('27-JAN-2010', 1)

27/02/2010

9

ADD_MONTHS('30-JUN-1988',1)

31/07/1988

10

TO_DATE('31-JAN-2010') + 30

02/03/2010

Yukarıdaki tablonun her satırındaki örnekleri dikkatle incelemekte fayda var.

Tablodaki örneklerden ilkinde ; 10 nisan 2010 tarihine , 2 ay ekliyoruz ve sonuç olarak 10 haziran tarihine gidiyoruz. Aynı şekilde 3. Örnekte 15 temmuzdan 2 ay geriye giderek 15 mayıs tarihine geliyoruz fakat dikkat etmemiz gereken önemli bir nokta var : O da 4 ve sonraki satırlardaki örnekler.

4. Örnekte, 31 ocak tarihine bir ay eklediğimizde 28 Şubata gidiyor. Yani bu fonksiyon mantık olarak seçilen tarih üzerine 30 gün eklemiyor. Takvim üzerinde direk belirtilen günden “x ay sonrasına” gidiyor.   4,5,6 ve 7. Satırlardaki ifadelerin aynı sonucu döndürmesinin sebebi budur. 30 ocaktan 1 ay sonra da 28 şubattır; 28 ocaktan 1 ay sonra da 28 şubattır. Burada dikkat edilmesi gereken, ay ekleme işlemini gün bazında değil takvim bazında yapmasıdır.

10. örneğe baktığımızda ise ekleme işlemi tamamen gün bazında yapılmaktadır. Yani verilen tarihin üstüne takvim üzerinden x sayıda gün eklenir ve o sonuç döndürülür.

Kategori Oracle
Pazartesi, 13 Aralık 2010 12:21

İnvalid Durumdaki Objeleri Bulma

invalidresim2

 

Hepimizin karşılaştığı güncel sorunlardan bir taneside yazdığımız view’ların,fonsiyonların,prosedürlerin..vb invalid olması durumu.İnvalid durumdaki objeleri şema browserdan bakabilir,neden invalid olduğunu araştırabilir ve düzenleyebiliriz.Ama hepsini bulmak biraz zaman alabilir.O yüzden bütün bunları bir arada görebileceğimiz kodumuzu görelim

Kategori Oracle
Pazar, 12 Aralık 2010 20:34

Yapı Kredi Bankası DataWarehouse Uygulaması

 data_warehouse_reporting2

 

 

"YKB Oracle 8i üzerinde geliştirdiği DataWarehouse uygulamasını yedi hafta içerisinde Sybase IQ ya taşıyarak, on aylık geri ödeme süresi ile yatırım geri dönüş maliyetinde %154 kazanç sağlamış oldu. Türkiye' nin ilk özel bankası olan Yapı Kredi Bankası, 500 şubeye sahip olmakla beraber ve leasing, faktoring, sigorta, Yatırım Bankacılığı gibi çeşitli finans kurumlarında uluslararası iştiraki olan bir bankadır. Aynı zamanda kredi kartları iş hacminde de lider bir banka konumundadır. Bu kredibiliteyi, büyümeyi ve müşteri memnuniyetini sürsürebilmek için bilgi teknolojilerine yatırım yapan lider kurumlardan biridir.

Mevcut datawarehouse larında 25 farklı operasyonel sistemden gelen bir terabyte tan fazla veri mevcut bulunmaktaydı. Önceden tanımlı ve ayarlanmış sorguların sonuçları 24 saatten uzun süren bir süre zarfında alınmakta idi. Data setlerinin büyüklüğü sorgulama işlemini hem güçleştiriyor hem de zaman kaybına yol açıyordu. Ad-hoc sorgular hemen hemen imkansız hale gelmekte idi. YKB bu sistemi performansı artırarak, düşük maliyetler çerçevesinde ihtiyaçlarını karşılamak üzere değiştirmeye karar verdi. Çözüm alternatiflerini değerlendirirken, üç farklı vendor ı üç günlük analiz ve Proof-of-concept çalışması yapmak üzere davet etti. Hedefleri, 8 hafta içerisinde production ortamına geçiş yapmak üzere, en hızlı ve doğru bir şekilde migration planını çıkarabilmek olmuştu. Sorgulama da hızlanma, veri depolamada en düşük kaynaka ve performans önem verdikleri kriterler arasında yer almakta idi. Ve sonuç olarak YKB, Sybase IQ ürününü seçti. YKB uygulama grubu ile iki Sybase danışmanı tarafından oluşturulan bir proje grubu sayesinde, yeni sistem yedi hafta içerisinde hayata geçirildi. Yeni oluşturulan datawarehouse uygulaması, kolon tabanlı çalışma metodolojisine dayalı olup, yüksek bir performans göstermeyi başardı. Sorgu cevap sürelerinde mükemmelliğe erişildi: Sorguların %88.4 bir saniye yada daha az sürede gerçekeşmektedir, %7 si 1-10 saniye içerisinde, %1.7 si 10-30 saniye arasında gerçekleşmektedir.

Ayrıca, yeni kurulan sistem tamamı ile SQL uyumlu olduğu için, veritabanı yönetcilerinin kısa sürede bu sisteme hakim olması oldukça kolay olmuştur. YKB eskiden bir terabyte yer tutan verilerini, artık Sybase IQ üzerinde 350 gigabyte lar seviyesine indirmiştir. 12 CPU lu sistem yerine 3 CPU lu bir sistem üzerinde DW uygulamalarını çalıştırmaktadırlar. YKB bünyesinde satış, pazarlama ve kredi kartları çalışanları kolay ve hızlı bir şekilde yeni sisteme olaşabilmekte ve kompleks ad-hoc sorgular çalıştırabilmektedirler."

Kategori Duyrular
Salı, 02 Kasım 2010 22:46

UNION ALL Kullanımı

Oracle da birkaç tablo üzerinde birlestirme ya da fark alma islemleri yapilabilir. Bunun için UNION, INTERSECTION ve MINUS operatörleri kullanilir. Asagidaki örneklerde UNION operatörü ile birlestirilmistir sonuçlari görecegiz.

SELECT JOB_ID

FROM EMPLOYEE

WHERE DEPARTMENT_ID = 10

UNION ALL

SELECT JOB_ID

FROM EMPLOYEE

WHERE DEPARTMENT_ID = 20

Sorgu çalistiginda çikan sonucumuz

JOB

----------

MGR

TECH

HR

MGR

HR

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=6 Card=4 Bytes=40)

1 0 UNION-ALL

2 1 TABLE ACCESS (FULL) OF 'EMPLOYEE' (TABLE) (Cost=3 Card=2

Bytes=20)

3 1 TABLE ACCESS (FULL) OF 'EMPLOYEE' (TABLE) (Cost=3 Card=2

Bytes=20)

 

SELECT JOB_ID

FROM EMPLOYEE

WHERE DEPARTMENT_ID = 10

UNION

SELECT JOB_ID

FROM EMPLOYEE

WHERE DEPARTMENT_ID = 20

 

 

JOB

----------

HR

MGR

TECH

 

 

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=4 Bytes=40)

1 0 SORT (UNIQUE) (Cost=8 Card=4 Bytes=40)

2 1 UNION-ALL

3 2 TABLE ACCESS (FULL) OF 'EMPLOYEE' (TABLE) (Cost=3 Card

=2 Bytes=20)

 

4 2 TABLE ACCESS (FULL) OF 'EMPLOYEE' (TABLE) (Cost=3 Card

=2 Bytes=20)

 

SELECT DEPARTMENT_ID, JOB_ID

FROM EMPLOYEE

WHERE DEPARTMENT_ID = 10

UNION ALL

SELECT DEPARTMENT_ID, JOB_ID

FROM EMPLOYEE

WHERE DEPARTMENT_ID = 20

ORDER BY 1

 

DEP JOB_ID

---------- ----------

10 TECH

10 MGR

20 MGR

20 HR

20 HR

 

 

Execution Plan

----------------------------------------------------------

0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=4 Bytes=40)

1 0 SORT (ORDER BY) (Cost=6 Card=4 Bytes=40)

2 1 UNION-ALL

3 2 TABLE ACCESS (FULL) OF 'EMPLOYEE' (TABLE) (Cost=3 Card

=2 Bytes=20)

 

4 2 TABLE ACCESS (FULL) OF 'EMPLOYEE' (TABLE) (Cost=3 Card

=2 Bytes=20)

Kategori Oracle
  • «
  •  Başlangıç 
  •  Önceki 
  •  1 
  •  2 
  •  3 
  •  4 
  •  5 
  •  6 
  •  7 
  •  Sonraki 
  •  Son 
  • »
Sayfa 1 / 7
About me

Sakarya Üniversitesi Bilgisayar Mühendisligini bitirdikten sonra kariyerime özel bir sirkette Danisman olarak devam etmekteyim.

Datawarehouse sistemlerin ve mimarilerin , dwh'a bakis açisini incelemek ve küçükte olsa bunlar hakkinda bilgi vermek amaciyla bu siteyi kurduk.Bunun yani sira diger sistemlere de dokunduk ve Türkçe makaleler paylastik.

Yazarlarimiz; Muhammet Ali Yurtçiçek, Ercan Yazgan, Samet Aslan,Ali Yildiz,Emin Sayan,Ömer Faruk Gül,Mustafa Aksoy,Burak Kutbay'dir.

 

Son Yazılar

Hangi Yazılım Dilini Kullanıyorsunuz








Sonuçlar
You are here