Programowanie

Oracle (baza danych)

Oracle (baza danych)

Oracle Database to nazwa relacyjnego systemu baz danych stworzonego przez firmę Oracle.

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

Baza danych Oracle składa się z:

[edytuj] Struktura instancji

[edytuj] Struktury Pamięciowe

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ą:

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:

[edytuj] Procesy

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

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:

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ą:

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 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 jednordzeniowych lub jednego procesora dwurdzeniowego.

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