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

Selamlar.

Bu makalemizde Rac mimarisi içersinde RAC disk paylaşımını ne şekilde ve nasıl yapıyor onu inceleyeceğiz.Umarım faydalı bir yazı olur.

 

Real Application Clusters veritabanları, tek Oracle instance’ına sahip Oracle veritabanları ile aynı bileşenlere sahiptir. Bu durum, bir yada daha fazla kontrol dosyalarını, bir dizi online redo log dosyalarını, isteğe bağlı arşiv log dosyalarını, veri dosyalarını ve bunun gibilerini kapsamaktadır. Böylece, her redo log grubunun herbir online redo log üyesi için, herbir kontrol ve veridosyası için, paylaşılan diske giriş imkanı sağlamanız gerekir. Paylaşılan diski,undo tablespace(geri alımtablo alanı) veri dosyasının tavsiye edilen otomatik geri alım yönetimi özelliğini kullanması için konfigüre etmeniz de gereklidir.

 

Windows NT ve Windows 2000 işletim sistemlerinde(sadece bu  sistemlerde), Oracle’ın küme konfigürasyonu bilgilerini depoladığı bir voting yada quorum disk’ e ortak erişim imkanı sağlamanız gereklidir. Bu diski bir Cluster File System (CFS) üzerine veya bir işlenmemiş makine üzerine yerleştirebilirsiniz. Düğüm monitor(gözleyicisi) küme konfigürasyonlarını yönetebilmesi için quorum disk konfigürasyonunu kullanır. 

 

Oracle konfigürasyon ve yönetim araçları paylaşılan diskte depolanan küme konfigürasyon verisine gereksinim duyar. Database Configüration Assistant’ı (DBCA),Oracle Enterprise Management’ı(EM) ve ServerControl(SRVCTL) komut satırı yönetsel yardımcıyı kullanmak için paylaşılan disk kaynağını konfigüre etmelisiniz. Windows NT veWindows 2000 üzerinde, voting disk ve konfigürasyon verisi aynı disk kaynağını paylaşır.

 

Eğer sunucu parametre dosyasını kullanırsanız, parametre dosyası yönetimi Real Aplication Clusters’da basitleştirilmiştir. Bu dosyayı,genel anlamda yönetmek ve Oracle instance’ına özgü parametre ayarlarını bir dosya içinde bulundurmak için paylaşılan bir diske depolamamız gerekmektedir.

 

 

REAL APPLICATION CLUSTER-SPECIFIC DAEMON VE

INSTANCE PROSES

 

 

Bu kısımda, Real Application Cluster-Specific daemon ve instance

proses aşağıdaki ana başlıklar altında tanımlayacağız.

 

  • The Global Services Daemon
  • Instance Proses Specific to Real Application Clusters

THE GLOBAL SERVICES DAEMON

 

The Global Services Daemon(GSD), her düğüm üzerinde her düğüme bir GSD proses olacak şekilde çalışır. GSD, istemcilerden(örneğin DBCA, EM ve SRVCTL hizmeti) gelen istekleri almak ve yönetsel iş görevlerini(örneğin Oracle instancenı başlatma ve kapatma gibi) yürütmek için cluster manager ile eşgüdümlüdür.GSD, bir Oracle instance arkaplan proses’i değildir. Dolaysıyla, Oracle instance ile birlikte başlatılmaktadır.

 

INSTANCE PROSES SPECIFIC TO REAL APPLICATION

CLUSTERS

