Rozdział 13: Architektura systemu Oracle

24
(c) 2000, Instytut Informatyki Politechniki Poznańskiej Rozdział 13: Architektura systemu Rozdział 13: Architektura systemu Oracle Oracle

description

Rozdział 13: Architektura systemu Oracle. Warstwy instalacji Oracle’a. Aplikacje. Narzędzia Oracla. SQL, PL/SQL. Server Oracle’a. System Operacyjny. Dane. SQL. SQL. SQL. procesy systemowe. Architektura systemu Oracle. procesy usługowe (serwery). Globalny Obszar Systemowy. - PowerPoint PPT Presentation

Transcript of Rozdział 13: Architektura systemu Oracle

Page 1: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Rozdział 13: Architektura systemu OracleRozdział 13: Architektura systemu Oracle

Page 2: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Warstwy instalacji Oracle’aWarstwy instalacji Oracle’a

AplikacjeAplikacjeAplikacjeAplikacje

Narzędzia OraclaNarzędzia OraclaNarzędzia OraclaNarzędzia Oracla

SQL, PL/SQLSQL, PL/SQLSQL, PL/SQLSQL, PL/SQL

Server Oracle’aServer Oracle’aServer Oracle’aServer Oracle’a

System OperacyjnySystem OperacyjnySystem OperacyjnySystem Operacyjny

DaneDaneDaneDane

Page 3: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Architektura systemu OracleArchitektura systemu Oracle

Globalny Obszar Globalny Obszar SystemowySystemowy

procesy systemoweprocesy systemowe

procesy usługoweprocesy usługowe(serwery)(serwery)

danedane

instancjainstancjabazy danychbazy danych

SQLSQLSQLSQL

SQLSQL

Page 4: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Instancja bazy danychInstancja bazy danych

• instancja bazy danych - zbiór procesów (ang. instancja bazy danych - zbiór procesów (ang. process, task, process, task, job, programjob, program) oraz obszar pamięci współdzielonej zwanej ) oraz obszar pamięci współdzielonej zwanej Globalnym Obszarem Systemowym (ang. Globalnym Obszarem Systemowym (ang. SystemSystem Global Global Area - SGAArea - SGA) obsługujący jedną bazę danych) obsługujący jedną bazę danych

procesy systemoweprocesy systemowe

Globalny Obszar Globalny Obszar SystemowySystemowy

Page 5: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Rodzaje organizacji instancjiRodzaje organizacji instancji

• organizacja typu organizacja typu single-processsingle-process

serwer Oracleserwer Oracle

Globalny Obszar Globalny Obszar SystemowySystemowy

AplikacjaAplikacja

Page 6: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Rodzaje organizacji instancji (cd.)Rodzaje organizacji instancji (cd.)

• organizacja typu organizacja typu multiple-processesmultiple-processes

Globalny Obszar Globalny Obszar SystemowySystemowy ProcesyProcesy

drugoplanowedrugoplanowe

procesy usługoweprocesy usługowe(serwery)(serwery)

SQLSQLSQLSQL

SQLSQL

SMONSMON PMONPMON CKPTCKPTLGWRLGWRDBWRDBWR ARCHARCH

Page 7: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Struktura bazy danych Oracle’aStruktura bazy danych Oracle’a

Obszar GlobalnyObszar GlobalnySystemuSystemu

Pliki dziennika powtórzeńPliki dziennika powtórzeń

procesy drugoplanoweprocesy drugoplanowe(systemowe)(systemowe)

Pliki bazy danychPliki bazy danych

Pliki kontrolnePliki kontrolne Pliki startowePliki startowe

Page 8: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Procesy usługowe (serwery)Procesy usługowe (serwery)

• procesy usługowe - realizują żądania użytkowników, wykonując:procesy usługowe - realizują żądania użytkowników, wykonując:– analizę składniową, optymalizację i wykonanie zleceń SQL,analizę składniową, optymalizację i wykonanie zleceń SQL,– odczyt niezbędnych bloków z dysku do buforów,odczyt niezbędnych bloków z dysku do buforów,– pielęgnują listy: LRU i zmodyfikowanych blokówpielęgnują listy: LRU i zmodyfikowanych bloków

SQLSQL

danedane

procesproces usługowyusługowySGASGAbuforbufor

danychdanych

lista LRUlista LRU

lista zmodyfikowanych lista zmodyfikowanych blokowblokow

Page 9: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Sekretarz Bazy DanychSekretarz Bazy Danych

