Caner Seçgin-Oracle Blog

~ Herkes Ölür ama Herkes Gerçekten Yaşayamaz

Author Archives: Caner SEÇGİN

Odi Procedure

03 Monday Apr 2017

Posted by Caner SEÇGİN in ODI (ORACLE DATA INTEGRATOR)

≈ Leave a comment

Merhaba Arkadaşlar, Bu yazımızda Odi içerisinde bulunan Procedure kısmından bahsedeceğiz.

Odi Procedureler oldukça kullanışlı ve basit.

Proje altından Procedure sağ tıklayıp new procedure diyip yeni bir procedure oluşturuyorum.

Definiton: İsim ve teknoloji tanımlıyoruz.(oracle db kullandığımızdan target technology oracle seçtik.)

Details: Burada asıl procedure oluşturuyoruz. Procedureleri bir kaç adımdan oluşturabiliyoruz. + ile ekleyip 1 adet sizin için oluşturuyorum.

Burada context seçimi yaparsanız, Diğer ortamlara taşıdığınız senaryonuz başka context seçerek çalışmayacaktır. Bu yüzden seçim yapmamanızı tavsiye ederim.

Aşağıda karşılaştığım bir sorunun örneğini paylaştım. Oracle Db üzerinde oluşturduğum bir proceduru Odi procedure içinde çağırdım fakat bir türlü istediğim şekilde çalışmadı. Sonra farkettimki Odi içerisindeki tarih ile benim gönderdiğim tarih farklı. Bu nedenle procedurenin çalışacağı sessiona date formatı tanımladım.

odi procedure

begin
Execute immediate ‘alter session set nls_date_format=”dd/mm/yyyy”’;
DSD.ABONE(to_char(sysdate,’dd/mm/yyyy’));
end;

Procedureleri direkt de bir Dml işlemi içinde kullanabiliriz.

create table caner as select 1 num from dual;

Caner adında bir tablo oluşturuyorum.

Odi procedure içerisinde begin end; bloğu arasına insert cümleciğimi ekleyip çalıştırıyorum.

begin
insert into caner select 15 from dual;
end;

proc insert

select.PNG

Yukarıda gördüğünüz gibi tabloya 15 kaydı yansımış. Daha kompleks işlemler içinde bunu kullanabilirsiniz. Gerçekten Odi procedureleri çok acil durumlarda imdadınıza yetişebilir.

Herkese  İyi Çalışmalar,

Sorularınız varsa direkt e-mai atabilirsiniz.

Oracle Sql 19: Set Operatörleri( Union,Union All, Intersect,Minus)

31 Tuesday Dec 2013

Posted by Caner SEÇGİN in Oracle Sql

≈ 1 Comment

Tags

iki tabloyu raporlama, Minus, Multiple Query, Oracle SQL intersect, Oracle SQL Minus, Oracle SQL union all, SQL Union, İntersect

Merhaba Arkadaşlar,2013 bitmeden  bu konuyu yazmak istedim. Bu yazımızda set operatörlerinden bahsedeceğiz. Set operatörleri 4 tanedir. Bunlar: Union, Union All, Intersect ve Minus operatörleridir. Bu operatörleri neden kullanmak istiyebiliriz ?sorusunun bir çok cevabı var. Bir kaç örnek vereyim. Mesela bir operasyon yaptınız ve bir tablonun aynısından bir tane daha oluşturduğunuzu düşünüyorsunuz. Böyle bir durumda bunu kontrol etmek için Minus operatörünü kullanabiliriz veya iki tablo arasındaki ortak alanları(aynı veri) merak ediyorsak(Buna kesişimleri diyebiliriz) Intersect operatörünü kullanırız veya iki tabloyu bir arada rapor etmek istiyorsak Union operatörünü kullanabiliriz. Aşağıda A ve B tablosu düşünülerek hazırlanmış bir görüntü paylaşıyorum. Bu arada sağ üstteki Union All operatörünü gösteren şekildeki orta alan raporlarken 2 kez tekrar ediyor diye biraz daha beyazlaşmış, şekillerde gri alanlar sorgudan dönecek kısmı temsil ediyor. Continue reading →

