Hepimizin bildiği gibi SOL optimizasyonu karmaşık bir proje, her şeyden önce parçanın bütününe dikkat etmeliyiz. Bugün, problem sql'yi genel perspektiften analiz edeceğiz ve önce genel veritabanı optimizasyonu için hangi performans araçlarının mevcut olduğunu tanıtacağız.
Ne tür bir SQL'in optimize edilmesi gerekiyor?
Burada bütün ve bölüm olmak üzere iki sahneye ayrılıyoruz.
Yerel analiz ve ayarlama araçlarıyla ilgili olarak, bu aslında SOL'un yürütme planına atıfta bulunmaktadır.Bu SOL optimizasyonunun en önemli yollarından biridir.Yönetim planını analiz ederek SOL dilinin erişim yolunu ve nerede yavaş olduğunu bilebiliriz. SOL'u optimize etmek için. Bir yürütme planının nasıl oluşturulacağını zaten anlattım, bu yüzden burada açıklamayacağım.
Genel ayarlama aracıyla ilgili olarak, ana bilgisayar, ağ ve depolama gibi faktörleri bir kenara bırakalım ve geçici olarak veritabanının genel düzeyiyle başlayalım. Ana araçlar AWR, ASH, ADDM, AWRDD'dir bu dört araç. Bunlar arasında AWR, veritabanının genel performansına odaklanan bir rapordur; ASH, veritabanındaki hangi SOL bekleme olaylarına özel olarak karşılık gelen bir rapordur, ADDM, Oracle tarafından verilen bazı önerilerdir; AWRDD ise Oracle'ın farklı zaman dilimleri için performansının bir karşılaştırma raporudur.
Genel olarak sistemin genel bilgilerini raporlar ve günlükler aracılığıyla elde ederiz. Tıpkı bir davayı çözmek gibi, bu da kanıt toplama aşamasıdır. İpucu bulmak için bir sonraki şey, sorunun nasıl bulunacağıdır. Aşağıda, genel ayarlama sırasında dikkat edilmesi gereken bu çıkarılan raporların temel noktaları ve anahtar kelimeleri açıklanmaktadır. Spesifik akış şeması aşağıdaki gibidir:
1. AWR'nin odak noktası
AWR, Oracle 10g sürümünde sunulan yeni bir özelliktir. Tam adı Automatic Workload Repository'dir. AWR, iki anlık görüntü tarafından toplanan istatistiksel bilgileri karşılaştırarak rapor verileri oluşturmaktır.
AWR raporu, beş ana rapordan en kapsamlı ve en önemlisidir ve ilgili göstergeleri de son derece önemlidir. Burada analiz için 6 gösterge DB Zamanı, yük_profi, verimlilik yüzdeleri, ilk 5 olay, SOL İstatistikleri, Segment_statistics'i listeliyoruz.
2. ASH'nin odak noktası
ASH, aktif oturumları bekleyen olayları kaydetmek için saniyede bir örneklenen V $ SESSION'a dayanır. Etkin olmayan oturumlar örneklenmeyecektir ve örnekleme yeni tanıtılan arka plan süreci MMNL tarafından yapılır.
ASH raporunun alınmasını tamamladıktan sonra, elde edilen ASH raporunu açın.Aslında, hangi SOL'lerin hangi bekleme olaylarıyla ilgili olduğunu görmek olan rapora odaklanmak çok basittir.
3. ADDM endişeleri
ADDM (Otomatik Veritabanı Tanılama Monitörü), awr ile elde edilen verileri teşhis ederek ve analiz ederek veritabanındaki olası sorunları ortaya çıkarmaktır.Addm tarafından verilen öneriler, db_time'ın azaltılmasına dayanmaktadır. Awr raporu her toplandığında, bir addm analizi üretilecektir. Analiz sonucu, paylaşılan_pool'dadır. Mmon süreci bunu periyodik olarak diske yazar. AWR her anlık görüntü oluşturduğunda, MMON işlemi, AWR'nin son iki anlık görüntüsü arasındaki farkı ADDM'ye bildirir. Analiz için değer. Bu nedenle, varsayılan olarak, AWR'nin bir anlık görüntüsü olduğunda, ADDM otomatik olarak çalışacaktır. Onlar aracılığıyla görüntülenebilir. Açıkça söylemek gerekirse, addm sorunları bulmamıza yardımcı olacak iyi bir araç olmalıdır. Addm pek çok sorunu tespit edebilir, belki siz düşünemezsiniz, düşünmenize yardımcı olabilir.
Bu Oracle'ın analiz önerilerinden bazıları olduğu için, ADDM'nin okunması çok basittir, temelde BULMA 1, BULMA 2'den başlayıp aşağıya bakar. Genel olarak öneriler, hem veri tabanının genel konfigürasyonundan hem de kısmi SOL'den verilir.
4. AWRDD'nin odak noktası
AWRDD, farklı zaman dilimlerinde performans elde etmek için iki AWR anlık görüntüsünü karşılaştırmak ve göstergelerdeki değişiklikleri karşılaştırmak için kullanılır. Aslında, bu odaklanma çok basittir, temelde AWR'nin odaklandığı şey, AWRDD neye odaklanır.
5. AWRSQRPT'nin Odak Noktası
AWRSQRPT esas olarak SQL'in yürütme planını görüntülemek için kullanılır.AWRSQRPT raporunu elde etmenin anahtarı, etkileşimli bölümün, anahtar olan analiz edilecek SQL'in SQL_ID'sini girmesi gerektiğidir. Ve bu SQL_ID AWR raporundan elde edilebilir.
Not: Oracle'ın yürütme planı, ortamdaki değişiklikler ve verilerdeki değişikliklerle değişebilir. Bu nedenle, birden çok yürütme planı oluşturulabilir ve bu AWRSQRPT'nin birden çok yürütme planı olacaktır.
SQL'in genel optimizasyonunun içeriği burada tanıtılır ve ilgili bazı betikler daha sonra paylaşılır ve ilgilenen arkadaşlar buna dikkat edebilir!