• zadania Sekretarza Bazy Danych (ang. zadania Sekretarza Bazy Danych (ang. Database Writer-Database Writer-DBWR)DBWR)::– zapis zmodyfikowanych bloków z buforów na dysk,zapis zmodyfikowanych bloków z buforów na dysk,

SGASGA

DBWRDBWR

buforbufordanychdanych

tt

danedane

lista zmodyfikowanych lista zmodyfikowanych blokowblokow

lista LRUlista LRU

Page 10: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Sekretarz Dziennika PowtórzeńSekretarz Dziennika Powtórzeń• Zadania Sekratarza Dziennika Powtórzeń (ang. Zadania Sekratarza Dziennika Powtórzeń (ang. Log Writer-LGWR)Log Writer-LGWR)• zapis danych z bufora dziennika do pliku,zapis danych z bufora dziennika do pliku,• zapis rekordu zakończenia transakcji,zapis rekordu zakończenia transakcji,• realizacja punktu kontrolnego (ang. realizacja punktu kontrolnego (ang. checkpointcheckpoint).).

SGASGA

LGWRLGWR

plik dziennikaplik dziennikapowtórzeńpowtórzeń

bufor dziennikabufor dziennikapowtórzeńpowtórzeń

Page 11: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Proces Punktu KontrolnegoProces Punktu Kontrolnego

• Proces Punktu Kontrolnego (ang. Proces Punktu Kontrolnego (ang. Checkpointer - CKPT) Checkpointer - CKPT) może przejąć zadanie realizacji punktu kontrolnego, może przejąć zadanie realizacji punktu kontrolnego, normalnie wykonywanego przez LGWRnormalnie wykonywanego przez LGWR

SGASGA

DBWRDBWR

buforbufordanychdanych

danedane plik dziennikaplik dziennikapowtórzeńpowtórzeń

CKPTCKPT

plik kontrolnyplik kontrolny

1212 1212

1212

Page 12: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Monitor SystemuMonitor Systemu

• Monitor Systemu (ang. Monitor Systemu (ang. System MonitorSystem Monitor - SMON) - SMON) odpowiedzialny jest za „porządki”, do jego obawiązków odpowiedzialny jest za „porządki”, do jego obawiązków należy:należy:– odtwarzanie systemu po awarii w czasie uruchamiania odtwarzanie systemu po awarii w czasie uruchamiania

instancji,instancji,– usuwanie niepotrzebnych segementów tymczasowych,usuwanie niepotrzebnych segementów tymczasowych,– aktualizowanie pliku kontrolnego bazy,aktualizowanie pliku kontrolnego bazy,– scalanie wolnych rozszerzeń (ang. extent) w ramach scalanie wolnych rozszerzeń (ang. extent) w ramach

segmentusegmentu

Page 13: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Monitor ProcesówMonitor Procesów

• Monitor Procesów (ang. Monitor Procesów (ang. Process Monitor -Process Monitor - PMON) zajmuje PMON) zajmuje się odtwarzaniem procesów usługowych, które uległy się odtwarzaniem procesów usługowych, które uległy awarii; awarii;

odpowiedzialny jest za:odpowiedzialny jest za:– usuwanie nienormalnie zakończonych połączeń,usuwanie nienormalnie zakończonych połączeń,– wycofywanie nie zatwierdzonych transakcji,wycofywanie nie zatwierdzonych transakcji,– czyszczenie buforów,czyszczenie buforów,– zwalnianie zajętych zasobów (np.: blokady, zatrzaski itp. zwalnianie zajętych zasobów (np.: blokady, zatrzaski itp.

założonych przez zatwierdzone procesy),założonych przez zatwierdzone procesy),– wykrywanie wewnętrznych zakleszczeń pomiędzy wykrywanie wewnętrznych zakleszczeń pomiędzy

blokadami zakładanymi na dane bazy i automatyczne blokadami zakładanymi na dane bazy i automatyczne wycofywanie transakcjiwycofywanie transakcji

Page 14: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

ArchiwizatorArchiwizator

• Archiwizator (ang. Archiwizator (ang. Archiver-Archiver-ARCH) dokonuje archiwizacji ARCH) dokonuje archiwizacji online plików dziennika powtórzeńonline plików dziennika powtórzeń

LGWRLGWR

plik dziennikaplik dziennikapowtórzeńpowtórzeń

bufor dziennikabufor dziennikapowtórzeńpowtórzeń