Oracle Sql 16: Having

23 Monday Dec 2013

Posted by Caner SEÇGİN in Oracle Sql

≈ Leave a comment

Tags

Having, Having clauses, Oracle Database, Oracle Sql Having, SQL

Merhaba Arkadaşlar, Bu yazımızda Having kullanımından bahsedeceğiz. Data çokluyor mu diye bakmak için çok kullanır.Having Group by ile order by arasında kullanılır.Having kullanımını göstermeden  önce bazı hatırlatmalar yapmak istiyorum. Where koşulunu anlatırken şunu söylemiştik grup fonksiyonları ile birlikte kullanılamaz. Bu bir grup fonksiyonu kullandığımız sorguda where kullanılamaz demek değil tabikide. Burada anlatmaya çalıştığım where ile bir koşul belirtirken bir gruba yönelik koşul belirtemezsiniz. Örnek olarak,ortalama maaşı 5 binden büyük olan departmanları görüntülemek istediğimizde Ortalama( AVG) grup fonksiyonunu where ile kullanamayız. Continue reading →

Oracle DBA 2: Veritabanı Kapanma Yöntemleri (Shutdown Abort, Normal, Immediate, Transactional)

16 Monday Dec 2013

Posted by Caner SEÇGİN in Oracle Database Yönetimi

≈ Leave a comment

Tags

Oracle Shutdown, shutdown abort, Shutdown immediate, Shutdown normal, Shutdown transactional

Merhaba Arkadaşlar, Önceki yazımızda veritabanı açılış modlarından bahsetmiştik şimdi yazımızda veritabanı kapanış methodlarından bahsedeceğiz. Oracle veritabanını Shutdown Abort,Shutdown Normal,Shutdown Immediate ve Shutdown Transactional diyerek kapatabiliriz. Bu yazımızda bunlar arasındaki farklar nedir ? Hangisini nerelerde kullanmalıyız ? ve etkileri neler olur ? gibi soruların cevaplarını bulacağız. Veritabanı kapatma yöntemlerini tek tek anlatmadan önce şunu söylemeliyimki veritabanını tutarsız bir şekilde kapatan tek yöntem shutdown abortdur.  Continue reading →

Oracle DBA 1: Veritabanı Açılma Modları(Nomount, Mount, Open)

16 Monday Dec 2013

Posted by Caner SEÇGİN in Oracle Database Yönetimi

≈ Leave a comment

Tags

Mount, Nomount, Oracle, Oracle Database, Oracle Database Open, Oracle Database Startup

Merhaba Arkadaşlar, Bu yazımızda Oracle veritabanı ile alakalı olarak veritabanı açılış modlarını inceleyeceğiz. Oracle’da veritabanı belirli aşamaları geçerek açılır, eğer bu aşamaların herhangi birinde bir eksik yada hatalı durum varsa veritabanı o moddan bir üst moda geçemeyecektir.Burada mantık şudur örneğin database mount moduna geçemiyordur.Biz nomountta veritabanını açarız eksik olan dosyaları tamamlayıp(onlarla alakalı olacak şekilde ilerleyen zamanlarda yazılarımız olacak) veritabanımızın açılmasını sağlarız.Bir veritabanı kapalı(Shutdown) modda iken sırasıyla Nomount ve Mount modlarını geçerek Açık(open) moda geçer.Bu yapı merdiven gibidir. Continue reading →

Oracle Mimarisi 3: Mantıksal ve Fiziksel Depolama Yapısı(Logical and Physical Database Structures)

04 Wednesday Dec 2013

Posted by Caner SEÇGİN in Oracle Mimarisi

≈ Leave a comment

Tags

Alert log files, Backup Files, Control files, Data Block, Data Files, Database Storage Architecture, Extent, Online redo log files, Oracle, Oracle Data Storage, parameter file, password Files, Segment, Tablespace, Trace files

