„Relacyjne Bazy Danych (Oracle)” Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. „Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych” Prezentacja dystrybuowana jest bezpłatnie Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Politechnika Łódzka, ul. Żeromskiego 116, 90-924 Łódź, tel. (042) 631 28 83 www.kapitalludzki.p.lodz.pl Kontakt/Bibliografia mgr inż. Piotr Mazur ([email protected]) Bibliografia Dokumentacja bazy danych Oracle Richard J. Staron - „Guerilla Oracle”, Addison Wesley, 2003 Thomas Kyte - „Expert One-on-One Oracle”, Apress, 2003 Sam R.Alapati - „Expert Oracle Database 11g Administration”, Apress 2009 2 Bazy danych Bazę danych można opisać jako zbiór uporządkowanych rekordów przechowywanych w pamięci masowej lub tymczasowej systemu komputerowego Dane przetrzymywane są w rekordach posiadających pola opisujące dany element Danymi w bazie danych są wartości poszczególnych pól 3 Typy baz danych Model płaski Dane przetrzymywane w postaci zbiorów rekordów nie posiadających jawnych relacji pomiędzy sobą Model hierarchiczny Dane uporządkowane w strukturę przypominającą drzewo: każdy węzeł może posiadać pewną ilość węzłów podrzędnych (tzw: dzieci – children), każdy węzeł podrzędny posiada maksymalnie jeden węzeł nadrzędny (tzw: rodzic - parent) 4 Typy baz danych Model relacyjny Model, w którym struktura bazy danych przedstawiana jest za pomocą rekordów powiązanych ze sobą Wiązaniu mogą ulegać różne rodzaje rekordów posiadające różne typy danych oraz nazwy pól Model relacyjny pozwala na odwzorowanie danych w postaci zapewniającej najmniejsze wykorzystanie miejsca 5 Typy baz danych Model obiektowy Model odzwierciedlający dane w postaci obiektów, posiadających takie możliwości jak dziedziczenie lub polimorfizm Model obiektowy pomimo nowatorskiego pojęcia nie przyjął się w środowisku bazodanowym Zaletą modelu obiektowego jest przejrzysty sposób odwzorowania obiektów języka programowania w bazie danych 6 Model relacyjny Baza danych Oracle należy do grupy relacyjnych baz danych Często także określana jest skrótem RDBMS (Relational Database Management System) W relacyjnych bazach dane reprezentowane są w postaci tabel, każda tabela składa się z kolumn, zaś kolumny muszą być określonego (wspieranego przez bazę danych) typu. 7 Model relacyjny W celu unikatowego identyfikowania rekordów niezbędne jest skonfigurowanie ograniczenia, które pozwoli jednoznacznie określić lokację danego rekordu w bazie danych Ograniczenie (Constraint) tego typu określa się mianem klucza głównego (Primary Key) W zależności od bazy danych na klucz główny może składać się jedna lub kilka kolumn 8 Model relacyjny Powiązania (relacje) pomiędzy rekordami określane są mianem kluczy obcych (Foreign Key). Nie oznacza to jednak konieczności istnienia klucza obcego w celu powiązania danych – operacja ta może być wykonywana w całości po stronie aplikacji Korzystanie z kluczy obcych jest jedną z metod pozwalających na utrzymanie integralności danych w bazie 9 Baza danych Oracle Oracle jest bazą danych z niemal 30 letnią tradycją, pierwsza wersja bazy danych pojawiła się w roku 1979 (Oracle V2) Od tego czasu pojawiło się kilkanaście wersji Oracle, z których każda dodawała nowe funkcjonalności, oraz udoskonalała poprzednie 10 Wersje bazy danych Oracle Oracle Express Edition – uproszczona wersja bazy danych, ograniczona do wykorzystania na jednym systemie, darmowa do zastosowań nie komercyjnych Oracle Personal Edition – posiadająca większość możliwości bazy danych Oracle, jednak przeznaczona wyłącznie dla użytkowników oraz programistów baz danych bez możliwości komercyjnego wykorzystania 11 Wersje bazy danych Oracle Oracle Standard Edition – podstawowa wersja bazy dostępna dla korporacji, posiada jednak ograniczenie skali wykorzystania do kilku procesorów jednocześnie Oracle Enteprise Edition – najbardziej zaawansowana wersja bazy danych, wersja ta nie posiada limitu zasobów, pozwala na wykorzystanie wielu procesorów, dużych obszarów pamięci, możliwe jest także budowanie klastrów RAC (Real Application Clusters) 12 Wersje bazy danych Oracle Każda wersja bazy danych posiada specjalną licencję, która pozwala na korzystanie z oprogramowania dla celów edukacyjnych 13 Baza danych Oracle Bazę danych Oracle można bezpłatnie probrać ze strony producenta: http://www.oracle.com/technology/software/index.html Wersja 11g Enterprise Edition dla platform Linux/Windows – około 1.7GB Dokumentacja bazy danych (388 MB) http://www.oracle.com/technology/documentation/index.html Aby pobierać oprogramowanie ze strony Oracle należy posiadać konto w serwisie Oracle Technology Network 14 Instalacja Oracle 11g Oracle certyfikuje systemy operacyjne pod kątem zgodności z instalacją bazy danych Aby uzyskać wsparcie techniczne należy posiadać produkt Oracle zainstalowany na certyfikowanym systemie 15 Instalacja Oracle 11g Pomimo konieczności posiadania certyfikowanego systemu produkty Oracle można zainstalować na niemal każdej platformie systemowej Przykład: Gentoo Linux Przykład: Debian/Ubuntu Linux Aby zainstalować produkty Oracle na niecertyfikowanych platformach należy dokonać odpowiednich modyfikacji w konfiguracji systemu operacyjnego 16 Wymagania Oracle 11g Do instalacji bazy danych Oracle w wersji 11g zalecane jest spełnienie następujących wymagań sprzętowych Minimum 1G pamięci RAM Minimum 2G pamięci SWAP Około 5G miejsca na dysku twardym Procesor 800MHZ lub lepszy 17 Instalacja bazy danych Za instalację bazy danych Oracle odpowiedzialne jest narzędzie Oracle Universal Installer (OUI) Jest to wielo platformowe narzędzie do instalacji większości produktów Oracle Korzystając z OUI można dodawać, usuwać oraz modyfikować produkty zainstalowane na systemie Przykład: standardowa instalacja bazy danych Oracle 11g składa się z ponad 120 oddzielnych produktów 18 Oracle Universal Installer OUI można uruchomić po rozpakowaniu plików instalacyjnych za pomocą komendy: ./runInstaller W przypadku systemu Windows instalator można uruchomić wykonując plik setup.exe 19 Oracle Universal Installer OUI można uruchomić z pewnymi parametrami, część z nich pomaga w instalacji bazy danych na nie certyfikowanym systemie Parametr -ignoreSysPrereqs pozwala pominięcie testów zgodności systemu z daną wersją bazy danych Oracle Parametr -executeSysPrereqs pozwala na wykonanie jedynie testów zgodności systemu operacyjnego z daną wersją bazy 20 Oracle Universal Installer OUI pozwala także na automatyzację instalacji bazy danych Oracle Aby zautomatyzować instalację bazy należy utworzyć plik z odpowiedziami na pytania zadawane podczas instalacji Przykład uruchomienia: ./runInstaller -silent -responseFile /home/oracle/file.rsp 21 Ustawienia środowiskowe Aby uruchomić bazę danych Oracle należy ustawić kilka zmiennych środowiskowych $ORACLE_HOME – zmienna środowiskowa wskazująca na główny katalog zainstalowanej bazy danych /home/oracle/product/11.1.0/db_1/ $ORACLE_SID – identyfikator systemowy bazy danych 22 Katalog domowy Oracle Katalog domowy bazy danych Oracle identyfikuje daną kopię plików binarnych związanych z bazą danych w systemie plików Katalog domowy wskazuje na miejsce gdzie zostały zainstalowane pliki danej bazy danych 23 Oracle System Identifier Oracle System Identifier (SID) jest unikatową wartością dla każdej bazy danych Oracle zainstalowanej na danym systemie Na jednym systemie może być zainstalowanych kilka baz danych Oracle, każda musi posiadać inną wartość SID Przykład ustawienia wartości w systemie Linux/Unix export ORACLE_SID=orcl 24 Proces instalacji 25 Proces instalacji 26 Proces instalacji 27 Proces instalacji 28 Proces instalacji 29 Proces instalacji 30 Proces instalacji 31 Proces instalacji 32 Proces instalacji 33 Proces instalacji 34 Proces instalacji 35 Proces instalacji 36 Proces instalacji 37 Proces instalacji 38 Proces instalacji 39 Proces instalacji 40 Uruchamianie bazy danych Program SQLPlus zainstalowany w podkatalogu /bin znajdującym się w katalogu ORACLE_HOME Uruchamianie bazy: ./sqlPlus / as sysdba startup Wyłączanie bazy ./sqlPlus / as sysdba shutdown 41 Proces usługi sieciowej Proces TNS Listener odpowiedzialny za komunikację z bazą danych poprzez sieć, uruchamiany za pomocą narzędzia w katalogu /bin Uruchamianie: ./lsnrctl start Sprawdzanie statusu procesu ./lsnrctl status Zatrzymywanie ./lsnrctl stop 42 Oracle Enterprise Manager Narzędzie służące do zarządzania bazą danych Oracle Instalowane automatycznie przez oprogramowanie OUI Konfiguracja poprzez stronę WWW Bogate możliwości konfiguracji Monitorowanie stanu bazy danych, alerty oraz metryki 43 Oracle Enteprise Manager Uruchamiany na tej samej maszynie co zainstalowana baza na porcie 1158 https://localhost:1158/em/ Uruchamianie ./emctl start dbconsole Zatrzymywanie ./emctl stop dbconsole 44 „Relacyjne Bazy Danych (Oracle)” Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. „Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych” Prezentacja dystrybuowana jest bezpłatnie Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Politechnika Łódzka, ul. Żeromskiego 116, 90-924 Łódź, tel. (042) 631 28 83 www.kapitalludzki.p.lodz.pl