Článek přečtěte do 5 min.

Regrese výkonu SQL je hlavní příčinou špatného výkonu systému. Správa a ladění výkonu individuálního provádění SQL může být náročný úkol, který vyžaduje hloubkovou analýzu návrhu schématu; nudné srovnávací zprávy o historické a současné výkonnosti; a důkladná znalost pracovního postupu aplikace. Nebojte se, výkon SQL cloudových a on-premise databází lze nyní spravovat a snížit pravděpodobnost neočekávané regrese pomocí funkce SQL Plan Management (SPM) dostupné ve službě OCI Database Management (DBM). SPM umožňuje uživatelům databáze udržovat stabilní, optimální výkon pro sadu příkazů SQL a funkce SPM lze spravovat a konfigurovat tak, aby se v průběhu času zlepšil celkový výkon databázových prostředí.

  • Přehled směrných plánů SQL ve vaší databázi
  • Filtrování plánů SQL podle použití nebo statistik a vyhledávání na základě textu SQL, názvu plánu nebo původu (automatické nebo ruční zachycení)
  • Nakonfigurujte uchovávání a rozpočty úložiště pro plány SQL
  • Povolte automatické zachycení plánu pomocí filtrů založených na akcích SQL, modulech, schématu analýzy nebo textu SQL
  • Povolte a nakonfigurujte automatickou úlohu SPM Evolve Advisor

Co je SPM a proč je důležitý?

Oracle Database SQL Optimizer (Optimalizátor) určuje plány provádění pro tisíce nebo miliony příkazů SQL v jakémkoli daném systému a někdy s více plány na SQL. Bez SPM může Optimalizátor kdykoli změnit nebo přidat plány pro SQL. Převážnou většinu času tyto nové plány zlepšují výkon podle očekávání. Pokud je však nový plán regresí výkonu, může mít velký dopad, pokud zahrnuje kritický SQL. SPM umožňuje zákazníkům odložit okamžité změny plánu, zatímco nové plány jsou před použitím produkčními klienty testovány. Zákazníci získají výhodu nových plánů, které fungují lépe, za skromnou cenu čekání, až budou ověřeny oproti stávajícím plánům jako skutečně lepší. SPM zahrnuje pozitivní atributy adaptability plánu a stability plánu. Má dva hlavní cíle:

  • Zabraňte poklesu výkonu tváří v tvář změnám databázového systému
  • Nabídněte zlepšení výkonu přizpůsobením se změnám databázového systému

SPM uchovává na disku historii plánu sestávající z různých plánů provádění generovaných pro každý spravovaný příkaz SQL. Vylepšená verze Oracle Optimizer s názvem SPM Aware Optimizer přistupuje, používá a spravuje tyto informace, které jsou uloženy v úložišti zvaném SQL Management Base (SMB). SPM se skládá ze tří hlavních složek:

  • Zachycení plánu: Vytvoření základních plánů SQL, které ukládají plány provádění, první plán je přijat a následné plány jsou shromažďovány jako nepřijaté.
  • Výběr plánu: Zajišťuje, že pro příkazy se základními liniemi plánu SQL se používají pouze přijaté plány provádění a zaznamenává všechny nové plány jako nepřijaté.
  • Evoluce plánu: Vyhodnocení nepřijatých realizačních plánů a aktualizace těch s lepším výkonem, než je akceptováno v základním plánu SQL

Povolit automatické zachycení plánu SPM

Zachycení plánu SPM lze nakonfigurovat tak, aby se spouštělo automaticky pro všechny příkazy SQL nebo filtrováno pro pracovní postupy aplikace na základě akcí SQL, modulů, schématu analýzy nebo textu SQL. Opakovatelné příkazy SQL jsou zaměřeny a generují základní linie plánu SQL, aby bylo zajištěno, že jsou vyhodnocovány pouze kritické SQL, aby se snížila režie. Nejlepší je provádět zachycení během normálních oken výkonu databáze podle plánů provádění základního SQL s přijatelnými plány. Ruční zachycení plánu je také dostupné z mezipaměti kurzoru nebo AWR.

Jak nakonfigurovat, povolit a spravovat SPM v DBM

Z Observability and Management přejděte na Database Management. Na domovské stránce databázového zdroje, která je přístupná z rozbalení z přehledu vozového parku nebo ze stránky administrace, se funkce „Správa plánu SQL“ nachází v nabídce „Zdroje“.

Základní plán SQL můžete vytvořit několika způsoby: pomocí sady ladění SQL (STS); z mezipaměti kurzoru; export z jedné databáze a import do jiné; a automaticky pro každý výpis. V současné době vám Správa databází umožňuje konfigurovat základní linie plánu SQL tak, aby byly automaticky zachyceny, a podporuje vytváření výchozích linií plánu z AWR a mezipaměti kurzoru. Pro různé úkoly jsou k dispozici tři samostatné karty.

Záložka „Směrnice plánu SQL“ poskytuje přehled směrných osnov SQL plánu používaných databází. Plány můžete filtrovat na základě atributů a vyhledávat konkrétní plány na základě textu SQL, názvu plánu nebo původu. Jednotlivé plány můžete nakonfigurovat jejich odstraněním z plánu SQL, změnou atributů nebo zobrazením podrobností, které zahrnují statistiky Optimalizátoru, jako je osnova plánu, informace o predikátu a použití nápovědy.

Obrázek 2: Přehled správy plánu SQL
Obrázek 2: Přehled správy plánu SQL

Záložka „Načíst plány SQL“ poskytuje možnosti pro ruční vytváření plánů SQL z AWR nebo mezipaměti kurzoru. Názvy úloh pro předchozí kolekce jsou zobrazeny s podrobnostmi o běhu. Možnosti filtrování jsou dostupné při načítání plánů SQL, které zahrnují SQL ID, schéma analýzy, modul nebo akci příkazu SQL. Navíc je zde možnost nastavit atributy SQL plánu na pevné nebo povolené při načítání.

Obrázek 3: Načtení plánů SQL z mezipaměti kurzoru nebo AWR
Obrázek 3: Načtení plánů SQL z mezipaměti kurzoru nebo AWR

Nakonec karta „Konfigurace“ umožňuje upravit využití úložiště, uchování, automatické zachycení plánu a funkci automatických úloh SPM Evolve Advisor (vysokofrekvenční automatické úlohy SPM Evolve Advisor jsou omezeny na prostředí Exadata).

Obrázek 4: Konfigurace úložiště správy plánu SQL, automatického zachycení plánu a úlohy SPM Evolve Advisor
Obrázek 4: Konfigurace úložiště správy plánu SQL, automatického zachycení plánu a úlohy SPM Evolve Advisor

SPM je podporován v následujících konfiguracích

  • Tato funkce je k dispozici pro externí (on-premise) a cloudové databáze, nasazení Base DB a ExaDB-D, verze 11.2.0.4 a novější
  • Následující jsou k dispozici pouze pro databáze Oracle verze 12.2 a novější
    • Podpora načítání plánů SQL z AWR
    • Automatická úloha SPM Evolve Advisor
    • Vyberte zachycení plánu (filtry)
  • Vysokofrekvenční úloha automatického poradce je k dispozici pouze pro Oracle Databases 19c a novější běžící na platformě Oracle Exadata.

Využijte novou funkci SPM v OCI Database Management k zefektivnění správy výkonu SQL pro databáze ve vašem vlastním datovém centru nebo v cloudu. Nové vizualizace a snadno dostupná správa plánů umožňují s jistotou maximalizovat výkon databáze.

Zdroj: Oracle