ARCHARCH

zarchiwizowanyzarchiwizowany dziennikdziennik

powtórzeńpowtórzeń

Page 15: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Organizacja pamięci operacyjnejOrganizacja pamięci operacyjnej

• przeznaczenie - przechowywanie:przeznaczenie - przechowywanie:– kodu wykonywanych programów, procesów,kodu wykonywanych programów, procesów,– informacji o bieżących sesjach użytkowników,informacji o bieżących sesjach użytkowników,– danych niezbędnych do wykonania programu (np.: stan danych niezbędnych do wykonania programu (np.: stan

wykonywanego zapytania),wykonywanego zapytania),– informacji współdzielonych przez różne procesy (np.: informacji współdzielonych przez różne procesy (np.:

blokady),blokady),– buforowanych danych.buforowanych danych.

Page 16: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Organizacja pamięci operacyjnej (cd.)Organizacja pamięci operacyjnej (cd.)

• obszar kodu oprogramowania,obszar kodu oprogramowania,• Globalny Obszar Systemowy (SGA):Globalny Obszar Systemowy (SGA):

– bufor danych (ang. bufor danych (ang. Database Buffer CacheDatabase Buffer Cache),),– bufor dziennika (ang. bufor dziennika (ang. Redo Log BufferRedo Log Buffer),),– współdzielony zbiornik (ang. współdzielony zbiornik (ang. Shared PoolShared Pool),),

• Globalny Obszar Programu (ang. Globalny Obszar Programu (ang. Program Global AreaProgram Global Area),),• obszar sortowania (ang. Sort Area) obszar sortowania (ang. Sort Area)

Page 17: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Organizacja pamięci operacyjnej (cd.)Organizacja pamięci operacyjnej (cd.)

SGASGAbuforbufor

danychdanychbuforbufor

dziennikadziennikapowtórzeńpowtórzeń

procesy systemoweprocesy systemowe

PGAPGA

serwerserwerPGAPGA SASA

aplikacjaaplikacja

obszar koduobszar koduoprogramowaniaoprogramowania

obszar koduobszar koduoprogramowaniaoprogramowania

obszar koduobszar koduoprogramowaniaoprogramowania

współdzielonywspółdzielonyzbiornikzbiornik

Page 18: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Organizacja pamięci operacyjnej (cd.)Organizacja pamięci operacyjnej (cd.)

• obszar kodu oprogramowania - fragment pamięci obszar kodu oprogramowania - fragment pamięci operacyjnej do przechowywania i wykonywania operacyjnej do przechowywania i wykonywania programów; jest tylko do odczytu; na pewnych platformach programów; jest tylko do odczytu; na pewnych platformach może być współdzielony między różne procesy,może być współdzielony między różne procesy,

• SGA - współdzielony obszar pamięci operacyjnej SGA - współdzielony obszar pamięci operacyjnej zawierający dane i informacje sterujące dla jednej instancji:zawierający dane i informacje sterujące dla jednej instancji:– bufor danych - fragment SGA służący do buforowania bufor danych - fragment SGA służący do buforowania

danych użytkowych, zarządzany algorytmem LRU, danych użytkowych, zarządzany algorytmem LRU, wielkość określana przez DB_BLOCK_BUFFERS [Blk],wielkość określana przez DB_BLOCK_BUFFERS [Blk],

– bufor dziennika powtórzeń - obszar SGA o organizacji bufor dziennika powtórzeń - obszar SGA o organizacji pętli służący do buforowania zapisu do dziennika pętli służący do buforowania zapisu do dziennika powtórzeń, wielkość określana przez LOG_BUFFER [B] powtórzeń, wielkość określana przez LOG_BUFFER [B] (domyślnie: 4*DB_BLOCK_SIZE),(domyślnie: 4*DB_BLOCK_SIZE),

Page 19: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Organizacja pamięci operacyjnej (cd.)Organizacja pamięci operacyjnej (cd.)

– współdzielony zbiornik, wielkość określana przez współdzielony zbiornik, wielkość określana przez SHARED_POOL_SIZE, składa się z:SHARED_POOL_SIZE, składa się z:• współdzielonego obszaru zleceń SQL - zawiera współdzielonego obszaru zleceń SQL - zawiera

elementy identycznych zleceń SQL (drzewo analizy elementy identycznych zleceń SQL (drzewo analizy składniowej, plan wykonania itp.)składniowej, plan wykonania itp.)

współdzielony zbiornikwspółdzielony zbiornik

