ORACLE 11G
YÖNETİCİ
GÖREVLERİ
13.05.2014Emre AYTEN 1
Oracle DBA (Database Administrator-Veritabanı Yöneticisi)
denildiği zaman akla gelen; veritabanının günlük bakım ve yönetimini
gerçekleş­tiren, yazılım departmanıyla koordineli olarak veritabanı
şemaları, tab­loları ve index gibi nesneler oluşturup bunlar üzerinde
değişiklikler gerçekleştiren kişidir.
ORACLE 11G YÖNETİCİSİ KİMDİR?
13.05.2014Emre AYTEN 2
ORACLE 11G YÖNETİCİSİNİN GÖREVLERİ NELERDİR?
1- Veritabanı yazılımının kurulması ve güncellemeler.
2- Veritabanı oluşturulması.
3- Veritabanı başlatma/durdurma.
4- Kullanıcıları ekleme ve yetkilendirme.
5- Veritabanı performans ayarları.
13.05.2014Emre AYTEN 3
Bir Oracle 11 g veritabanı sunucusu çalışır durumdayken, sistem
belle­ğini (RAM) ve işlemcisini {CPU) kullanan bi­leşenlere sahiptir.
Oracle 11 g Database Server’ın çalışmasını sağlayan ve disklerde yer
alan veri dosyalarına (datafile) erişilmesini mümkün kılan bileşene
instance (çalışan örnek) adı verilmektedir.
Oracle 11 g veritabanında instance, RAM üzerinde belirli alanları
kullanım için ayırır, ayrıca çeşitli arka plan process’lerini (işlemler)
kullanarak veritabanın çalışmasını sağlar.
Oracle 11 g instance, veritabanı kapatıldığı zaman sistemden tamamen
silinen bileşenlerden oluşur. Kaydedilmiş olan verileri barındıran
datafile dosyaları ise disk üzerindedir ve kalıcıdır. Oracle 11 g
veritabanını kapatsanız bile bu dosyalar yerlerinde dururlar ve
veritabanını bir sonraki başlatmanızda yeniden kullanıma hazır olurlar.
Oracle 11 G Veritabanı Sunucusunun Çalışmasını Sağlayan Bileşenler
4
ORACLE 11G BİLEŞENLERİ
13.05.2014Emre AYTEN 5
• RAM üzerindeki System Global Area (SGA) bellek yapısı
• RAM üzerindeki Program Global Area (PGA) bellek yapısı
• Çeşitli arka plan process’leri
ORACLE 11G BİLEŞENLERİ
13.05.2014Emre AYTEN 6
SYSTEM GLOBALAREA (SGA)BELLEK YAPISI
13.05.2014Emre AYTEN
7
Oracle 11 g veritabanının sistem belleği (RAM) üzerindeki
Paylaşılan Bellek (Shared Memory) alanında kendisine ayırıp kullandığı
alanın genel adı, System Global Area (SGA) olarak adlandırılır. SGA
bileşenlerinin en önemlileri şu şekilde sıralanabilir:
• Veritabanı tamponu (buffer cache)
• Log tamponu (log buffer)
• Paylaşılan havuz (shared pool)
• Geniş havuz (large pool)
• Java havuzu (Java pool)
SYSTEM GLOBALAREA (SGA)BELLEK YAPISI
13.05.2014Emre AYTEN 8
Çalışmakta olan bir Oracle 11 g veritabanında, adı geçen bu SGA bileşenlerini
görüntülemek isterseniz, şu sorguyu çalıştırabilirsiniz:
SELECT COMPONENT FROM V$ SGA_DYNAMIC_COMPONENTS;
13.05.2014Emre AYTEN 9
VERİTABANI TAMPONU (DATABASE BUFFER CACHE)
13.05.2014Emre AYTEN 10
VERİTABANI TAMPONU (DATABASE BUFFER CACHE)
Kullanıcı oturumları, SQL komutlarını çalıştırarak tablolar
üzerinde INSERT, UPDATE, DELETE işlemleri yaptıkları zaman,
oluşan değişiklikler doğrudan verit abanı dosyalarına yazılmazlar.
Bunun yerine değişiklikler, ilk olarak veri tabanı tamponuna kaydedilir.
Benzer şekilde, bir SELECT sorgusuyla veri okunacağı zaman
user process (kullanıcı işlemi) ilgili satırlardaki verileri disk üzerinde
bulunan dosyalar içinde bulur ve onları veri tabanı tampon bölgesine
kopyalar. Böylece, bu verilere tekrar erişilmesi gerekirse, RAM’e
yerleşmiş oldukları için çok daha hızlı bir erişim gerçekleşir.
13.05.2014Emre AYTEN 11
Sonuç olarak; ister DML komutlarıyla veri ekleme, silme veya
güncelleme yapılsın istersen SELECT cümleleri ile sorgular
gerçekleştirilsin tüm SQL sorgulan veri tabanı tamponundan geçerler.
VERİTABANI TAMPONU (DATABASE BUFFER CACHE)
13.05.2014Emre AYTEN 12
LGG TAMPONU (LOG BUFFER)
13.05.2014Emre AYTEN 13
LGG TAMPONU (LOG BUFFER)
Log tamponu, çok sık aralıklarla verilerin giriş-çıkış yaptıkları
bir bellek alanıdır.
Bu alan yazılan veriler örneğin, bir tabloda değiştirilen bir
satırın tamamı değildir. Sadece değişim verisi (delta) log belleğine
yazılırlar.
LGWR process'i log tamponundaki verileri gerçek zamanlı
olarak disk üstündeki redo günlüklerine yazar ve bu işlem tamamlanana
kadar veritabanı askıda kalarak yeni DML işlemleri yapılmasına izin
vermez.
Tampon bellekte birden çok kullanıcı tarafından gerçekleştirilen
veri değişimine ait delta verisi olacağı ve hepsi bir kerede yazılacağı için
bu işlem uzun sürebilir. Bu sebeple, log tamponuna çok fazla RAM alanı
ayırmak doğru değildir.
13.05.2014Emre AYTEN 14
SGA bellek yapısının bir diğer bileşeni olan Paylaşılan
Havuz, kendi içinde alt bileşenlere ayrılmaktadır. Bu önemli
bileşenleri şu şekilde sıralayabiliriz:
• Kitaplık Tamponu (Library Cache)
• Veri Sözlük Tamponu (Data Dictionary Cache)
• PL/SQL Alanı
• SQL Sorgu Tamponu ve PL/SQL Fonksiyon Sonuç Tamponu
PAYLAŞILAN HAVUZ (SHARED POOL)
13.05.2014Emre AYTEN 15
Yakın geçmişte çalıştırılan SQL kodlarının derlenmiş ve sonuç
vermeye hazır biçimde depolandığı bellek alanıdır.
Oracle veri tabanı da bir tabloya erişirken öncelikle bu tablonun
tanımına ihtiyaç duyar.
Bu şekilde, en son erişilen tablo, index, kullanıcı ve benzeri
nesnelerin tanımlarının depolanması için ayrılan bellek yapısına veri
sözlük tamponu adı verilmektedir.
KİTAPLIK TAMPONU
VERİ SÖZLÜK TAMPONU
13.05.2014Emre AYTEN 16
Depolanmış prosedürler, Oracle veritabanının vazgeçilmez
parçalandır. Bir PL/SQL nesnesi, prosedür, fonksiyon, paketlenmiş
prosedür ve fonksiyonlardan oluşabilir.
En son çalıştırmanın PL/SQL nesneleri, ham halleriyle ve
derlenmiş halleriyle PL/SQL Alanı adı verilen bellek yapısında
depolanırlar.
Böylece fiziksel disk üzerinde yer alan Veri Sözlüğü’nden
(Data Dictionary) okunmak yerine, daha hızlı sonuç verecek
biçimde Veri Sözlük Tamponundan okunurlar.
PL/SQLAlanı
13.05.2014Emre AYTEN 17
Çalıştırılan SQL sorgularının sonuçlarının RAM üzerinde depolandığı
bellek yapısı SQL Sorgu Tamponu olarak adlandırılmaktadır. Eğer bir kullanıcı
tarafından çalıştırılan sorgunun aynısı, başka bir kullanıcı tarafından da
çalıştırılırsa bu tampondan okunarak daha hızlı biçimde kullanıcıya döndürülür.
Aynı durum, çalıştırılan PL/SQL fonksiyonları için de geçerlidir. En
son çalıştırılan PL/SQL fonksiyonlarının sonuçları PL/SQL Fonksiyon Sonuç
Tamponu’nda saklanırlar, böylece aynı PL/SQL fonksiyonu farklı kullanıcılar
tarafından da çalıştırılırsa tampondaki değerler döndürülecektir.
SQL SORGU TAMPONU VE PL/SQL FONKSİYON SONUÇ TAMPONU
13.05.2014Emre AYTEN 18
Oracle Database Server process’leri tarafından ihtiyaç duyulan RAM
bellek, geniş havuz alanı olarak ayrılan bölümde kullanılabilmektedir. Bu
process’ler örneğin RM AN (Recovery Manager-Kurtarma Yöneticisi)
olabileceği gibi, Oracle RAC (Real Application Clusters-Gerçek Uygulama
Kümeleri) ortamında çalışan paralel işlemler de olabilirler.
Eğer geniş havuz belleğine sistem RAM belleğinden belirli bir miktar
alan ayırmazsanız, bahsedilen bu process’ler paylaşılan havuz alanını
kullanacaklardır.
GENİŞ HAVUZ (LARGE POOL)
13.05.2014Emre AYTEN 19
Veritabanında saklanmış bulunan Java tabanlı prosedürlerine
sahipseniz, bu prosedürler Java havuzu alanındaki belleği kullanırlar.
Fakat burada bir yanlış anlaşılma olmasın, Java prosedürleri Java
havuzunda ayrılan belleği kullanarak çalışmazlar.
Java havuzu, sadece Java prosedürler başlatılırken tanımlama
bilgilerinin yüklenmesi için kullanılmaktadır.
JAVA HAVUZU (JAVA POOL)
13.05.2014Emre AYTEN 20
Oracle 11 g veritabanına bağlanan her bir kullanıcının çalıştırdığı
SQL komutlarının sonuçlan, sistem RAM’i üzerinde paylaşılmayan bir
bölge olan private area (özel alan) içinde saklanırlar.
Oracle veritabanının bu bölgede kullandığı alan ise PGA
(Program Global Area) olarak adlandırılmaktadır.
Program Global Area (PGA) BELLEK YAPISI
13.05.2014Emre AYTEN 21
Çalışmakta olan Oracle 11 g veritabanının geçerli PGA yapısını görüntülemek
için şu sorguyu kullanabilirsiniz:
SELECT * FROM V$PGASTAT
ORDER BY VALUE;
Program Global Area (PGA) BELLEK YAPISI
22

