Oracle notki – struktura fizyczna i logiczna « Różności …

Różności …

28 grudnia 2010

Oracle notki – struktura fizyczna i logiczna

Zaszufladkowany do: Bazy danych,Oracle — Tagi: — Jacek @ 11:41
instance – collection of background processes and memory structures
database – collection of files that contain your data
RAC – real application cluster – wiele instancji pisze do tej samej bazy danych. Jeżeli jedna instancja pada – druga przejmuje jej rolę.
sql> show parameter db_name
sql> show paremeter instance_name
sql> show paremeter db_block_size
w przypadku data warehouse – big rows – wtedy usawia się blocksize na 32K a nie na 8K
Memory structures:
SGA – system global area
wymagane:
BUFFER CACHE – store datablocks – jeżeli później zada się takie samo zapytanie sql to dane pójdą z cache’u – improve performance
i tu tylko datablocks przechowywane takie jak domyślny blocksize (procesy: CKPT-zmienia nagłówki plików występuje wtedy gdy DBW zapisuje dane
do pliku lub gdy log writer zapisuje redo log lub występuje co pewien czas, DBW0-database writer-zapisuje informacje w blokach
z buffer cache do datafile)
LOG BUFFER – zapamiętuje zmiany zrobione w bazie danch – a potem te zmiany są zapisywane do REDO LOGów a potem do ARCHIVE LOGów.
To wszystko jes robione aby było możliwe recovery. (procesy: LGWR – log writer – zapisuje z log buffer do redo logs, ARC0 – archiving process -
zapisuje redo logi do archive logów)
SHARED POOL – tu przechowywane są wyrażenia SQL. Tutaj też przechowywane są DATA DICTIONARY INFORMATION – opis jakie tabele, użytkownicy itd.
opcjonalne:
JAVA POOL
STREAMS POOL – używa się, jeżeli jest wiele serwerów na których jest baza danch.
LARGE POOL – przechowuje informacje o backupach i restorach i SHARED SERVER INFORMATION – jeżeli jest kilka procesów pobierających te
same informacje.
KEEP POOL – tu można przechować np. wartości określonej tabeli i trzymać tak długo jak się da.
RECYCLE POOL – jeżeli np. chcemy przeskanować całą tabelę a nie chcemy aby ta operacja zżarła całą dostępną pamięć – dane wtedy nie są trzymane
w buffer cache.
32K BUFFER
16K BUFFER
4K BUFFER
2K BUFFER – to są buffer cache dla tabel o innych blocksize
PMON – process monitor – zarezerwowany dla procesów userów, jeżeli sesja zerwana to czyści zasoby.
SMON – system monitor – instance recovery
W LINUKSIE KAŻDY PROCES OSOBNO W WINDOWSACH JEDEN ROZBITY NA WIELE WĄTKÓW
SERVER PROCESS – odpowiedzialny za pobieranie danych z bazy danych – każdy z procesów ma przydzieloną pamięć PGA – PROGRAM GLOBAL AREA – informacje dotyczące sesji jak zmienne
USER PROCESS – łączy się z SERVER PROCESS
DEDICATED SERVER ENVIRONMENT – jeden server process odpowiada jednemu user process
SHARED SERVER CONFIGURATION
—— PHYSICAL STRUCTURES ——-
database files – .dbf
redo log files – .log
dobrze jest aby w każdej grupie był więcej niż jeden redolog file na wypadek awarii któregoś!!!! warto aby drugi redolog był na ososbnym dysku!!!!
skrypt: add_redolog_file.sql
po dodaniu mają status invalid.
należy wykonać alter system switch logfile; – aby oracle przeszedł do następnego logu – należy wykonać tyle razy ile nowych logów dodanych aby przeszło przez wszystkie
undo tablespace – .dbf – używana do rolling back information np na wypadek usunięcia danych których nie chciałem
spfile – server parameter file lun init file initialization file
sql> show parameter spfile
jeżeli VALUE w tym zapytaniu będzie puste to znaczy, że używam starego init.file
pliki spfile i init są przechowywane w ORACLE_HOME/dbs
alert log i trace files
sql> show parameter background_dump_dest
control files .ctl
czytane przez instancję, kiedy baza danych startuje
zawierają informacje o fizycznej strukturze bazy danych
dobrze jest mieć 3 controlfile na różnych dyskach!!!!
controlfiles to dokładnie kopie siebie samych. w wypadku awarii trzeba skopiować dobry controlfile na zły i uruchomić instancję
backup files
—— LOGICAL STRUCTURES ——-
tablespace
system tablespace – data dictionary
sysaux tablespace – auxiliary purporse
undo tablespace – potrzebne do rollbacku
temp tablespace – używane do sortowania danych w wypadku gdy nie mamay dosyć RAMu
segment
table segment
index segment
temporary segment
Jeżeli tworzę np tabelę to oracle rezerwuje segment. Jeżeli segment zostanie wypełniony to oracle rezerwuje następną przestrzeń zwaną EXTENT. Extent to kilka kolejnych bloków bazy danych.

Brak komentarzy

Brak komentarzy.

Kanał RSS z komentarzami do tego wpisu.

Przepraszamy, możliwość dodawania komentarzy jest obecnie wyłączona.

Strona startowa: www.jaceksen.pl