współdzielony obszarwspółdzielony obszar zleceń SQLzleceń SQL

PGAPGA

prywatny obszarprywatny obszar zleceń SQLzleceń SQL

PGAPGA

prywatny obszarprywatny obszar zleceń SQLzleceń SQL

Page 20: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Organizacja pamięci operacyjnej (cd.)Organizacja pamięci operacyjnej (cd.)

• bufor słownika bazy danych (ang. Data Dictionary bufor słownika bazy danych (ang. Data Dictionary Cache),Cache),

• Globalny Obszar Programu - fragment pamięci zawierający Globalny Obszar Programu - fragment pamięci zawierający dane i informacje sterujące pojedynczym procesem, dane i informacje sterujące pojedynczym procesem, obejmuje:obejmuje:– stos - zmienne, tablice sesji itp.,stos - zmienne, tablice sesji itp.,– informacje o sesji użytkownika,informacje o sesji użytkownika,– prywatny obszar zleceń SQL - zmienne i parametry prywatny obszar zleceń SQL - zmienne i parametry

zleceń SQL,zleceń SQL,• obszar sortowania - fragment pamięci niezbędny do obszar sortowania - fragment pamięci niezbędny do

sortowania danych, wielkość określana przez sortowania danych, wielkość określana przez SORT_AREA_SIZE [B]SORT_AREA_SIZE [B]

Page 21: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Otwieranie bazy danychOtwieranie bazy danych

MOUNTMOUNT

NOMOUNTNOMOUNT

OPENOPEN

startup nomountstartup nomount

startup mountstartup mount

startup [open]startup [open]

alter database mountalter database mount

alter database openalter database open

Page 22: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Otwieranie bazy danych (cd.)Otwieranie bazy danych (cd.)

• tryb tryb nomountnomount - używany do tworzenia bazy danych, plików - używany do tworzenia bazy danych, plików kontrolnych itp., powoduje:kontrolnych itp., powoduje:– uruchmienie instancji,uruchmienie instancji,– otwarcie pliku z parametrami i plików śladowych,otwarcie pliku z parametrami i plików śladowych,

• tryb tryb mountmount - używany do reorganizacji bazy danych (np.: - używany do reorganizacji bazy danych (np.: zmiany nazwy pliku) oraz odtwarzania po awarii, powoduje:zmiany nazwy pliku) oraz odtwarzania po awarii, powoduje:– otwarcie plików kontrolnych i przyłączenie plików z otwarcie plików kontrolnych i przyłączenie plików z

danymi oraz plików dziennika powtórzeń,danymi oraz plików dziennika powtórzeń,• tryb tryb openopen - udostępnia bazę danych użytkownikom do - udostępnia bazę danych użytkownikom do

normalnej pracy, powoduje:normalnej pracy, powoduje:– otwarcie plików danymi oraz plików dziennika otwarcie plików danymi oraz plików dziennika

powtórzeń,powtórzeń,– odtwarzanie po ewentualnej awarii,odtwarzanie po ewentualnej awarii,

Page 23: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Zamykanie bazy danychZamykanie bazy danych

MOUNTMOUNT

NOMOUNTNOMOUNT

OPENOPEN

shutdownshutdown

alter database dismountalter database dismount

alter database closealter database close

Page 24: Rozdział 13: Architektura systemu Oracle

(c) 2000, Instytut Informatyki Politechniki Poznańskiej

Zamykanie bazy danychZamykanie bazy danych

•tryb tryb normalnormal - z oczekiwaniem na zakończenie wszystkich - z oczekiwaniem na zakończenie wszystkich sesji użytkowników,sesji użytkowników,

•trybtryb immediate - immediate - z wycofaniem wszystkich aktywnych z wycofaniem wszystkich aktywnych transakcji,transakcji,

•trybtryb abort abort - z natychmiastowym zakończeniem wszystkich - z natychmiastowym zakończeniem wszystkich procesów instancji i zwolnieniem pamięci SGAprocesów instancji i zwolnieniem pamięci SGA

SVRMGR> shutdown [normal]SVRMGR> shutdown [normal]SVRMGR> shutdown [normal]SVRMGR> shutdown [normal]

SVRMGR> shutdown immediateSVRMGR> shutdown immediateSVRMGR> shutdown immediateSVRMGR> shutdown immediate

SVRMGR> shutdown abortSVRMGR> shutdown abortSVRMGR> shutdown abortSVRMGR> shutdown abort