Bir Real Application Cluster veritabanı, tek Oracle instance’ına sahip bir Oracle veritabanı ile aynı proses’lere(Örneğin, proses monitor(PMON),database writer(DBWRn), log writer(LGWR), ve bunlara benzer proses’ler) sahiptir. Bunlara ek olarak Real Application Cluster-specific prosesler(süreçler)Şekilde de gösterilmiştir. Bu proses’lerin ve bu proses’lerin oluşturduğu trace(izleme) dosyalarının esas isimleri platforma bağımlıdır.

  • Global Cache Service Processes(LMSn), 'ın mesajlaşma trafiğine bağlı olarak 0 ile 9 aralığında, uzaktaki RAC'le anlarına gönderilen mesajların akışını kontrol eder ve global veri bloğu erişimini yönetir. LMSn proses’leri, farklı Oracle anlarının ön arabellekleri arasında blok görüntüsünü de iletir. Bu işlem Cache Fusion’ın özelliklerinden bir bölümüdür.
  • The Global Enqueue Service Monitor(LMON), küme üzerinde kaynakları ve global kuyruğa eklemeleri gözlemler (monitors) ve global enqueue(kuyruğa ekleme) kurtarma işlemlerini yapar. Enqueues, satır güncelleşimini sıralandıran paylaşılan bellek yapılarıdır.
  • The Global Enqueu Service Daemon(LMD), global enqueue ve global kaynak erişimini yönetir. Her bir Oracle instancenın içinde bulunan LMD proses, uzaktan gelen kaynak isteklerini yönetir.
  • Lock Proses(LCK), non-Cache Fusion kaynağı isteklerini örneğin library(kitaplık) ve satır önbellek isteklerini yönetir.
  • The Diagnosability Daemon(DIAG), Oracle anlarındaki proses başarısızlıkları ile ilgili diagonistic(teşhis edilmiş) veriyi yakalar.İşletim sisteminde geri planda çalışan bu programın işlemleri (the operations of this daemon)otomatik hale getirilmiş ve yaptığı etkinlikleri kaydetmek için bir uyarı log dosyasını güncellemektedir.

 

 

 

 

Kategori Oracle
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
Çarşamba, 15 Aralık 2010 12:44

Oracle Data Mining Mining Techniques and Algorithms

Bu yazımda sizlere Data mining algoritmaların dan bahsedeceğim.Linkten gerekli bilgilere ulaşabilirsiniz.Devamı gelecek..

http://www.oracle.com/technetwork/database/enterprise-edition/odm-techniques-algorithms-097163.html

 

 

Oracle Data Mining Mining Techniques and Algorithms

Oracle Data Mining (ODM) provides a broad suite of data mining techniques and algorithms to solve many types of business problems:

Technique 

Applicability 

Algorithms 

Classification




Most commonly used technique for predicting a specific outcome such as response / no-response, high / medium / low-value customer, likely to buy / not buy.

Logistic Regression —classic statistical technique but now available inside the Oracle Database and supports text and transactional data

Naive Bayes —Fast, simple, commonly applicable 

Support Vector Machine—Next generation, supports text and wide data 

Decision Tree —Popular, provides human-readable rules

Regression

Technique for predicting a continuous numerical outcome such as customer lifetime value, house value, process yield rates.

Multiple Regression —classic statistical technique but now available inside the Oracle Database and supports text and transactional data

Support Vector Machine —Next generation, supports text and wide data

Attribute Importance

Ranks attributes according to strength of relationship with target attribute. Use cases include finding factors most associated with customers who respond to an offer, factors most associated with healthy patients.

Minimum Description Length—Considers each attribute as a simple predictive model of the target class

Anomaly Detection

Identifies unusual or suspicious cases based on deviation from the norm. Common examples include health care fraud, expense report fraud, and tax compliance.

One-Class Support Vector Machine —Trains on normal cases to flag unusual cases

Clustering

Useful for exploring data and finding natural groupings. Members of a cluster are more like each other than they are like members of a different cluster. Common examples include finding new customer segments, and life sciences discovery.

Enhanced K-Means—Supports text mining, hierarchical clustering, distance based 

Orthogonal Partitioning Clustering—Hierarchical clustering, density based

Association

Finds rules associated with frequently co-occuring items, used for market basket analysis, cross-sell, root cause analysis. Useful for product bundling, in-store placement, and defect analysis.

Apriori—Industry standard for market basket analysis

Feature Extraction

