Statspack, Oracle8i ve üzeri için Oracle tarafından sağlanan bir dizi performans izleme ve raporlama aracıdır. Bir kullanıcı, kurulum betiği tarafından otomatik olarak oluşturulur – bu kullanıcı, PERFSTAT, bu paketin ihtiyaç duyduğu tüm nesnelerin sahibidir. Statspack hakkında daha fazla bilgi için, $ ORACLE_HOME / rdbms / admin / spdoc.txt dosyasındaki belgeleri okuyun.
Statspack’i yükleyin
Paketi kurmak için, ORACLE_HOME rdbms / admin dizinini değiştirin veya SPCREATE kurulum komut dosyasını çağırırken ORACLE_HOME / rdbms / admin dizinini tam olarak belirtin.
Kurulum komut dosyasını çalıştırmak için SQL * Plus kullanmalı ve SYSDBA ayrıcalığına sahip bir kullanıcı olarak bağlanmalısınız. Örneğin, SQL * Plus’ı başlatın, ardından:
UNIX’te: SunOS / HP UX / Linux
SQL> CONNECT / AS SYSDBA
SQL> @? / Rdbms / admin / spcreate
Windows’ta: XP / NT / 2000/2003
SQL> CONNECT / AS SYSDBA
SQL> @% ORACLE_HOME% rdbmsadminspcreate
SPCREATE yükleme betiği diğer üç komut dosyasını çalıştırır. Bu komut dosyaları otomatik olarak çağrılır, bu nedenle onları çalıştırmanıza gerek yoktur:
* SPCUSR: Kullanıcıyı oluşturur ve ayrıcalıklar verir
* SPCTAB: Tabloları oluşturur
* SPCPKG: Paketi oluşturur
Statspack’i Yapılandırma
Mevcut Ststapack seviyesi nasıl bulunur?
– PERFSTST.STATS $ SNAPSHOT tablosuna bakın
veya
– spreport.sql’yi çalıştırın ve listelenen snapids ile birlikte fark edeceksiniz
STATS $ SNAPSHOT, kaydedilen her Anlık Görüntü için seviyeyi gösterecek
Seviye Değiştir
statspack.snap çalıştırın (i_snap_level => 7, i_modify_parameter => ‘true’);
Seviyeler> = 0 Genel Performans İstatistikleri
Düzeyler> = 5 Ek Veri: SQL İfadeleri
Düzeyler> = 6 Ek Veri: SQL Planları ve SQL Planı Kullanımı
Düzeyler> = 10 Ek İstatistikler: Ebeveyn ve Çocuk Mandalları
Statspack’i kullanma (veri toplama)
sqlplus performans durumu
–
– Bir performans anlık görüntüsü alın
–
statspack.snap’ı çalıştırın;
–
– Anlık görüntülerin bir listesini alın
–
sütun anlık_zaman biçimi a21
snap_id, to_char (snap_time, ‘MON gg, yyyy hh24: mm: ss’) snap_time seçin
sp $ anlık görüntüden;
–
Performans raporu çalıştırma
–
– Statspack raporunu çalıştırın:
–
@? / rdbms / admin / spreport.sql
Statpack Reposistory’den Hard hitting SQL’i bulun
1. Veritabanına PERFSTAT kullanıcısı olarak giriş yapın.
PERFSTAT kullanıcısı olarak oturum açmadıkça çalışmayacaktır.
2. Şunu kullanarak DBID’yi bulun
“$ sql_summary istatistiklerinden dbid seçin”
3. MIN (SNAP_ID) pBgnSnap & MAX (SNAP_ID) pEndSnap’i şuradan bulun
$ snapshot’tan min (snap_id), max (snap_id), min (snap_time), max (snap_time) seçin
nerede to_number (to_char (snap_time, ‘HH24’))> 10 ve to_number (to_char (snap_time, ‘HH24’)) <13 ve trunc (snap_time) = trunc (sysdate)
Mantıksal Okumalara göre sıralanan Tüm SQL İşlemlerini Göster
seç
e.hash_value "E.HASH_VALUE"
, e.module "Modül"
, e.buffer_gets - nvl (b.buffer_gets, 0) "Arabellek Alır"
, e.executions - nvl (b.executions, 0) "Yürütmeler"
, Round (decode ((e.executions - nvl (b.executions, 0)), 0, to_number (NULL)
, (e.buffer_gets - nvl (b.buffer_gets, 0)) /
(e.executions - nvl (b.executions, 0))), 3) "Gets / Execution"
, Round (100 * (e.buffer_gets - nvl (b.buffer_gets, 0)) / sp920.getGets (: pDbID,: pInstNum,: pBgnSnap,: pEndSnap, 'NO'), 3) "Toplam Yüzdesi"
, Round ((e.cpu_time - nvl (b.cpu_time, 0)) / 1000000,3) "CPU (lar)"
, Round ((e.elapsed_time - nvl (b.elapsed_time, 0)) / 1000000,3) "Geçen (ler)"
, Round (e.fetches - nvl (b.fetches, 0)) "Getir"
, sp920.getSQLText (e.hash_value, 400) "SQL İfadesi"
istatistiklerden $ sql_summary e
, istatistikler $ sql_summary b
burada b.snap_id (+) =: pBgnSnap
ve b.dbid (+) = e.dbid
ve b.instance_number (+) = e.instance_number
ve b.hash_value (+) = e.hash_value
ve b.address (+) = e.address
ve b.text_subset (+) = e.text_subset
ve e.snap_id =: pEndSnap
ve e.dbid =: pDbId
ve e.instance_number =: pInstNum
3 azalan sipariş
SQL_TEXT'in '%' gibi olduğu SQL Stmts'i göster
seç
e.hash_value "E.HASH_VALUE"
, e.module "Modül"
, e.buffer_gets - nvl (b.buffer_gets, 0) "Arabellek Alır"
, e.executions - nvl (b.executions, 0) "Yürütmeler"
, Round (decode ((e.executions - nvl (b.executions, 0)), 0, to_number (NULL)
, (e.buffer_gets - nvl (b.buffer_gets, 0)) /
(e.executions - nvl (b.executions, 0))), 3) "Gets / Execution"
, Round (100 * (e.buffer_gets - nvl (b.buffer_gets, 0)) / sp920.getGets (: pDbID,: pInstNum,: pBgnSnap,: pEndSnap, 'NO'), 3) "Toplam Yüzdesi"
, Round ((e.cpu_time - nvl (b.cpu_time, 0)) / 1000000,3) "CPU (lar)"
, Round ((e.elapsed_time - nvl (b.elapsed_time, 0)) / 1000000,3) "Geçen (ler)"
, Round (e.fetches - nvl (b.fetches, 0)) "Getir"
, sp920.getSQLText (e.hash_value, 400) "SQL İfadesi"
istatistiklerden $ sql_summary e
, istatistikler $ sql_summary b
burada b.snap_id (+) =: pBgnSnap
ve b.dbid (+) = e.dbid
ve b.instance_number (+) = e.instance_number
ve b.hash_value (+) = e.hash_value
ve b.address (+) = e.address
ve b.text_subset (+) = e.text_subset
ve e.snap_id =: pEndSnap
ve e.dbid = 2863128100
ve e.instance_number =: pInstNum
ve sp920.getSQLText (e.hash_value, 400) '% ZPV_DATA%' gibi
3 azalan sipariş
Bir tablo için Statspack'ten SQL + Yürütme PLAN'ının tamamı nasıl alınır
SQL planını almak için seviye 7'de çalışan statspack'e sahip olmanız gerekir
1. sprepsql.sql
SQL raporu (sprepsql.sql), belirli bir SQL ifadesi için bir rapordur. SQL raporu genellikle örnek sağlık raporunun yüksek yüklü SQL bölümleri incelendikten sonra çalıştırılır. SQL raporu, tek bir SQL ifadesi için ayrıntılı istatistikler ve veriler sağlar (Statspack raporundaki Karma Değeri ile tanımlandığı gibi).
2. Hash Değeri biliniyor
- STATS $ SQLTEXT'ten * öğesini seçin; burada hash_value = 'istatistik paketinden%', parça bazında sırayla;
- Bir Nesne için önce OBJECT_ID'yi bulun
sys.obj $ 'dan * seçin, burada name =' TRANSACTION '
snap_time seçin
snap_id,
plan_hash_value,
NESNE# ,
OBJE ADI ,
OPERASYON ,
SEÇENEKLER,
MALİYET,
IO_COST,
KARDİNALİTE,
DURUM ,
CPU_COST,
OPTİMİZE EDİCİ,
SEARCH_COLUMNS,
BYTES,
DAĞITIM,
TEMP_SPACE,
ACCESS_PREDICATES,
FILTER_PREDICATES
istatistiklerden $ SQL_PLAN a, STATS $ SNAPSHOT b burada nesne # = '&& OBJECT_ID' ve a.snap_id = b.snap_id;
http://OracleDbaSupport.co.uk Oracle veritabanının nasıl olduğunu çok iyi anlayan bağımsız bir oracle danışmanı olan Sagar Patil’in blog sitesidir. motor ve Oracle Uygulamaları birlikte çalışır.
Oracle veritabanlarının Üretim ve Geliştirme örneklerini destekleyen on yıldan fazla deneyime sahip bir Oracle Sertifikalı RAC DBA’yım.
– Üretim, test ve geliştirme sistemleri için 10g RAC sistemlerinin yanı sıra rman, veri koruma yedekleme ve kurtarma stratejileri oluşturma konusunda uzman.
– Oracle mimarisi, Oracle9i / 10g özellikleri, ayarlama metodolojileri, veritabanı replikasyonu, PL / SQL ve Oracle Http Sunucusu üzerine geliştiriciler için eğitmen.
– Statspack, SQL Trace, OEM Performans Yöneticisi, Quest Central, Quest Foglight, Quest SQL etkisi, Bennchamark fabrikası, Quest SQL optimizer, TOAD ve özel komut dosyalarının kullanıcısı.
– Oracle Veritabanları ve PL / SQL’de Oracle kurulumları, yükseltmeleri, ayarları ve yedeklemeleri için ayrıntılı standartların ve uygulamaların yazarı. Felaket kurtarma yedekleme prosedürlerinin geliştiricisi, tasarımcısı ve uygulayıcısı
– Geliştirme, test ve Desteğin tüm aşamalarında büyük projelerde lider
Strateji, tasarım, uygulama, sorun giderme, DBA kapsamı, uzaktan izleme ve eğitimin üstesinden gelmek için kısa vadeli bir ihbarla işe alınabilirim.
Oracle DBA ihtiyaçlarınız için lütfen www.oracledbasupport.co.uk adresini ziyaret edin.
GIPHY App Key not set. Please check settings