Oracle (baza danych) - Google

Oracle (baza danych)

Z Wikipedii

Skocz do: nawigacji, szukaj

Oracle Database to oficjalna nazwa relacyjnego systemu baz danych (RDBMS) stworzonego przez Oracle Corporation. Nazwa Oracle pochodzi od nazwy kodowej jednego z projektów sponsorowanych przez CIA, nad którymi pracował współzałożyciel korporacji Oracle - Larry Ellison.

Spis treści

[edytuj] Opis

Relacyjna baza danych Oracle posługuje się standardowym językiem zapytań SQL oraz posiada wbudowany wewnętrzny język tworzenia procedur składowanych PL/SQL - będący proceduralnie obudowanym językiem SQL. Jako języka tworzenia procedur składowanych w bazach danych Oracle (od wersji 8i) można używać również języka Java

[edytuj] Struktura

System bazy danych Oracle składa się z:

  • instancji - struktur pamiÄ™ciowych i procesów systemu operacyjnego obsÅ‚ugujÄ…cych bazÄ™ danych. W skÅ‚ad typowego procesu wchodzi PMON (process monitor) i SMON (system monitor).
  • struktur przechowywania danych

[edytuj] Struktura instancji

SCHEMA - W bazie danych Oracle zdefiniowana grupa użytkowników (powiązana z określonym "username") nosi nazwę schema.

Większość instalacji bazy Oracle posiada domyślną schema o nazwie SCOTT. Po tym jak w procesie instalacji zostaną utworzone przykładowe tabele, użytkownik (user) może zalogować się do systemu bazy danych podając nazwę użytkownika: scott i domyślne hasło: tiger. Nazwa schemy SCOTT pochodzi od jednego z pierwszych pracowników Oracle Corp. (Bruce Scott) którego kot wabił się Tiger.