Produces new attributes as linear combination of existing attributes. Applicable for text data, latent semantic analysis, data compression, data decomposition and projection, and pattern recognition.

Non-negative Matrix Factorization—Next generation, maps the original data into the new set of attributes

Kategori Oracle
Salı, 14 Aralık 2010 20:22

Hüsnü Şensoy / DBA of the Year 2009

mhendisler

  

 

Selam Arkadaşlar,

Sizlere 2009 yılında dünya çapında yılın dba i seçilen Hüsnü Şensoy' un röportajından bir kesit sunmak istiyorum. Dünyada bu ünvana sahip en genç kişi şu anda kendisi ve bu alanda Türkiye'nin de gururu diyebiliriz. Kendisinin Oracle ve meslek hayatı üzerindeki görüşlerini ve tavsiyelerini anlatan bu yazı umarım sizlere faydalı olur. 

 ..."Son olarak Oracle Magazine tarafından bu yılın Oracle DBA’i (DBA of the year) seçilince, kariyerimde bir basamak daha arkamda kaldı. Bu yazıda benim dünya klasmanında bir Oracle veritabanı uzmanı olmamda işime yarayan ipuçlarını bulacaksınız. Bu yazıyı her ne kadar Oracle Veritabanı ekseninde yazsam da ipuçları bütün teknik uzmanlıklara sanırım uygulanabilir. Bu ipuçlarının genç uzman adaylarına yardımcı olması dileklerimle…

Âşık Olun

Benim için, Oracle kariyer yolu hiçbir zaman “karın doyurmak için bir araç” olmadı. Bugün yaptığım şey 12 yaşlarında QBASIC ile başladığım serüvenin sadece son halkasıdır. O zamanlardan beri bu işle yattım bu işle kalktım diyebilirim.Doğruyu söylemek gerekirse hiçbir zaman “Bu işin bana dönüşü ne olur, ne olmaz ?” diye düşünmedim. Sevdikçe uğraştım, uğraştıkça daha da sevdim.

Genelde “Oracle ile iyi para kazanabilmek için mi uğraşmalıyım ?” sorusuyla karşılaşıyorum. Dürüst olmak gerekirse “çok para” kazanmanın son tercih edilecek yollarından biri Oracle (onca bug, crash, vs. düşünülünce) galiba. Ben bunun yerine kendi sebebimi açıklamak adına “Oracle ile uğraşıyorum, çünkü büyük veritabanlarıyla uğraşmayı seviyorum” cümlesini tercih ediyorum.Bir ihtiyaç önüme geldiğinde; en ucuz(cost-effective), en sağlam (robust), en performanslı (scalable) yolu bulmaya çalışmak benim için hep bir mücadele:Çözümü araştırmak, bulmak, geliştirmek ve ondan sonra da keyifle çalıştığını izlemek…

Çırak Olun, Kalfa Olun, Usta Olun

Fikrimi sorarsanız kurumsal arenada iyi bir teknik oyuncu olmanın yolu usta-çırak modelinden geçiyor. Geriye dönüp baktığımda üniversite yıllarından beri benim en büyük şansım hep iyi ustaların karşıma çıkmış olması (Hasan Tonguc Yılmaz ve Yomi Kastro’ya teşekkürler). Bu ustalar teknik bilgiyi öğretmekten ziyade, bulunduğunuz coğrafyaya tıkılmak yerine dünya klasmanında oynamanız için gerekecek ve yaptığınız işte hep en iyi olmanızı sağlayacak ipuçlarını vereceklerdir.

Bir diğer önemli adım ise usta olmak. Bunun bir açıdan önemi vefa borcunuzu ödemek olarak değerlendirilebilir. Ama daha önemlisi sizin kendinizi ilerletmeniz ile alakalı olan kısımdır. Takdir edersiniz ki bir şeyi bilmek ile onu başkalarına anlatabilmek arasında çok fark var. Eğer birisine koçluk etmeye başlarsanız sunum yetenekleriniz gelişir, teknik detayları teknik olmayan insanlara (yöneticilerinize, müşterilerinize, vs) çok daha kolay indirgersiniz, kendi bilginizi sorular karşısında sınar, bilginizi sürekli taze tutmak ile alakalı önemli bir motivasyon kazanırsınız.

