Baza danych a instancja bazy danych

czerwiec 25th, 2008

Bardzo często nasuwa sie pytanie co to jest baza danych a co to jest instancja bazy danych, te dwa pojęcia są bardzo  czesto niezrozumiane właściwie i tak naprawdę nie używane niewłaściwie, w związku z tym postaram sie wyjaśnić jak ja  rozumie te terminy i jakie są różnice. Instancja bazy danych to: baza danych (struktura logiczna + fizyczna) +  background procesy a także zaalokowana pamięć. Czyli można powiedzieć, że jak baza jest stworzona ale nie wystartowana  to jest to BAZA DANYCH natomiast jak baza danych jest stworzona i wystartowana (procesy wystartowane + pamięć  zaalokowana) to wtedy jest to INSTANCJA BAZY DANYCH. Instancja bazy oracle pracuje na pojedynczej bazie danych. W  jednej bazie możemy stworzyć wiele schematów, np. dla każdej aplikacji oddzielny schemat.

Struktura bazy danych oracle

czerwiec 25th, 2008

W bazie oracle możemy wyróżnić następujące struktury: logiczna, fizyczna i recovery. Struktura logiczna czyli  tablespaces które są rozpoznawane tylko przez bazę, nie jest znana dla systemu operacyjnego. Struktura fizyczna to  wszystkie fizyczne pliki na których jest zbudowana baza danych. Struktura recovery to redo logs, flash recovery area.  W strukturze logicznej jak już wcześniej wspomniałem są tablespaces, baza danych oracle może mieć dużo tablespaces: do  głównych i w większości przypadków “obowiązkowych” należą następujące tablespace: SYSTEM, UNDO, TEMP inne to USER,  SYSAUX, APLICATION itp. W strukturze fizycznej znajdują się: datafiles na których są zbudowane tablespaces, tempfile,  password file, plik parametrów, controlfile. Struktura recovery to: redo logs, archive logs, backup set. Baza danych  składa się ze struktury logicznej i fizycznej.

Zmiana pamięci SGA, PGA

czerwiec 25th, 2008

Pamięć SGA i PGA ustawiamy w pliku initSID.ora. Ograniczeniem w ustawianiu wartości dla SGA i PGA jest oczywiście  pamięć fizyczna która jest w serwerze, nie możemy ustawić wartości SGA i PGA większej niż fizyczna pamięć na tym  serwerze. Jeżeli ustawimy np. przez przypadek wartość większa niż fizyczną to oracle nie pozwoli nam podnieść bazy z  takimi ustawieniami, wtedy należy zmniejszyć tą wartość i spróbować podnieść jeszcze raz. W każdym momencie możemy  zmienić wartość SGA i PGA ale żeby nowa wartość była ustawiona dla bazy potrzebny jest restart bazy danych. Baza  Oracle podczas podnoszenia zawsze alokuję całą wartość która została zadeklarowana w pliku initSID.ora dla SGA i PGA.
Proces zmiany pamięci SGA i PGA robimy jeżeli: dostaniemy komunikat iż zaalokowana pamięć jest nie wystarczająca lub  np. gdy dodajemy fizyczna pamięć do serwera. Oracle serwer poinformuje nas o niewystarczającej ilości SGA errorem 4031  tj. ORA-04031, ORA-00379 i analogicznie o niewystarczającej ilości PGA : ORA-04030