![]() Logo programu | |
Autor | Oracle Corporation |
---|---|
Aktualna wersja stabilna | 21c (13 stycznia 2021) [±] |
System operacyjny | Linux, Microsoft Windows, Solaris, HP-UX, AIX[1] |
Rodzaj | System zarządzania relacyjną bazą danych |
Licencja | komercyjna |
Strona internetowa |
Oracle Database – system zarządzania relacyjnymi bazami danych (ang. RDBMS) stworzony przez firmę 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.
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.
System bazy danych Oracle składa się z:
SCHEMA – Schemat jest to zbiór obiektów należących do użytkownika.
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ą:
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ą:
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:
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 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.
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 zestawami 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.
Obecnie system zarządzania bazą danych (SZBD) (ang. DBMS) Oracle jest dystrybuowany w wersji 12c (oficjalna premiera odbyła się 1.07.2013[2]). Dostępne są różnorodne edycje SZBD Oracle różniące się możliwościami, a co za tym idzie i ceną.
W tej chwili dostępne są:
Od wersji 9i silnik 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.