Inne domyślne schemy zawierają:

  • SYS (podstawowe struktury bazy danych i narzÄ™dzia)
  • SYSTEM (dodatkowe struktury bazy danych i narzÄ™dzia oraz konto uprzywilejowane)
  • OUTLN (wykorzystywana do przechowywania metadanych dla query-optimizera.
  • BI, IX, HR, OE, PM, SH (rozszerzone przykÅ‚adowe schemy zawierajÄ…ce wiÄ™cej danych i struktur niż oryginalna sachema SCOTT)

[edytuj] Struktury Pamięciowe

Instancja bazy danych Oracle składa się ze współdzielonych struktur pamięciowych (do których dostęp mają wszystkie procesy obsługujące instancję) oraz ze struktur prywatnych, dostępnych tylko dla procesów, które te struktury zaalokowały.

Podstawową strukturą pamięciową jest SGA czyli System Global Area lub Shared Global Area zależnie od nazewnictwa. W skład SGA wchodzą:

  • Shared Pool - pula współdzielona
    • Library Cache
      • Shared SQL Area - przestrzeÅ„ przechowujÄ…ca sparsowane zapytania SQL i programy PL/SQL
        • PL/SQL Area - przestrzeÅ„ kodu PL/SQL
        • SQL Area - przestrzeÅ„ ostatnio wykonywanych zapytaÅ„ SQL
    • Data Dictionary Cache - bufor sÅ‚owników bazy danych
  • Database Buffer Cache - obszar bufora danych zorganizowany w listy LRU
  • Redo Log Buffer Cache - obszar bufora rekordów powtórzeÅ„, stanowiÄ…cego log transakcyjny bazy danych
  • Large Pool (struktura opcjonalna) - sÅ‚uży miÄ™dzy innymi do komunikacji pomiÄ™dzy procesami równolegÅ‚ymi
  • Java Pool (struktura opcjonalna) - przestrzeÅ„ przeznaczona do wykorzystania przez procedury skÅ‚adowane napisane w jÄ™zyku Java

Do struktur współdzielonych należy również Software Code Area będący strukturą przechowującą kod wykonywalny procesów Oracle. Występowanie tego obszaru jest zależne od systemu operacyjnego.

Poza strukturami współdzielonymi dostępna jest przestrzeń PGA czyli Program Global Area. PGA jest dostępne tylko dla jednego procesu, który je stworzy i zawiera:

  • PrzestrzeÅ„ Stosu (Stack Space)
  • Informacje o Procesie
  • Sort Area - obszar sortowania

[edytuj] Procesy

Procesy drugoplanowe wchodzące w skład instancji Oracle:

  • Database Writer (DBWn) - proces "przeglÄ…dajÄ…cy" bufor bazy i zapisujÄ…cy zmienione bloki na dyski.
  • Log Writer (LGWR) - proces zapisujÄ…cy historiÄ™ transakcji do plików dzienników powtórzeÅ„.
  • Checkpoint (CKPT) - proces realizujÄ…cy wykonanie punktów kontrolnych
  • System Monitor (SMON) - monitoruje dziaÅ‚anie instancji bazy danych
  • Process Monitor (PMON) - monitoruje dziaÅ‚anie procesów użytkownika i wykonuje "sprzÄ…tanie" po nieprawidÅ‚owo zakoÅ„czonych procesach użytkowników
  • Archiver (ARCn) - proces kopiujÄ…cy zapeÅ‚nione pliki dzienników powtórzeÅ„
  • Recovery (RECO) - proces odpowiedzialny za wykonywanie operacji odtworzenia instancji po awarii
  • Lock (LCKn) - istnieje tylko w konfiguracji RAC i sÅ‚uży do synchronizowania dostÄ™pu do zasobów
  • Queue Monitor (QMNn) - monitoruje kolejki komunikatów

Z każdym użytkownikiem przyłączonym do instancji bazy danych związany jest proces przeznaczony do jego obsługi. Baza danych Oracle posiada dwa tryby obsługi klientów: dedykowany oraz współdzielony. W przypadku trybu dedykowanego, dla każdego klienta powoływany jest nowy proces, który w uproszczeniu jest odpowiedzialny za przetwarzanie zapytań, odczyt danych z dysków do buforów lub lokalizowanie istniejących danych w buforze, zapis zmienionych w wyniku operacji klienta bloków do bufora. Dla konfiguracji współdzielonej powoływane są do życia procesy:

  • Dispatcher (Dnnn)
  • Shared Server (Snnn)

Użytkownik łącząc się z bazą danych przyłącza się do jednego z istniejących procesów Dispacher i jego żądanie jest odpowiednio kolejkowane i przesyłane do procesu obsługującego zwanego Shared Server. W konfiguracji współdzielonej liczba procesów użytkowników jest określona przez odpowiednie parametry bazy danych, natomiast w konfiguracji dedykowanej liczba procesów jest równa liczbie jednocześnie przyłączonych użytkowników.

Poza wymienionymi podczas działania instancji Oracle mogą być uruchamiane różnorodne procesy związane z między innymi z wykorzystaniem specyficznych opcji bazy danych.

Na platformie Windows baza danych Oracle działa w architekturze wielowątkowej a nie wieloprocesowej, w związku z tym opisane procesy realizowane są jako wątki procesu głównego obsługującego instancję bazy danych.

[edytuj] Struktury przechowywania danych

W skład bazy danych Oracle wchodzą:

  • plik parametrów - plik opisujÄ…cy parametry instancji bazy danych Oracle oraz Å›cieżki do plików kontrolnych
  • pliki kontrolne - przechowujÄ… zmultiplikowanÄ… informacjÄ™ na temat struktury bazy danych (informacje o plikach danych, historie backupów, numery SCN, informacje na temat archiwalnych dzienników powtórzeÅ„, trybu pracy bazy danych)
  • dzienniki powtórzeÅ„ - przechowujÄ… powtórzonÄ… informacjÄ™ na temat przeprowadzonych w systemie transakcji i majÄ… charakter dookolny - po zapeÅ‚nieniu informacja jest nadpisywana
  • archiwalne dzienniki powtórzeÅ„ - kopie dzienników powtórzeÅ„ wykonywane po ich zapeÅ‚nieniu
  • pliki danych - w których przechowywane sÄ… wszystkie gromadzone w systemie dane oraz struktury wspomagajÄ…ce (np. indeksy).

Baza danych Oracle zamiast plików potrafi również wykorzystywać tak zwane surowe urządzenia (niesformatowane partycje).

Dane w bazie Oracle przechowywane są w tabelach znajdujących się w przestrzeniach tabel (tablespace). Pojedyncza przestrzeń tabel może rozciągać się na wiele plików danych natomiast pojedynczy plik może należeć tylko do jednej przestrzeni. Przestrzeń tabel może logicznie składać się z różnego rodzaju segmentów (zbiorów bloków danych zaalokowanych na rzecz obiektu bazodanowego). Segment jest natomiast grupą extentów, które z kolei są ciągłymi zestawem bloków danych. Bloki są najmniejszą jednostką alokacji przestrzeni. Baza danych Oracle potrafi posługiwać się blokami różnej wielkości.

Najważniejszą przestrzenią tabel dla działania bazy danych jest przestrzeń SYSTEM przechowująca wszelkie słowniki bazy.

[edytuj] Edycje/Wersje

Obecnie System zarządzania bazą danych - SZBD - (ang. RDBMS) Oracle jest dystrybuowany w wersji 11g (Oficjalna premiera odbyła się 11.07.2007). Dostępne są różnorodne edycje SZBD Oracle różniące się możliwościami a co za tym idzie ceną.

W tej chwili dostępne są:

  • Oracle Enterprise Edition
  • Oracle Standard Edition
  • Oracle Standard Edition One
  • Oracle Express Edition (pierwsza wersja beta zostaÅ‚a udostÄ™pniona publicznie 28.10.2005)
  • Oracle Personal
  • Oracle Lite


Oracle Enterprise Edition jest standarowym i najbardziej rozbudowanym produktem firmy Oracle i może być dodatkowo rozszerzany o opcje np. takie jak: partycjonowanie tabel, RAC, zaawansowane bezpieczeństwo itd.

Oracle Standard Edition tańsza edycja bazy danych Oracle pozbawiona możliwości rozbudowy o opcje, nie posiadająca wszystkich możliwości edycji Enterprise (brak np. mechanizmu DataGuard) oraz ograniczona ilością procesorów na jakiej można ją uruchomić.

Oracle Standard Edition One pierwszy raz ukazała się wraz z wersją 10g. Jest to tania edycja bazy danych Oracle nie różniąca się niczym w stosunku do Oracle Standard Edition poza ograniczeniami licencyjnymi takimi między innymi jak: brak możliwości uruchomienia w konfiguracji klastrowej, ograniczenie na pracę w maszynach mających możliwość instalacji maksymalnie dwóch procesorów.

Oracle Express Edition (nie należy jej mylić z wielowymiarową bazą danych Oracle Express) jest darmową, ale bardzo ograniczoną (między innymi wykorzystanie jednego procesora, wykorzystanie maksymalnie 1GB RAM, obsługa maksymalnie 4GB danych użytkownika) edycją SZBD Oracle. Oracle Express Edition jest prezentowana po raz pierwszy w wersji 10gR2.

Oracle Personal jest edycją w pełni funkcjonalną, kompatybilną z dowolną wersją rodziny relacyjnych baz danych Oracle, przeznaczoną do użytku indywidualnego.

Oracle Lite jest systemem zarządzania bazą danych przeznaczonym do zastosowań mobilnych.

Od wersji 9i silniki bazy danych pomiędzy wszystkimi edycjami (wyłączając edycję Lite) jest ten sam z wprowadzeniem do niego adekwatnych dla edycji ograniczeń. W wersjach wcześniejszych silniki wersji Standard oraz Enterprise były tworzone osobno.

[edytuj] Linki zewnętrzne


Lekkoatletyka: finał bez Lewandowskiego
Nie udało się Marcinowi Lewandowskiemu awansować do finału biegu na 800 metrów podczas igrzysk olimpijskich w Pekinie.
Niesamowita dramaturgia, udany start Madejczyk
Niesamowitą dramaturgię miał przebieg konkursu w rzucie oszczepem kobiet podczas igrzysk olimpijskich w Pekinie.
Sensacja: Amerykanie zgubili pałeczkę, Polacy - też
W finale męskich sztafet 4x100 m zabraknie Amerykanów, którzy zdobywali medale nieprzerwanie od 1988 roku. Zawodnicy USA w pierwszym biegu półfinałowym zgubili pałeczkę na czwartej zmianie.
Taekwondo: triumf Su-Jeong Lim
Reprezentantka Korei Płd. Su-Jeong Lim zdobyła złoty medal w taekwondo w kategorii 57 kg podczas igrzysk olimpijskich w Pekinie.
Niewiarygodny Rosjanin, Polak poza "10"
Rosjanin Andriej Mojsiejew powtórzył sukces sprzed czterech lat z Aten i wygrał rywalizację w pięcioboju nowoczesnym podczas igrzysk olimpijskich w Pekinie. Został tym samym pierwszym zawodnikiem od ponad 50 lat, który obronił mistrzowski tytuł. Najlepszy z Polaków Marcin Horbacz był 13.
Linki: Strona g³ówna