22
ORACLE 11G YÖNETİCİ GÖREVLERİ 03.11.2022 Emre AYTEN 1

Oracle11g

Embed Size (px)

Citation preview

Page 1: Oracle11g

15.04.2023Emre AYTEN 1

ORACLE 11G YÖNETİCİ GÖREVLERİ

Page 2: Oracle11g

15.04.2023Emre AYTEN 2

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?

Page 3: Oracle11g

15.04.2023Emre AYTEN 3

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ı.

Page 4: Oracle11g

4

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

Page 5: Oracle11g

15.04.2023Emre AYTEN 5

ORACLE 11G BİLEŞENLERİ

Page 6: Oracle11g

15.04.2023Emre AYTEN 6

• 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İ

Page 7: Oracle11g

7

SYSTEM GLOBAL AREA (SGA)BELLEK YAPISI

15.04.2023Emre AYTEN

Page 8: Oracle11g

15.04.2023Emre AYTEN 8

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 GLOBAL AREA (SGA)BELLEK YAPISI

Page 9: Oracle11g

15.04.2023Emre AYTEN 9

Ç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;

Page 10: Oracle11g

15.04.2023 10

VERİTABANI TAMPONU (DATABASE BUFFER CACHE)

Emre AYTEN

Page 11: Oracle11g

15.04.2023Emre AYTEN 11

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.

Page 12: Oracle11g

15.04.2023Emre AYTEN 12

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)

Page 13: Oracle11g

15.04.2023Emre AYTEN 13

LGG TAMPONU (LOG BUFFER)

Page 14: Oracle11g

15.04.2023Emre AYTEN 14

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.

Page 15: Oracle11g

15.04.2023Emre AYTEN 15

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)

Page 16: Oracle11g

15.04.2023Emre AYTEN 16

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

Page 17: Oracle11g

15.04.2023Emre AYTEN 17

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/SQL Alanı

Page 18: Oracle11g

15.04.2023Emre AYTEN 18

Ç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

Page 19: Oracle11g

15.04.2023Emre AYTEN 19

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)

Page 20: Oracle11g

15.04.2023Emre AYTEN 20

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)

Page 21: Oracle11g

15.04.2023Emre AYTEN 21

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

Page 22: Oracle11g

22

Ç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$PGASTATORDER BY VALUE;

Program Global Area (PGA) BELLEK YAPISI