Video: Full-stack end-to-end monitoring with Azure Monitor | Azure Friday 2024
Bellek yönetimi, veritabanındaki örneklerle çalışmanın önemli bir bileşenidir. Oracle 12c, örneğinizdeki belleği yönetmenin üç yolu sunar:
-
Otomatik Oracle'ın tüm işi yapmasına izin vererek
-
Manuel olarak farklı bellek alanları için bağımsız parametreleri ayarlayarak
-
Otomatik ve manuel 'un kullanımını, Oracle'ın tavsiye altyapısını kullanarak ve bazı alanlarda
Oracle otomasyonu hakkında hızlı bir not. Oracle'ın son birkaç sürümü ile veritabanında, daha önce manuel ve bazen sıkıcı olan alanlarda daha otomatik hale geldi. Bu, kısa sürede bir Oracle veritabanını yönetmek için özel bir beceri gerektirmeyeceğini söylemek değil. Tam tersi: Daha sıradan işlemler otomatikleştirildiğinde, sizi daha gelişmiş özelliklere odaklanmak için DBA olarak serbest bırakır.
Müşteriler için otomatikleştirilmiş özellikler uygulayarak büyük bir başarı elde ettik. Yüksek kullanılabilirlik ve güvenlik, tam zamanlı ilgi gerektiren alanlara odaklanmak için kaynaklarımızı boşa çıkarır. Şükürler olsun, SQL ifadelerinin paylaşım havuzundan erkenden yaşlandığını saatlerce izlemek zorunda kalmazsınız ve bu da performans sorunlarına neden olur.
Oracle 12c'de otomatik olarak belleği yönetmenizi öneririz.
Veritabanınızı oluştururken hemen hemen tüm belleği elinizden alan yeni bir parametre ayarlayabilirsiniz: MEMORY_TARGET. Bu parametrenin ayarlanmasıyla tüm bellek alanları otomatik olarak boyutlandırılır ve yönetilir. SQL * Plus'da (Oracle'da bulunan SQL komut satırı arabirimi) show parametresi memory_target yazdıktan sonra, ekranda şu çıktıyı görürsünüz:
ADI TİPİ DEĞERİ -------- ---------------------------- ----------- ----------- ------------------- memory_target büyük tamsayı 756M
Otomatik bellek yönetimi, sistemdeki bellek miktarını tutmanıza ve ardından ne kadar kullanmak istediğinize karar vermenize izin verir Veritabanı için.
Başlangıç değeri olarak hangi değeri seçeceğiniz açık değildir. Değeri ayarlamanıza yardımcı olması için bu soruları yanıtlayın:
-
Ne kadar bellek var?
-
Nihayetinde makinede kaç veritabanı var olacak?
-
Makinede kaç kullanıcı olacak? (Birçoya göre, işlem yükü için kullanıcı başına 4MB ayırırsınız.)
-
Makinede başka hangi uygulamalar çalışıyor?
Kullanıcılar makineye girmeden önce, Oracle veritabanları için belleğin yüzde 40'ından fazlasını almayı düşünün.Bu formülü kullanın:
(GB belleği × 40) / Nihai Veritabanları Sayısı = GB başına MEMORY_TARGET için
Örneğin, makineniz 8GB belleğe sahipse ve nihai olarak iki veritabanına benzer iki veri tabanı barındıracaktır. Her biri 100 kullanıcı, şu denklemi alırsınız: (8 ×.40) / 2 = 1. 6GB için MEMORY_TARGET veritabanı başına.
Yeterli hafızanız olup olmadığını belirlemenize yardımcı olması için Oracle, nereye bakılacağını biliyorsanız size bazı işaretçiler verir. Buna Bellek Hedefi Danışmanı deniyor. Komut satırından V $ MEMORY_TARGET_ADVICE görünümünde bulabilirsiniz. Danışma Merkezi> Bellek Danışmanları> Tavsiye öğelerini tıklatarak Veritabanı Denetimi giriş sayfasında bulabilirsiniz.
MEMORY_TARGET ayarı için seçtiğiniz şey, Oracle'ın kullandığı tüm bellek değildir. Bu nedenle, nihai kararı verdikten sonra kaç oturumun önce olacağını bilmeniz gerekir.
Örneğin, bu parametre yalnızca SGA ve PGA tarafından kullanılan belleği kapsar. Veritabanına bağlanan her oturumda, işletim sistemi veya sunucu işlemi ile ilişkili bellek gerekir. Bu bellek gereksinimi eklenir. Müşterilerimizden biri yaklaşık 3,000 eşzamanlı bağlantıya sahip ve SGA ve PGA dışında yaklaşık 16GB bellek tüketiyor. Müşterinin makinasında 64GB bellek bulunur ve MEMORY_TARGET 16GB olarak ayarlanır.