oracle

Wersja Oracle

Weryfikacja wersji Oracle

select version_full from v$instance;

Powyższa instrukcja działa dla Oracle 19 (taką wersję mają bazy Żabkowe), jeśli nie zadziała z racji na inną wersję to wykonać można

select * from v$instance;

Tags: 

COALESCE - Pierwsza wartość nie będąca null

Wypisanie pierwszej nienullowej wartości

COALESCE(kol1, kol2, kol3)

Tags: 

SYS.XMLTYPE - Wyszukiwanie

Wyszukiwanie ciągu znakowego w kolumnie typu SYS.XMLTYPE

where lower(nazwa_kolumny.getClobVal()) like '%szukany_tekst%'

Tags: 

CLOB - Wyszukiwanie

Wyszukiwanie ciągu znakowego w obiekcie CLOB

where instr(nazwa_kolumny, 'szukany_tekst') > 0

Tags: 

ROWID

ROWID

  • Wykorzystywany, gdy korzystamy z indeksu, lecz konieczny jest dostęp do kolumn, których nie ma w indexie
  • W przypadku, gdy zapytanie pokazuje w explain planie TABLE ACCESS BY INDEX ROWID BATCHED to oznacza, że pobieranych jest kilka identyfikatorów ROWID z indeksy i nastepnie Oracle próbuje uzyskac dostęp do wierszy w blokach by zmniejszyć czas dostępu do każdego bloku

Wywołanie zawartości tabeli wraz z ROWID

Tags: 

Indeksy

Indeks:

Tags: 

Widoki systemowe V$

  • V$SQL
    • Wyświetla statystyki bez grupowania (każdy wiersz odpowiada za jedną operację) dotyczące wspólnych obszarów SQL
    • Wyświetla statystyki po zakończeniu zapytania lub dla dużych zapytań co 5 sekund.

    Wywołanie - w ten sposób otrzymujemy sql_id potrzebne do kolejnych widoków

    select * from v$sql
    where sql_text like '%using(department_id)%'

Tags: 

Statystyki

Rodzaje:

  • Systemowe
    • Używane przez optymalizator do estymowania koszyu pracy I/O i CPU
    • Zalecane jest ich regularne generowanie
    • Zbierane powinny być także podczas normalnej pracy systemu
  • Optymalizacyjne

Statystyki systemowe
Przykładowy pakiet do pobierania systemowych statystyk jest paczka DBMS_STATS.GATHER_SYSTEM_STATS

Tags: 

Explain plan & Execution plan

Explain plan
Pokazuje w jaki sposób ma pracować zapytanie. Wykonuje się zamian zapytania (pokazuje tylko schemat wykonania zapytania)

explainplan
Uruchomienie w formie składni SQL - pokazywane są wtedy wszystkie wygenerowane Explain plany.

select * from plan_table

Pokazanie w formie graficznej

Tags: 

Uruchamiania zapytania - kroki

  • Sprawdzenie składni (SYNTAX)
  • Sprawdzenie obiektów (SEMANTIC)
  • Sprawdzenie uprawnień (PRIVILEGE)
  • Alokowanie zapytania w PSA (Private SQL Area)
  • Odpytanie czy istnieje zapytanie w PSA (TAK - uruchomienie zapytania (soft parse), NIE - zapytanie jest alokowane, optymalizowane i dopiero po wszystkim uruchamiane (hard parse))

Etapy działania optymalizatora

Tags: 

Strony

Subskrybuj RSS - oracle