Merhaba Arkadaşlar,Oracle Veritabanı depolama yapısı fiziksel ve mantıksal olarak iki yapıdan oluşur.Oracle’ın Fiziksel Yapısını Control,Data,Online Redo log, Parameter, Backup, Archived redo log, Password, Alert log and trace (files) gibi dosyalarımız oluşturur. Bu dosyaların her biri ayrıca incelenmeli ve öğrenilmelidir. Hatta bu dosyalardan Control files,Data files ve Online redo log files dosyaları Database’imiz için olmazsa olmaz dosyalardandır.Bu yazımızda bu dosyalardan kısaca bahsedeceğiz ilerleyen yazılarda ‘da bu dosyaların her birini özel bir konu olarak ele alıp uçtan uca inceleyeceğiz.Bununla birlikte bu yazımızda Oracle’daki diğer depolama yapısı olan Mantıksal Depolama Yapısını(Logical Storage Structure) inceleyeceğiz.

Control Files: Control dosyalarımızdan(files) herhangi birini kaybetmemiz durumunda veritabanımız kullanılamaz hale gelir.Control dosyalarında, veritabanımızın adı,veri dosyalarının isimleri ve yerleri,online redo log dosyalarının isimleri ve yerleri, checkpoint bilgisi, Rman yedek dosyalarının isimleri ve yerleri,archive log dosyalarının sıra numaraları yer alır. Continue reading →

Oracle Mimarisi 2: User Process, Server Process ve Background Processler

30 Saturday Nov 2013

Posted by Caner SEÇGİN in Oracle Mimarisi

≈ Leave a comment

Tags

Archiver Process, Background Process, Checkpoint Process, Database Writer Process, Log Writer Process, Oracle, Oracle Architecture, Oracle Database, PMON, RECO, Redo log, Server Process, SMON, User Process

Merhaba Arkadaşlar, Bu yazımızda Oracle Veritabanı yapısında Process yapılarından bahsecedeğiz. Bu yazımızı daha iyi anlamanız için Memory yapısından bahsettiğimiz yazıya bakmanızı tavsiye ederim.Oracle DB ‘de bulunan üç çeşit process yapısını bu yazımızda sırayla inceleyeceğiz.Bunlar: Client Process(User İşlemleri), Server Process (Sunucu İşlemleri) ve Background Process(Arka Plan işlemleri). Burada User Process ve Oracle Veritabanı Processes diye gruplayabiliriz.Oracle Veritabanı Processleri  Server Process ve Background Processdir.

Client Process(User İşlemleri)

Bir User(kullanıcı) bir uygulama veya bir tool aracılığı ile Oracle veritabanına bağlandığında, bu kullanıcı için Client(User) Process başlatılır.Client(User) Process SGA alanına okuma ve yazma yapamaz.Client Process, Oracle Veritabanı Processlerinin aksine veritabanın çalıştığı serverın dışında bir serverda’da çalışabilir. Continue reading →

Oracle Oracle Mimarisi 1: Memory Yapısında SGA ve PGA Alanları

08 Friday Nov 2013

Posted by Caner SEÇGİN in Oracle Mimarisi

≈ Leave a comment

Tags

Dictionary cache, Oracle, Oracle Architecture, Oracle Bellek Yapısı, Program Global Area, System Global Area

Merhaba Arkadaşlar, Bu yazımızda Oracle veritabanı mimarisinde Memory yapısından bahsedeceğim.Oracle veri tabanı RDBMS ilişkisel veritabanıdır. İlişkisel veritabanı Primary ve Foreign key alanları ile tabloları ilişkilendiren veritabanlarıdır. Oracle’da verilerimizi saklayabileceğimiz iki veritabanı tipi vardır. OLTP(Online transaction processing) ve DWH(Data warehouse ).OLTP’de sürekli transaction(insert,update,delete) işlemleri yapılır. Küçük tablolar kullanılır. Tablolar arası ilişkiler çok fazladır.OLTP ye örnek olarak ATM sistemlerini gösterebiliriz.DWH ‘da raporlama üzerine kuruludur.Neredeyse Transaction yapılmaz.Büyük tablolar kullanılır(Daha çok sorgu yapıldığı için) .Oracle veritabanı mimarisi üç yapıdan oluşur. Bellek yapısı(Memory), İşlemler(Processes) ve Depolama yapısı(Storage).