Oracle11g

  • 1.
  • 2.
    Oracle DBA (DatabaseAdministrator-Veritabanı Yöneticisi) denildiği zaman akla gelen; veritabanının günlük bakım ve yönetimini gerçekleş­tiren, yazılım departmanıyla koordineli olarak veritabanı şemaları, tab­loları ve index gibi nesneler oluşturup bunlar üzerinde değişiklikler gerçekleştiren kişidir. ORACLE 11G YÖNETİCİSİ KİMDİR? 13.05.2014Emre AYTEN 2
  • 3.
    ORACLE 11G YÖNETİCİSİNİNGÖREVLERİ NELERDİR? 1- Veritabanı yazılımının kurulması ve güncellemeler. 2- Veritabanı oluşturulması. 3- Veritabanı başlatma/durdurma. 4- Kullanıcıları ekleme ve yetkilendirme. 5- Veritabanı performans ayarları. 13.05.2014Emre AYTEN 3
  • 4.
    Bir Oracle 11g veritabanı sunucusu çalışır durumdayken, sistem belle­ğini (RAM) ve işlemcisini {CPU) kullanan bi­leşenlere sahiptir. Oracle 11 g Database Server’ın çalışmasını sağlayan ve disklerde yer alan veri dosyalarına (datafile) erişilmesini mümkün kılan bileşene instance (çalışan örnek) adı verilmektedir. Oracle 11 g veritabanında instance, RAM üzerinde belirli alanları kullanım için ayırır, ayrıca çeşitli arka plan process’lerini (işlemler) kullanarak veritabanın çalışmasını sağlar. Oracle 11 g instance, veritabanı kapatıldığı zaman sistemden tamamen silinen bileşenlerden oluşur. Kaydedilmiş olan verileri barındıran datafile dosyaları ise disk üzerindedir ve kalıcıdır. Oracle 11 g veritabanını kapatsanız bile bu dosyalar yerlerinde dururlar ve veritabanını bir sonraki başlatmanızda yeniden kullanıma hazır olurlar. Oracle 11 G Veritabanı Sunucusunun Çalışmasını Sağlayan Bileşenler 4
  • 5.
  • 6.
    • RAM üzerindekiSystem Global Area (SGA) bellek yapısı • RAM üzerindeki Program Global Area (PGA) bellek yapısı • Çeşitli arka plan process’leri ORACLE 11G BİLEŞENLERİ 13.05.2014Emre AYTEN 6
  • 7.
    SYSTEM GLOBALAREA (SGA)BELLEKYAPISI 13.05.2014Emre AYTEN 7
  • 8.
    Oracle 11 gveritabanının sistem belleği (RAM) üzerindeki Paylaşılan Bellek (Shared Memory) alanında kendisine ayırıp kullandığı alanın genel adı, System Global Area (SGA) olarak adlandırılır. SGA bileşenlerinin en önemlileri şu şekilde sıralanabilir: • Veritabanı tamponu (buffer cache) • Log tamponu (log buffer) • Paylaşılan havuz (shared pool) • Geniş havuz (large pool) • Java havuzu (Java pool) SYSTEM GLOBALAREA (SGA)BELLEK YAPISI 13.05.2014Emre AYTEN 8
  • 9.
    Çalışmakta olan birOracle 11 g veritabanında, adı geçen bu SGA bileşenlerini görüntülemek isterseniz, şu sorguyu çalıştırabilirsiniz: SELECT COMPONENT FROM V$ SGA_DYNAMIC_COMPONENTS; 13.05.2014Emre AYTEN 9
  • 10.
    VERİTABANI TAMPONU (DATABASEBUFFER CACHE) 13.05.2014Emre AYTEN 10
  • 11.
    VERİTABANI TAMPONU (DATABASEBUFFER CACHE) Kullanıcı oturumları, SQL komutlarını çalıştırarak tablolar üzerinde INSERT, UPDATE, DELETE işlemleri yaptıkları zaman, oluşan değişiklikler doğrudan verit abanı dosyalarına yazılmazlar. Bunun yerine değişiklikler, ilk olarak veri tabanı tamponuna kaydedilir. Benzer şekilde, bir SELECT sorgusuyla veri okunacağı zaman user process (kullanıcı işlemi) ilgili satırlardaki verileri disk üzerinde bulunan dosyalar içinde bulur ve onları veri tabanı tampon bölgesine kopyalar. Böylece, bu verilere tekrar erişilmesi gerekirse, RAM’e yerleşmiş oldukları için çok daha hızlı bir erişim gerçekleşir. 13.05.2014Emre AYTEN 11
  • 12.
    Sonuç olarak; isterDML komutlarıyla veri ekleme, silme veya güncelleme yapılsın istersen SELECT cümleleri ile sorgular gerçekleştirilsin tüm SQL sorgulan veri tabanı tamponundan geçerler. VERİTABANI TAMPONU (DATABASE BUFFER CACHE) 13.05.2014Emre AYTEN 12
  • 13.
    LGG TAMPONU (LOGBUFFER) 13.05.2014Emre AYTEN 13
  • 14.
    LGG TAMPONU (LOGBUFFER) Log tamponu, çok sık aralıklarla verilerin giriş-çıkış yaptıkları bir bellek alanıdır. Bu alan yazılan veriler örneğin, bir tabloda değiştirilen bir satırın tamamı değildir. Sadece değişim verisi (delta) log belleğine yazılırlar. LGWR process'i log tamponundaki verileri gerçek zamanlı olarak disk üstündeki redo günlüklerine yazar ve bu işlem tamamlanana kadar veritabanı askıda kalarak yeni DML işlemleri yapılmasına izin vermez. Tampon bellekte birden çok kullanıcı tarafından gerçekleştirilen veri değişimine ait delta verisi olacağı ve hepsi bir kerede yazılacağı için bu işlem uzun sürebilir. Bu sebeple, log tamponuna çok fazla RAM alanı ayırmak doğru değildir. 13.05.2014Emre AYTEN 14
  • 15.
    SGA bellek yapısınınbir diğer bileşeni olan Paylaşılan Havuz, kendi içinde alt bileşenlere ayrılmaktadır. Bu önemli bileşenleri şu şekilde sıralayabiliriz: • Kitaplık Tamponu (Library Cache) • Veri Sözlük Tamponu (Data Dictionary Cache) • PL/SQL Alanı • SQL Sorgu Tamponu ve PL/SQL Fonksiyon Sonuç Tamponu PAYLAŞILAN HAVUZ (SHARED POOL) 13.05.2014Emre AYTEN 15
  • 16.
    Yakın geçmişte çalıştırılanSQL kodlarının derlenmiş ve sonuç vermeye hazır biçimde depolandığı bellek alanıdır. Oracle veri tabanı da bir tabloya erişirken öncelikle bu tablonun tanımına ihtiyaç duyar. Bu şekilde, en son erişilen tablo, index, kullanıcı ve benzeri nesnelerin tanımlarının depolanması için ayrılan bellek yapısına veri sözlük tamponu adı verilmektedir. KİTAPLIK TAMPONU VERİ SÖZLÜK TAMPONU 13.05.2014Emre AYTEN 16
  • 17.
    Depolanmış prosedürler, Oracleveritabanının vazgeçilmez parçalandır. Bir PL/SQL nesnesi, prosedür, fonksiyon, paketlenmiş prosedür ve fonksiyonlardan oluşabilir. En son çalıştırmanın PL/SQL nesneleri, ham halleriyle ve derlenmiş halleriyle PL/SQL Alanı adı verilen bellek yapısında depolanırlar. Böylece fiziksel disk üzerinde yer alan Veri Sözlüğü’nden (Data Dictionary) okunmak yerine, daha hızlı sonuç verecek biçimde Veri Sözlük Tamponundan okunurlar. PL/SQLAlanı 13.05.2014Emre AYTEN 17
  • 18.
    Çalıştırılan SQL sorgularınınsonuçlarının RAM üzerinde depolandığı bellek yapısı SQL Sorgu Tamponu olarak adlandırılmaktadır. Eğer bir kullanıcı tarafından çalıştırılan sorgunun aynısı, başka bir kullanıcı tarafından da çalıştırılırsa bu tampondan okunarak daha hızlı biçimde kullanıcıya döndürülür. Aynı durum, çalıştırılan PL/SQL fonksiyonları için de geçerlidir. En son çalıştırılan PL/SQL fonksiyonlarının sonuçları PL/SQL Fonksiyon Sonuç Tamponu’nda saklanırlar, böylece aynı PL/SQL fonksiyonu farklı kullanıcılar tarafından da çalıştırılırsa tampondaki değerler döndürülecektir. SQL SORGU TAMPONU VE PL/SQL FONKSİYON SONUÇ TAMPONU 13.05.2014Emre AYTEN 18
  • 19.
    Oracle Database Serverprocess’leri tarafından ihtiyaç duyulan RAM bellek, geniş havuz alanı olarak ayrılan bölümde kullanılabilmektedir. Bu process’ler örneğin RM AN (Recovery Manager-Kurtarma Yöneticisi) olabileceği gibi, Oracle RAC (Real Application Clusters-Gerçek Uygulama Kümeleri) ortamında çalışan paralel işlemler de olabilirler. Eğer geniş havuz belleğine sistem RAM belleğinden belirli bir miktar alan ayırmazsanız, bahsedilen bu process’ler paylaşılan havuz alanını kullanacaklardır. GENİŞ HAVUZ (LARGE POOL) 13.05.2014Emre AYTEN 19
  • 20.
    Veritabanında saklanmış bulunanJava tabanlı prosedürlerine sahipseniz, bu prosedürler Java havuzu alanındaki belleği kullanırlar. Fakat burada bir yanlış anlaşılma olmasın, Java prosedürleri Java havuzunda ayrılan belleği kullanarak çalışmazlar. Java havuzu, sadece Java prosedürler başlatılırken tanımlama bilgilerinin yüklenmesi için kullanılmaktadır. JAVA HAVUZU (JAVA POOL) 13.05.2014Emre AYTEN 20
  • 21.
    Oracle 11 gveritabanına bağlanan her bir kullanıcının çalıştırdığı SQL komutlarının sonuçlan, sistem RAM’i üzerinde paylaşılmayan bir bölge olan private area (özel alan) içinde saklanırlar. Oracle veritabanının bu bölgede kullandığı alan ise PGA (Program Global Area) olarak adlandırılmaktadır. Program Global Area (PGA) BELLEK YAPISI 13.05.2014Emre AYTEN 21
  • 22.
    Çalışmakta olan Oracle11 g veritabanının geçerli PGA yapısını görüntülemek için şu sorguyu kullanabilirsiniz: SELECT * FROM V$PGASTAT ORDER BY VALUE; Program Global Area (PGA) BELLEK YAPISI 22