Oracle wykorzystuje metodę LRU ( co oznacza "co najmniej ostatnio używany"). To komputerowy algorytm, który jest używany do zarządzania danymi w pamięci podręcznej. Gdy bufor jest wypełniony i trzeba miejsce dla nowych rzeczy - najpierw kwiecistą najmniej niedawno używane elementy (rzeczy, które jakiś czas nie używali, ale które znajdują się w pamięci podręcznej, która zajmuje miejsce).
To nie odnosi się konkretnie do bloków danych i bloki danych w rzeczywistości nie są przechowywane w liście LRU, w dzisiejszych czasach nimi zarządza licznik dotyku, ale ten algorytm liczenia dotyku jest bardzo podobny do LRU, więc można myśleć o tym w ten sposób.
Krótko mówiąc, kiedy słyszysz LRU, pomyśl o buforze, który zarządza niektórymi danymi (dowolnymi danymi) i ma tendencję do usuwania elementów z pamięci podręcznej, w zależności od tego, czy były one wykorzystywane niedawno, czy nie. Im bardziej ostatnio, że coś jest używane, tym większe prawdopodobieństwo, że pozostanie w pamięci podręcznej.
Każdy blok ma DBA - adres bloku danych, który składa się z pliku# i bloku#. To jednoznacznie identyfikuje blok w bazie danych. Oracle wykorzystuje ten "klucz" do identyfikacji jednostki w buforowym pamięci podręcznej.
Jeśli wykonujesz zapytanie, jeśli niektóre z bloków nie ma w pamięci podręcznej, to dlatego, że LRU czyściłem je, aby zaznaczyć więcej rzeczy, które były używane w ostatnim czasie. To nie gwarancja, ale jeśli potrzebujesz taka gwarancja, można korzystać z różnych pul w buforowym pamięci podręcznej, w zasadzie można użyć KEEP
poole do przechowywania często używanych segmentów w buforowym pamięci podręcznej.
Mam nadzieję, że to wyjaśni sytuację.