SGA Bileşenleri yavaş yavaş tek tek açıklamalarımız uzun bir aradan sonra devam ediyor:)Umarım bir daha bu kadar ara vermem...Gerçi bu açıklamalar şimdi bazı okuyanlara anlaşılmaz gelse de ilerki konularda sorgularda bu cache kontrollerini yaptığımızda oluşan bilgilerle ne neyi gösteriyor diye açıkladığımızda tanımlar tam olarak yerine oturacaktır. Ama önce tanımlar :
Shared Pool adından da anlaşılacağı üzere paylaşım alanı. "Paylaşılabilecek herşey orada" cümlesi bize shared pool alanının kafamızda yer etmesine sebep olacağına eminim :)
Bu alanımızda daha önceden yapılmış olan sorguların çalıştırılması LRU (Least Recently Used)'da tutulur.
*LRU: Oracle' ın yeni bilgileri tutmak için yer ayırması gerekmektedir. Ve bu sebepten bir algoritma kullanmaktadır. Bu LRU olarak adlandırılır.
Ve böylece plan oluşturma kısmı atlanarak vakit kaybı engellenir. Mesela bir tabloya girme yetkisi olan iki kullanıcı varsa; birinin bu tabloya gitmek için harcadığı zamandan daha azı ile diğer kullanıcı aynı işlemleri gerçekleştirebilir.
Kendime Notlar Kıskanç Böcekler Dizisi! Sosyal Medya Maskeleri! sayfalarında sırası ile herşeyi anlattım. Anasayfadaki yorumlar, bu sayfaları okumadan anlamsız gelebilir. Unutursan okursun :)Dipnot: Yazılar küfür ve argo içermektedir! Gerçek adıma açılmış bir face, twitter, tiktok, snapchat, instagram, YouTube gibi sosyal medya hesabım yok! Copyright Ⓒ zeytunim
7 Ocak 2012 Cumartesi
12 Aralık 2011 Pazartesi
SGA Bileşenlerinden Redo Log Buffer Cache
Veritabanında herhangi bir değişiklik yaptığınızda bunun tutulduğu alan log buffer cache (logların tamponları)dır.
Bu alana yazılan veriler bir tabloda değiştirilen tek bir satır değildir.
Örn: Bir tabloda bir veriye UPDATE (güncelleme komutu : bunları daha sonra görecez) uygulandığında sadece yeni veri, log tamponunda tutulur. Eski veri UNDO tablolarına yazılır.
LGWR (Log Writer) işlemcisi log buffer cache'teki verileri disk üzerindeki redo günlüklerine yazar ve bu işlem bitene kadar veritabanı işlemleri yapılmasına izin vermez.Bazen birden çok kullanıcı olacağından bu işlem uzun sürer. Bu yüzden Log Buffer Cache'lere fazla Ram alanı ayrılmamalıdır.
Bu alana yazılan veriler bir tabloda değiştirilen tek bir satır değildir.
Örn: Bir tabloda bir veriye UPDATE (güncelleme komutu : bunları daha sonra görecez) uygulandığında sadece yeni veri, log tamponunda tutulur. Eski veri UNDO tablolarına yazılır.
LGWR (Log Writer) işlemcisi log buffer cache'teki verileri disk üzerindeki redo günlüklerine yazar ve bu işlem bitene kadar veritabanı işlemleri yapılmasına izin vermez.Bazen birden çok kullanıcı olacağından bu işlem uzun sürer. Bu yüzden Log Buffer Cache'lere fazla Ram alanı ayrılmamalıdır.
7 Aralık 2011 Çarşamba
Database Buffer Cache - Veritabanı Tamponu
SGA (System Global Area) bileşenlerinden veritabanı tamponu nedir?
Bizler SQL komutlarını çalıştırarak işlemler yaptığımızda değişiklikler direk veritabanına yazılmaz. İlk olarak veritabanı tamponu ( database buffer cache)'lere yazılırlar.Aynı şey sorgu işlemleri için de geçerlidir. Select komutunu çalıştırdığınızda önce verileri vertabanı tamponuna kopyalanır. Böylece veriler RAM'de olduğundan verilere daha hızlı erişiriz.
Bu konuda dikkat edilmesi gereken husus; Ram alanıdır. Yani veritabanı tamponu için gerekli RAM alanını iyi ayarlamalıyız. Gereğinden fazla Ram ayırmamız işlemlerimizi yavaşlatabilir.
Bugünden sonra bu şekilde kısa kısa açıklamalarla Oracle veritabanı yapısına göz atalım .
Bizler SQL komutlarını çalıştırarak işlemler yaptığımızda değişiklikler direk veritabanına yazılmaz. İlk olarak veritabanı tamponu ( database buffer cache)'lere yazılırlar.Aynı şey sorgu işlemleri için de geçerlidir. Select komutunu çalıştırdığınızda önce verileri vertabanı tamponuna kopyalanır. Böylece veriler RAM'de olduğundan verilere daha hızlı erişiriz.
Bu konuda dikkat edilmesi gereken husus; Ram alanıdır. Yani veritabanı tamponu için gerekli RAM alanını iyi ayarlamalıyız. Gereğinden fazla Ram ayırmamız işlemlerimizi yavaşlatabilir.
Bugünden sonra bu şekilde kısa kısa açıklamalarla Oracle veritabanı yapısına göz atalım .
4 Aralık 2011 Pazar
Hİçbirşey Yapmak İstenilmeyen Gün
Birkaç gündür hiçbirşey yapasım yok. Aslında hergün bildiklerimi sıra sıra buraya zamanımdan bir parça ayırarak yazacaktım ama bir durağanlık oluştu. Bugün beğendiğim ve çok önce okuduğum bir kitap aklıma geldi.
Çok uzun zaman önce 7. sınıf o zamanlar ortaokul dönemleri diyoruz:) Tutunamayanları okumuştum. Ben şahsen kendim almadım kitabı, her zamanki gibi bizim evin vitrinindeydi:) ve ben de çektim okumaya başladım. Bugün her nedense o kitap geldi aklıma. Kitapta Selim Işığın intiharını araştıran en yakın arkadaşının Selim'in gözü ile onun tanıdıkları ile tanışması ve bunun akabindeki olaylar. Selim hayatı sorgulamış ve tutunamamıştı. İntiharı seçmişti ki bu bana göre yanlış bir sonuç neden mi? Çünki sorgularında yanlış yerlere bakmış ve cevaplar bulamayınca burda kalmayı manasız bulmuştu.
Ama "Tutunamayanlar" kitabını herkese tavsiye ederim. Çünki hayatı boş yaşayan o kadar insan var ki; en azından biraz olsun sorgulamaya başlayabilirler. Sakın sorgularken Selim gibi çıkmaz sokağa girip te kendi etrafınızda dönmeyin? tamam mı :)
Not: Bu arada o kitabı bir daha okumayı düşünüyorum çünki aradan baya zaman geçmiş ve kendimi ara ara bulduğum kitaplardan biriydi diyebilirim.
28 Kasım 2011 Pazartesi
Oracle SQL*PLUS
2 Hafta ne çabuk ta geçmiş :)
Evet şimdi birçok veritabanı yönetimi için ilk tercih edilen program SQL*PLUS kullanımına giriş yapalım:
veya SQLPLUS kullannıcı_adı/parola
Buradaki kullanıcı adı veritabanı kullanıcı adıdır.
Eğer Oracle programının kurulu olduğu yerde yer alan TNSNAMES.ORA dosyasında veritabanı_bağlantı_adı olarak yazdığımız isim ve ona ait bağlantı bilgileri yoksa bağlanmak istediğinizde hata alırsınız. Böyle durumlarda ismin yerine uzaktaki bilgisayarın IP numarasnı yazmalısınız.
Bundan sonraki kısımda bağlantı yapılırken kullanılacak kullanıcı bilgileri ve kullanıcı oluşturma olacaktır.
Evet şimdi birçok veritabanı yönetimi için ilk tercih edilen program SQL*PLUS kullanımına giriş yapalım:
- Başlat (Start)-Programlar (All programs) yönergelerini tıklayalım.
- Oracle yüklediğimiz için programlar menüsü açıldığında karşınıza Oracle-OraDB10g_home1 (buradaki 1 rakamı değişken olabilir çünki siz veritabanını kurarkenki verilen isimdir) çıkacaktır.Buradan Application Development seçeneğinden SQL*PLUS öğesini hemen bulabilirsiniz.
- Eğer SQL*PLUS öğesine komut sisteminden giriş yapmak isterseniz. Çalıştır(Run) yerine cmd yazın çıkan konsola sqlplus /nolog yazıp çalıştırdığınızda SQL*PLUS açılacaktır.
- Uzaktaki bir veritabanına bağlanmak istediğinizde komut satırını şöyle yazmalısınız;
veya SQLPLUS kullannıcı_adı/parola
Buradaki kullanıcı adı veritabanı kullanıcı adıdır.
Bundan sonraki kısımda bağlantı yapılırken kullanılacak kullanıcı bilgileri ve kullanıcı oluşturma olacaktır.
11 Kasım 2011 Cuma
2 Hafta Oracle Yok Galiba :)
Araya bayramın girmesi ve benim yoğunluğum derken bu ara blog'ta birşeyler yazmıyor olmak beni tembel olarak hissettirdi. Not defterime bu iki hafta içinde neden burda yoktum diye yazmazsam eğer sonradan kontrol ettiğimde kendimi kötü hissedebilirim değil mi ?:)
Üç gündür bilgisayarımı temizlemekle uğraşıyorum. İyice paranoyaklık yapıyorum galiba ama :) antivirüs olmadan nasıl temizlerim diye baktım tabi işe yaradı. Ama paranoya devam edince çek bir format dedim :)
Şimdi bilgisayarımda herşeye yeni baştan diyoruz...
Ve bilmeniz gerekenler diye sıralıyorum ;
Üç gündür bilgisayarımı temizlemekle uğraşıyorum. İyice paranoyaklık yapıyorum galiba ama :) antivirüs olmadan nasıl temizlerim diye baktım tabi işe yaradı. Ama paranoya devam edince çek bir format dedim :)
Şimdi bilgisayarımda herşeye yeni baştan diyoruz...
Ve bilmeniz gerekenler diye sıralıyorum ;
- Bu ara trojen'ler haricinde keylogger'lar çok yaygın. Antivirüslere yakalanmazlar. Programlamaları çok kolaydır. Pc'nize bulaştı mı sizin klavyede yazdıklarınızı karşı tarafa gönderir. Ama bunu anlamak kolay hali ile: Tabi bilinmeyen yeni keylogger'lar çıktıysa onu bilemem (mesela özel yazımlar) ctrl+alt+del yaptığınızda çalışan işlemcilere baktığınızda System'in karşısında system yoksa keylogger'ınız vardır. Silmek için de nette araştırma yaparsanız bir ton çözüm var.
- Trojen'ler var olduklarını anlamak ve silmekle ilgili yazmak biraz sürer. O yüzden onu sonraya bırakıyoruz. Bİlgisayarınızda trojen varsa , bulaştıran kişinin sizin bilgisayara uzaktan izlemesini sağlar. Varlıklarının en anlaşılır yanı sistemi geri alamazsınız. Bunun haricinde daha birçok belirtisi vardır. Ama şimdi biz bunlara değinmeyeceğiz.
16 Ekim 2011 Pazar
Oracle Ortam Değişkeni Ayarları
Bugün napıyoruz?
SQL*Plus programını herhangi bir Windows komut sisteminde doğrudan çalıştırmak için; Windows ortam değişkenlerine %ORACLE_HOME% için bir ekleme yapmalıyız.
Napıyoruz ? Önce adım adım anlatıyoruz sonra Video yayımlıyoruz :)
Anlatımda Türkçe seçenekler olarak anlatıyorum. Ancak bilgisayarım ingilizce olduğundan video'da seçenekler ingilizce çıkacaktır.
2. Dizideki en son tıklamış olduğumuz KEY_OraDb10g_Home'un sağ tarafında bazı bilgilerin yer aldığını göreceksiniz. Oradan ORACLE_HOME seçeneğini çift tıklayın. Çıkan metin kutusunda yer alan "Değer Verisi" kutusunun içindeki metni kopyalayın.
3. Ve bilgisayarınızda sistem özelliklerine gelin ;
Başlat - Çalıştır kısmına "sysdm.cpl" yazarak gelebilirsiniz.
4. Açılan pencereden "Gelişmiş" menüsünü seçin. Oradan "Ortam Değişkenleri"ne gelin.
5. Ortam değişkenleri penceresinde alt kısımda " Sistem Değişkenleri" listesinde Windows ortam değişkenlerini göreceksiniz. Pencerein alt kısmındaki "Yeni" sekmesine tıklayın. Açılan pencerede;
Değişken Adı'na "%ORACLE_HOME%" tırnaklar olmayacak şekilde yazın.
Değişken Değeri'ne daha önce kopyalayın dediğim metni yapıştırın. Tamam tuşuna basarak pencereden çıkın.
İşlem tamamlanmıştır. Kolay gelsin.
SQL*Plus programını herhangi bir Windows komut sisteminde doğrudan çalıştırmak için; Windows ortam değişkenlerine %ORACLE_HOME% için bir ekleme yapmalıyız.
Napıyoruz ? Önce adım adım anlatıyoruz sonra Video yayımlıyoruz :)
Anlatımda Türkçe seçenekler olarak anlatıyorum. Ancak bilgisayarım ingilizce olduğundan video'da seçenekler ingilizce çıkacaktır.
- Windows'un "Başlat" menüsünden "Çalıştır" seçeneğine gidiyoruz. Ve metin kutusuna "regedit" yazıyoruz. Karşımıza Kayıt defteri düzenleyicisi çıkacaktır. Sol taraftaki menüleri şu şekilde açıyoruz :
2. Dizideki en son tıklamış olduğumuz KEY_OraDb10g_Home'un sağ tarafında bazı bilgilerin yer aldığını göreceksiniz. Oradan ORACLE_HOME seçeneğini çift tıklayın. Çıkan metin kutusunda yer alan "Değer Verisi" kutusunun içindeki metni kopyalayın.
3. Ve bilgisayarınızda sistem özelliklerine gelin ;
Başlat - Çalıştır kısmına "sysdm.cpl" yazarak gelebilirsiniz.
4. Açılan pencereden "Gelişmiş" menüsünü seçin. Oradan "Ortam Değişkenleri"ne gelin.
5. Ortam değişkenleri penceresinde alt kısımda " Sistem Değişkenleri" listesinde Windows ortam değişkenlerini göreceksiniz. Pencerein alt kısmındaki "Yeni" sekmesine tıklayın. Açılan pencerede;
Değişken Adı'na "%ORACLE_HOME%" tırnaklar olmayacak şekilde yazın.
Değişken Değeri'ne daha önce kopyalayın dediğim metni yapıştırın. Tamam tuşuna basarak pencereden çıkın.
İşlem tamamlanmıştır. Kolay gelsin.
8 Ekim 2011 Cumartesi
HTC Wireless Bağlantı Sorunu
HTC'den Airties modem bulunan bir ortamda wireless bağlantı sorunu yaşadım. E hali ile yine çözümü buldum :) (Her ne kadar sinir etse de beni ) Hali ile çözümünü bulduğum problemlerle daha sonra karşılaştığımda "ya ben nasıl çözmüştüm" dediğim çok olur. E burası da benim not defterim olduğuna göre :) ; Haydi buyrun çözüme :
Bu arada ubuntu işletim sistemi yüklü bir bilgisayarla da bu sorunu yaşayabilirsiniz aynı çözüm kendisi için de geçerlidir.
Bu arada ubuntu işletim sistemi yüklü bir bilgisayarla da bu sorunu yaşayabilirsiniz aynı çözüm kendisi için de geçerlidir.
- Modem ayarlarına admin olarak giriyorsunuz
- Mac filitreleme etkinse kaldırıyorsunuz.
- IP yönlendirme etkinse kaldırıyorsunuz.
- Kablosuz ağ güvenlik ayarlarını WPA2 yapıyorsunuz
- Telefonunuzu ve modemi yeni baştan başlatın sorun çözülecektir.
3 Ekim 2011 Pazartesi
Oracle Veritabanı Sunucusunun Çalışmasını Sağlayan Etmenler
Öncelikle video eklemek resim eklemekten daha iyi diyerekten. Artık video'larla anlattıklarımı belirtmeye karar verdim. O sebepten bilgisayarımdan Oracle'ı kaldırdım ve birazdan tekrar yükleyeceğim video'ya kaydetmeyi güzelcene başarabilirsem bugün eklerim.
Ondan önce Oracle ile ilgili bazı teorik kavramlara bakalım :
Oracle sunucusu çalışırken RAM ve CPU'yu kullanır. Oracle Server'ın çalışmasını sağlayan ve harddisklerde var olan veri dosyalarına= datafile erişilmesini sağlayan bileşene instance denir. Instance RAM'i belirli alanları kullanmak için ayırır. Instance veritabanı kapatıldığı zaman sistemden silinen bileşenlerden oluşur. Kaydedilen verilerse yane datafile 'larımız disk üzerinde ve kalıcıdır. Oracle kapatılsa da onlar tekrar başlatıldığında kullanıma hazırdır.
Oracle Instance Bileşenleri
1. Ram üzerindeki System Global Area (SGA) bellek yapısı
2. Ram üzerindeki Program Global Area (PGA) bellek yapısı
3. Bazı process'ler
System Global Area:
Veritabanının sistem belleği (RAM) üzerindeki paylaşılan bellek:Shared Memory alanında kendisine ayırdığı alanın genel adıdır.
SGA bileşenleri şunlardır;
Veritabanına bağlanan herbir kullanıcının çalıştığı SQL komutlarının sonuçları, sistem RAM'i üzerinde paylaşılmayan bir bölge olan private area yane özel alanda saklanır. Bu konumdaki kullandığı alana PGA denir.
Veritabanına bağlanan kullanıcı hangi SQL aracını kullanırsa kullansın, herbir oturumun veritabanından aldığı ve verdiği bilgiler o oturumda görünür. Bir kullanıcının diğer bir kullanıcının oturumundaki verileri görmesi mümkün değildir. Bu yüzden veriler paylaşılmayan alanda saklanır.
Ondan önce Oracle ile ilgili bazı teorik kavramlara bakalım :
Oracle sunucusu çalışırken RAM ve CPU'yu kullanır. Oracle Server'ın çalışmasını sağlayan ve harddisklerde var olan veri dosyalarına= datafile erişilmesini sağlayan bileşene instance denir. Instance RAM'i belirli alanları kullanmak için ayırır. Instance veritabanı kapatıldığı zaman sistemden silinen bileşenlerden oluşur. Kaydedilen verilerse yane datafile 'larımız disk üzerinde ve kalıcıdır. Oracle kapatılsa da onlar tekrar başlatıldığında kullanıma hazırdır.
Oracle Instance Bileşenleri
1. Ram üzerindeki System Global Area (SGA) bellek yapısı
2. Ram üzerindeki Program Global Area (PGA) bellek yapısı
3. Bazı process'ler
System Global Area:
Veritabanının sistem belleği (RAM) üzerindeki paylaşılan bellek:Shared Memory alanında kendisine ayırdığı alanın genel adıdır.
SGA bileşenleri şunlardır;
- Veritabanı tamponu (buffer cache)
- Log Tamponu (Log Buffer)
- Paylaşılan Havuz (Shared Pool)
- Geniş Havuz (Large Pool)
- Java için Havuz (Java Pool)
Veritabanına bağlanan herbir kullanıcının çalıştığı SQL komutlarının sonuçları, sistem RAM'i üzerinde paylaşılmayan bir bölge olan private area yane özel alanda saklanır. Bu konumdaki kullandığı alana PGA denir.
Veritabanına bağlanan kullanıcı hangi SQL aracını kullanırsa kullansın, herbir oturumun veritabanından aldığı ve verdiği bilgiler o oturumda görünür. Bir kullanıcının diğer bir kullanıcının oturumundaki verileri görmesi mümkün değildir. Bu yüzden veriler paylaşılmayan alanda saklanır.
1 Ekim 2011 Cumartesi
Oracle Kurulum Öncesi Yapılacaklar
Uzun bir aradan sonra merhaba:)Evet şimdi Windows işletim sisteminde kurulumu yapmadan önce yeni bir kullanıcı oluşturup bu kullanıcı ile oturum açacaz. Bunu yapmamızın sebebi sistem kullanıcısı ile veritabana yöneticisi arasını açıp onları birbirine düşürmektir :)) şaka bir yana güvenliği sağlar..Birbirine düşürmek değil araya bir duvar örmektir.
1. Oturumunuzu yönetici olarak açın.
2.My Computer (Bilgisayarım) simgesinin üzerine sağ tıklayın ve çıkan "manage" (yönet) ibaresini seçin. Computer Management konsolu karşınıza çıkacaktır.
3. Sol tarafta listede "local users and groups" öğesini tıklayın
4. Çıkan seçeneklerde "Groups" öğesini tıklayın
5.Sağ tarafta açılan listede boşluğa gelip fareyi sağ tıklayın ve "new group" deyin.
6.Group name kutusuna "dba" yazın (tırnaklar olmasın) :) "create" tuşu ile grubu oluşturun
7.Sol taraftaki bu sefer "users" öğesini tıklayın. Ve sağ tarafta boş bir yere tıklayarak "new users" seçeneğini tıklayın.
8. Çıkan kutuda "user name" kutusuna "oracle" yazın. "password" kısmına belirleyeceğiniz şifreyi yazın.
9."use must change password at netxt logon" seçili olmasın.
10.Computer management bölmesinin sağında oluşturulan "oracle" kullanıcısını göreceksiniz.Onu çift tıklayın ve "member off" sekmesini tıklayın.
11. Add tuşuna tıklayın ve ordaki "select groups" menüsünde "enter object names to select" metin kutusuna "dba" yazın. Check names tuşuna tıklayın. Metin kutusunda kullanıcı adı "bilgisayarınızın adı\kullanıcı adı" biçiminde çıkacaktır.
12.Şimdi tekrar sağ bölmedi oracle kullanıcısını tıklayın, member off sekmesini seçin. Add düğmesine basın ve select groups penceresinde "enter object names to select" kutusuna Administrator yazın. Bu adım oracle kullanıcısını administrator grubuna üye yapar. Registry ayarlarını yazma hakkını Oracle verir ki bu gereklidir.
Not:Görselleri yarın yükleyeceğim şimdilik bunlar:) Çünki az önce bilgisayarım çöktü ve yeniledim hepimize geçmiş olsun :) gerçi sadece zaman kaybettirdi bana bugün...
1. Oturumunuzu yönetici olarak açın.
2.My Computer (Bilgisayarım) simgesinin üzerine sağ tıklayın ve çıkan "manage" (yönet) ibaresini seçin. Computer Management konsolu karşınıza çıkacaktır.
3. Sol tarafta listede "local users and groups" öğesini tıklayın
4. Çıkan seçeneklerde "Groups" öğesini tıklayın
5.Sağ tarafta açılan listede boşluğa gelip fareyi sağ tıklayın ve "new group" deyin.
6.Group name kutusuna "dba" yazın (tırnaklar olmasın) :) "create" tuşu ile grubu oluşturun
7.Sol taraftaki bu sefer "users" öğesini tıklayın. Ve sağ tarafta boş bir yere tıklayarak "new users" seçeneğini tıklayın.
8. Çıkan kutuda "user name" kutusuna "oracle" yazın. "password" kısmına belirleyeceğiniz şifreyi yazın.
9."use must change password at netxt logon" seçili olmasın.
10.Computer management bölmesinin sağında oluşturulan "oracle" kullanıcısını göreceksiniz.Onu çift tıklayın ve "member off" sekmesini tıklayın.
11. Add tuşuna tıklayın ve ordaki "select groups" menüsünde "enter object names to select" metin kutusuna "dba" yazın. Check names tuşuna tıklayın. Metin kutusunda kullanıcı adı "bilgisayarınızın adı\kullanıcı adı" biçiminde çıkacaktır.
12.Şimdi tekrar sağ bölmedi oracle kullanıcısını tıklayın, member off sekmesini seçin. Add düğmesine basın ve select groups penceresinde "enter object names to select" kutusuna Administrator yazın. Bu adım oracle kullanıcısını administrator grubuna üye yapar. Registry ayarlarını yazma hakkını Oracle verir ki bu gereklidir.
Not:Görselleri yarın yükleyeceğim şimdilik bunlar:) Çünki az önce bilgisayarım çöktü ve yeniledim hepimize geçmiş olsun :) gerçi sadece zaman kaybettirdi bana bugün...
Kaydol:
Kayıtlar (Atom)