Continue reading →

Oracle Sql 15: Group By

01 Friday Nov 2013

Posted by Caner SEÇGİN in Oracle Sql

≈ Leave a comment

Tags

Oracle Database, Oracle Sql, Oracle Sql Group By, Oracle Sql Gruplama, PL/SQL, SQL

Merhaba Arkadaşlar,Bu yazımızda Group By ifadesinden bahsedeceğiz.Group By ifadesini tablomuzdaki satırları küçük gruplara bölmek için kullanırız.Mesela Departmanlarımızın olduğu bir kolonu düşünelim, 4 farklı verimiz olsun,Group By Department dersek 4 farklı grup ekrana monitör edilir. Group By Sql Sorgusunda where şartından sonra kullanılır.Order By sıralamasından önce kullanılır.Genelde Grup fonksiyonlarıyla kullanılır,Grup fonksiyonları bir kolondaki verileri bir işleme sokarak bir değer döndürür.Grup By kullanırken şuna dikkat etmeliyiz;Sorgunun başında Select‘den sonra belirttiğimiz gruplanacak kolonlar mutlaka Group By ifadesiyle birlikte yer almalıdır. Continue reading →

Oracle Sql 14: Grup Fonksiyonları(Avg,Count,Max, Min,Sum)

31 Thursday Oct 2013

Posted by Caner SEÇGİN in Oracle Sql

≈ Leave a comment

Tags

Group Functions, Min, Oracle Sql Avg, Oracle Sql Count, Oracle Sql Group Fonksiyonları, Oracle Sql Max, Oracle Sql Sum

Merhaba Arkadaşlar, Bu yazımızda grup fonksiyonlarından bahsedeceğiz.Bu fonksiyonlar Avg(ortalama),Count(sayma),Max(maximum),Min(minimum), Sum(toplam). Oracle veritabanında bu fonksiyonlar sayesinde bazı işlemleri çok daha rahat yapacağız. Mesela maaşların tutulu olduğu bir kolona gidip en yüksek maaşı alan çalışanı max fonksiyonu ile görüntüleyebiliriz. Yada şirketimizde çalışanların aldığı ortalama maaşı avg fonksiyonu ile görebiliriz. Bu gibi işlemleri tek bir ifade kullanarak yapacağız.Grup fonksiyonları  tek satır fonksiyonlarından farklı olarak bir den çok satır alıp bir tane sonuç dönderen fonksiyonlardır. Grup fonksiyonlarını tek satır fonksiyonlarında olduğu gibi where  ile birlikte kullanamayız,Having ile birlikte kullanılır. Grup fonksiyonları null değerleri göz ardı eder ve null değer döndürmezler. Continue reading →

← Older posts

Kategoriler

  • ODI (ORACLE DATA INTEGRATOR) (1)
  • Oracle Database Yönetimi (2)
  • Oracle Mimarisi (3)
  • Oracle Sql (17)

Son yazılar

  • Odi Procedure
  • Oracle Sql 19: Set Operatörleri( Union,Union All, Intersect,Minus)
  • Oracle Sql 16: Having
  • Oracle DBA 2: Veritabanı Kapanma Yöntemleri (Shutdown Abort, Normal, Immediate, Transactional)
  • Oracle DBA 1: Veritabanı Açılma Modları(Nomount, Mount, Open)

İletişim

secgincaner@gmail.com secgincaner@hotmail.com https://www.facebook.com/SecginCaner https://twitter.com/SecginCaner
Follow Caner Seçgin-Oracle Blog on WordPress.com

Blog İstatistikleri

  • 122,139 tıklama

Blog at WordPress.com.

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy
  • Follow Following
    • Caner Seçgin-Oracle Blog
    • Already have a WordPress.com account? Log in now.
    • Caner Seçgin-Oracle Blog
    • Customize
    • Follow Following
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar
 

Loading Comments...