Bilgiyi Paylaşın

Ticaretle uğraşan bir ailenin ferdi olarak bize hep öğretilen meslek sırlarını hiçbir zaman paylaşmamaktı. Bilgi teknolojilerini kendime kariyer yolu olarak seçtikten sonra bu alanda başarılı ve tanınan biri olmanın en büyük yolunun bilgiyi saklamak değil, bilginin yayılmasını sağlamak olduğunu anladım. Bilginin bugün saklanması neredeyse imkânsız. Ya siz o bilgiyi yayar ve insanların ilgisini çekersiniz veya başkası o bilgiyi yayar ve siz sakladığınızla kalırsınız.

Sunum yapmak, blog yazmak, forumlara cevap vermek sizin bilinirliğiniz açısından çok ama çok önemlidir. Bu nokta da sakın ben daha stajyerim, yarı zamanlı çalışanım, çalışmaya yeni başladım endişelerine kapılmayın. Herkesin üzerine çalıştığı konuyla alakalı söyleyecek mutlaka bir çift lafı vardır.

Birlikte Çalıştığınız ve Fikir Danıştığınız Kişilerin Önemi

Özellikle kurumsal uygulamalar söz konusu olduğunda projelerde her zaman bir takım ekiplerle çalışıyoruz. Büyük projeler yaptığınızda veya bir şeyleri değiştirdiğiniz de ilerlemeniz de kaplumbağa gibi değil tavşan gibi sıçramalar şeklinde olacaktır. Ama hiçbir şey maliyetsiz gelmiyor. Bu tarz projelerde sorun yaşarsanız düşüşler de yüksekten olacaktır.Dolayısıyla yola çıktığınız veya akıl hocalığına başvurduğunuz kişiler sizi bitiş çizgisinde ayakta tutacak olan şeyin ta kendisidir. Benim için hep böyle oldu. Örneğin, veri ambarı konusunda Uğur Demirelçe ve Mustafa Altuğ Kamaci, Linux ve Oracle konularında Orhan Bıyıklıoğlu ve Ersin Ünkar yaptığımız büyük işlerde her zaman akıl hocalarım ve gözüm kapalı güvendiğim kimseler olmuştur.

Yeniyi Siz Getirin

Eskiye rağbet olsa bitpazarına nur yağardı. Yeniden sakın korkmayın. Oracle Magazine’de yayınlanan röportajımda sarf ettiğim cümlelerin en önemlilerinden biri kanımca suydu:

İyi teknik adam hep yeniyi kullanmaya karşı bir heyecan duymalı, ama kullandığı ürününün sınırlarını da çok iyi test edip bilmeli.

Geriye dönüp baktığımda yeni kavramı benim kariyerimde çok önemli bir yer tutuyor. Bazılarını sıralamak gerekirse:

Turkcell içerisinde

Turkcell’e Oracle Database Beta testing kavramını 11g Release 2 ile getirmek

Turkcell’in ilk büyük çaplı RAC projesini tasarlamak

Turkcell’i ASM ile tanıştırmak

Turkcell’in Oracle CAB’de temsil edilmesini sağlamak

Türkiye

Türkiye’nin ilk ve tek Oracle ACE Director’ü ve Yılın DBA olmak

Dünya

Dünyanın en genç Oracle Director’ü ve Yılın DBA olmak

Gördüğünüz üzere yeniliği ve ilki her seviyede gerçekleştirebilirsiniz. İlk bilmek, ilk denemek vs hep tutkunuz olsun.

Sorunla Karşılaştığınızda Ağınız Hazır Bulunsun

