Komponenty pamięci SGA

czerwiec 25th, 2008


Pamięć SGA

Pamięć SGA składa się z następujących komponentów:

- buffer cache,

- shared pool,

- redo log buffer,

- large pool.

Teoretycznie  oracle automatycznie stroi każdy z tych komponentów dla lepszej wydajności bazy oracle.
-) buffer cache - to jest miejsce w pamięci wykorzystywane do gromadzenia danych które były wyszukiwane lub modyfikowane  (wyszukiwane za pomocą select, modyfikowane za pomocą update).

Ten obszar jest dzielony dla wszystkich użytkowników którzy  łączą się z baza.

Główne zadanie tego obszaru to pomoc w uniknięciu powtarzającego sięgania po te same dany z dysków  fizycznych, operacje odczytów z fizycznych dysków jest bardzo długa w porównaniu z odczytami z pamięci.
-) shared pool - to miejsce w pamięci w którym są przechowywane i dzielone następujące informacje:

a) zapytania sql - dzięki  temu mogą być użyte kilkukrotnie,

b) informacje z data dictionary np. informacje o koncie użytkownika, informacje o tabelach,  indeksach, przywilejach,

c) procedury dzieki temu że są w w obszarze dzielonym jest do nich szybszy dostęp
-) Redo log buffer - redo log buffer poprawiają wydajność poprzez trzymanie informacji redo w pamięci do czasu zapisania ich  na dysku. Trzymanie informacji redo w pamięci wykorzystujemy przy recovery instancji
-) Large pool - to jest obszar opcjonalny który może być użyty do buforowania dużych żądań I/O dla różnych procesów serwera


Zarządzanie pamięcią w oracle

czerwiec 25th, 2008


Pamięć w bazie oracle

Baza oracle żeby mógł być zarządzana musi mieć zdefiniowane procesy które będą odpowiadały za poszczególne czynności, te  procesy muszą działać czyli muszą być uruchomione, te procesy nazywamy background procesami, jak wiadomo jeżeli procesy są  uruchomione to alokują jakieś zasoby, w tym przypadku są uruchomione w pamięci czyli alokują zasoby pamięci.

Możemy wyróżnic  2 typu procesów które baza oracle alokuje:
-) SGA (System Global Area) - to jest pamięć dzielona która zawiera bufory danych i informacje kontrolne o instancji. Pamięć  ta jest podzielona na oddzielne obszary buforów i obszary danych
-) PGA (Program Global Area) - to obszar pamięci która jest używana przez pojedyncze procesy oracle.

Proces serwera Oracle to  proces który obsługuje żądanie klienta, baza oracle tworzy nowy proces serwera kiedy otrzymuje nowe żądanie połączenia z  bazą.

Każdy nowy proces wtedy alokuje własne  miejsce PGA.

W PGA są przechowywane zapytania SQL a także informacje o  logowaniu a także inne informacje o sesji.

Ilość zalokowanej pamięci na SGA i PGA wpływa na wydajność bazy danych.


HTTP port przy połączeniach z bazą oracle

czerwiec 25th, 2008


Podłączenie do bazy oracle przez http 

Ze zmianą portu HTTP już nie jest tak prosto, żeby zmienić nr portu dla HTTP należy z linii poleceń sqlplus-a uruchomić  procedurę SETHTTPPORT

przykład

exec dbms_xdb.sethttpport(nr_portu);

np.

exec dbms_xdb.sethttpport(8011);

to polecenie  zmieniło port na 8011 dla połączeń http

po tej zmianie sprawdzamy status listenera żeby zweryfikować czy nowy port jest  używany.

Zmianę portu dla HTTP można zrobić także z “Database Home Page”.

Tak jak pisałem HTTP defaultowo jest wyłączone  zaraz po instalacji, możemy włączyć protokół HTTP przez “Database Home Page” lub uruchamiając odpowiednią procedurę z linii  poleceń sqlplus-a.

To polecenie to

exec dbms_xdb.setlistenerlocalacceess(TRUE);

do wyłączenia uruchamiamy

exec  dbms_xdb.setlistenerlocalacceess(FALSE); te procedury są uruchamiane z użytkownika bazodanowego SYSTEM.