Oracle'da SQL Cümlelerinin İşlenmesi

Oracle’da SQL Cümlelerinin İşlenmesi

Oracle veritabanında ve diğer veritabanlarında bulunan verileri
işlemek iÇin SQL cümlecikleri kullanılır. Kayıt eklemek, silmek, update etmek vs.
iÇin Veri İşleme Dili (DML) kullanılır. Mesala SELECT,UPDATE,INSERT
DELETE,EXPLAIN PLAN ve LOCK TABLE DML cümlecikleridir.

PARSE,EXECUTE ve FETCH:

Oracle SQL cümlecikleri 2 yada 3 aşamada işlenir. Tüm sqllerin işlenmesinde
parse ve execute işlemleri vardır. Bunlara ilaveten veritabanından
veri Çeken SELECT cümlelerinde birde FETCH aşaması vardır.

PARSE: Sql cümlelerinin işlenmesindeki ilk aşamadır.

* Sql cümlelerinin syntax olarak doğruluk kontrolu yapılır.
* Sql cümlelerinde bulunan tablo ve kolon isimleri veri sözlüğünden kontrol edilir.
* Sql cümlelerini Çalıştırmak isteyen kullanıcıların izni olup olmadığı kontrol edilir.
* Üalışma planı Çıkartılır.
* Sql cümlesi iÇin bellekte paylaşılmış sql alanı bulunur.
* Eğer ilgili sql daha önceden Çalıştırılmış ve parse aşamasından geÇmiş ise
ve ön ara bellekte bulunuyorsa yukarıdaki işlemler yapılmadan Oracle
direk olrak sql’i Çalıştırır.

EXECUTE: Oracle PARSE aşamasını geÇmiş olan SQL’i bu aşamada Çalıştırır.
Eğer sql cümleciği iÇinde LOCK işlemi gerektirecek delete veya update işlemi varsa
LOCK işlemi gerÇekleştirilir. Eğer LOCK işlemi gerektirecek herhangi bir sql yoksa
Oracle ön arabelleğe bakar eğer veriler arabellekte ise fiziksel dosyalardan bu
verileri tekrar okuma işlemi yapmaz.Bu şekilde işlem daha hızlı gerÇekleştirilir.

FETCH:
SQL select cümlelerinde ,execute aşamasını fetch aşaması yani
kayıt getirme işlemi takip eder. Bu aşamada execute aşamasında tespit edilen
kayıtlar eğer bir sıralama işlemi var ise sıralanarak yok ise normal şekilde
getirilir.

Böylece kısa bir şekilde Oracle da SQL cümleciklerinin nasıl bir mantıkla
işlendiğini öğrenmiş olduk.

Bir sonraki makalelerde görüşmek dileğiyle.

Tayfur BÖLER
Database Administrator

Mysql Thread Stack Overrun Hatasının Çözümü

Mysql Thread Stack Overrun Hatasının Üözümü,

GeÇenlerde yeni kurulum yaptığım bir mysql serverda insert işlemi yaparken
aşağıdaki hata kodu ile karşılaştım.

Hata Metni:

Thread stack overrun: 4728 bytes used of a 131072 byte stack, and 131072 bytes needed. Use ‘mysqld -O thread_stack=#’ to specify a bigger stack.

Üözümü:

/etc/my.cnf config dosyasını aÇıp
thread_stack=256K ifadesini ekleyip. Mysql server’ı restart ederseniz.Problem
Çözülmüş olur.

Tayfur BÖLER
Database Administrator

Mysql Data Export

Mysql Data Export,

Bu makalemde Mysql de sorgu sonuÇlarını .txt dosyasına nasıl export
edeceğimizi anlatacağım.

Script:

SELECT * FROM personel INTO OUTFILE ‘c:\personel.txt’

Script AÇıklama:

Yukarıdaki script , Personel tablosunun iÇindeki tüm kayıtları
c: diskinin iÇinde personel.txt dosyasının iÇine kaydeder.

Bir sonraki makalelerde görüşmek dileğiyle,
Tayfur BÖLER
Database Administrator

Mysql de CSV Dosyasından Insert Islemi

Mysql de CSV Dosyasından Insert Islemi,

.csv dosyasından mysql de herhangi bir tabloya insert işlemini
aşağıdaki şekilde yapabilirsiniz.

load data local infile ‘D:\deneme.csv’
into table deneme_tablo.deneme_database
fields escaped by ‘\’ terminated by ‘,’ lines terminated by ‘rn’ (`numara`);


Script AÇıklaması:

load data local infile ‘D:\deneme.csv’ –> iÇeri atılacak kaynak dosya
into table deneme_tablo.deneme_database –> iÇine data atılacak olan database ve tablo ismi
fields escaped by ‘\’ terminated by ‘,’ lines terminated by ‘rn’ (`numara`); –> kolon veya kolonların ismi

Bir sonraki makalelerde görüşmek dileğiyle,

Tayfur BÖLER
Database Administrator

Mssql2008 Backup ve Backup Job Videolu Anlatım

Mssql2008 Backup ve Backup Job Videolu Anlatım

Bu videolu anlatımda: Mssql 2008 de manuel backup alma ve otomatik
backup alma yani backup job işlemleri anlatılmaktadır.
NOT:Bu videoyu daha kaliteli izleyebilmek iÇin HQ tuşuna basınız.

Bir sonraki videolu anlatımda görüşmek dileğiyle,

Tayfur BÖLER
Database Administrator