Şunu unutmayınız ki projelerin hiç biri sorunsuz gelmeyecektir. İllaki bir bug veya tasarım aşamasında bazı sorularınız, sorunlarınız olacak. Burada mühim olan sorun yaşadığınızda kaç kişi ile bu sorunun üzerine gidebildiğiniz. Benim tercihim her zaman mümkün olduğunca farklı ve fazla profile ile Oracle problemlerine saldırmaktır:

Kendi ekibinizdeki uzmanlar

Metalink Support kanalı

Oracle Development takımı

Oracle Proje Yönetim takımı

Uzmanlığına güvendiğiniz yerel veya yurtdışı uzmanlar

Uzmanlığına güvendiğiniz yurtdışı Oracle Support üyeleri

Liste bu kadar uzun olunca ilk akla gelebilecek soru, bu kadar kişiyi nasıl ayağa kaldırabiliriz olacaktır. Genelde problemlerle karşılaşan insanlar da gördüğüm sorun, problem yaşadıklarında herkesi hareket için davet etmek. Ama bunun pek de çalışan bir metot olduğunu söylemek zor.Burada izlenmesi gereken yol daha sorun ortada yokken ve hatta belki proje bile ortada yokken ağınızı kurmak ve onu harekete hazır hale getirmek. Bunu çeşitli toplantılarda, konferanslarda, ilgili kişilere mailler atıp yaptığınız işi ve kendinizi tanıtarak yapabilirsiniz. Sizi unutmalarına izin vermezseniz her daim harekete hazır bir destek ordunuz olur.

DBA mi Developer mi?

Hep kulağımıza gelen bir diğer soru “kariyer yolumu yazılım geliştirici mi yoksa DBA olarak mı şekillendirmeliyim” oluyor. Ben Turkcell’de staja ilk başladığımda Oracle yazılımcısı idim, daha sonra bir startupda yazılım ekibi yönettim, son olarak da Turkcell’e veri tabanı yöneticisi olarak geri döndüm.

Bunların hiç birisi tek başına sizi uzmanlık mertebesine taşıyacak şeyler değil sadece kartvizitinize yazılacak olan birer “Ünvan”dır. Oracle o kadar garip bir sistem ki maalesef ben developerim veya ben DBA’im diyenleri pek sevmiyor. “İyi” olmak istiyorsanız bir DBA kadar DBA, bir developer kadar developer ve hatta OS ve hardware konusunda da yeteri kadar bilgili olmalısınız. Çünkü bunların her hangi birinde çıkabilecek sorunun sonucu “failure” olarak geri dönecektir. Uzmanın görevi ise bunu önlemektir.

Temellere Önem Verin (Return to Basics)

Öğrencilik döneminde ve sonrasında hep sorulan sorulardan biri “Üniversitede öğrendiklerim ne işime yarayacak ?” oluyor. Kısaca çok işinize yarayacak diyebilirim. Biraz açmak gerekirse kuyruk teorisinden(Queuing Theory) örnek vereyim. Kuyruk teorisinin temellerini anlamamış bir kimsenin Oracle’da veya işletim sistemi seviyesinde göreceği herhangi bir bekleme olayını tam manası ile anlaması mümkün değildir. Defalarca şahit olduğun bir kargaşa servis zamanı ile bekleme zamanı metriklerinin bir birine karıştırılmasıdır.

Dolayısıyla bugünün bilgisayar yazılımları sadece dört işlemi yapabilen uzmanlar için fazla karmaşık. O yüzden olasılık teorisi, kuyruk teorisi, simulasyon sistemleri, vs gibi temel(core) mühendislik dersleri (veya derslerin hocaları) ne kadar sıkıcı olursa olsun kesinlikle bir uzman adayı tarafından iyi anlaşılmalı ve gerçek hayatta kullanabilecek kadar sindirilmeli. "

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
  • «
  •  Başlangıç 
  •  Önceki 
  •  1 
  •  2 
  •  3 
  •  4 
  •  5 
  •  6 
  •  7 
  •  8 
  •  9 
  •  10 
  •  Sonraki 
  •  Son 
  • »
Sayfa 1 / 17
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