oracle

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: 

Schemat Bazy Danych - Zasady

Założenia poprawnego schematu bazy danych

  • Odpowiednie typy danych kolumn
  • Normalizacja
  • Wykorzystywanie więzów integralności (CHECK, NOT NULL, FK, UNIQUE)
  • Właściwe typy tabel
  • Odpowiednie wykorzystanie indeksów
Tags: 

Oracle Chain

Lokalizacja i tworzenie Chain

chain
Klikamy PPM -> New Chain...
chain

Paczka uruchamiająca procedurę w chain (widzimy, że musimy tutać mieć nazwę chaina, nazwę kroku oraz nazwę wykonywanego programu - opis ich tworzenia niżej).

Tags: 

Procedury

Przykłady:

create or replace procedure starter
as
begin
insert into x values (current_timestamp, 'starter');
end;

Tags: 

Strony

Subskrybuj RSS - oracle