Administracja serwerem bazy danych Oracle 11g Instancja i dostęp do bazy danych Wykład nr 1 Michał Szkopiński
Struktura przedmiotu 12 godzin wykładów 26 godzin ćwiczeń 6 spotkań x 2 godziny 26 godzin ćwiczeń 13 laboratoriów x 2 godziny (12 x 2 godz) W trakcie laboratoriów wykonywanie typowych zadań administracyjnych na dostarczonej maszynie wirtualnej Możliwość wykonywania dodatkowych zadań domowych Test końcowy Na ostatnim zjeździe w trakcie ostatniej tury laboratoriów
Agenda przedmiotu Wykład 1 Wykład 2 Wykład 3 Wykład 4 Zapoznanie się ze środowiskiem maszyny wirtualnej System operacyjny Linux Omówienie struktury bazy danych Oracle oraz wykonanie podstawowych operacji Wykład 2 Zarządzanie strukturą bazy danych (przestrzenie tabel, pliki segmenty extenty i bloki danych) Wykład 3 Zarządzanie użytkownikami i bezpieczeństwem danych Wykład 4 Zarządzanie obiektami bazy danych (tabele, widoki, indeksy, sekwencje, itp)
Agenda przedmiotu cd. Wykład 5 Wykład 6 Wykonywanie kopii zapasowych i odtwarzanie Wykład 6 Monitorowanie i poprawianie wydajności bazy danych Instalowanie aktualizacji
Kilka słów o prowadzącym ... Michał Szkopiński michal.szkopinski@gmail.com Pracownik Oracle Polska od 11 lat Tester, Programista, Administrator Oracle, Konsultant wdrożeniowy Architekt rozwiązań Oracle Fusion Middleware Wykładowca WSISiZ w Warszawie Zainteresowania Nurkowanie, narty, wspinaczka, podróże
Oracle Database 11g
Podstawowe zadania administracyjne Instalowanie oprogramowania bazy danych na dostępnym sprzęcie Tworzenie instancji bazy danych Zamykanie i otwieranie bazy danych. Dostęp przez sieć, zmiany parametrów startowych Zarządzanie strukturą bazy Zarządzanie użytkownikami i bezpieczeństwem Wykonywanie kopii zapasowych i odtwarzanie po awarii Monitorowanie wydajności i jej poprawa Instalowanie aktualizacji
Narzędzia administracyjne Oracle Universal Installer (OUI) – instalowanie oprogramowania Oracle Oracle Database Configuration Assistance – tworzenie instancji bazy z szablonów lub od zera SQL PLUS (sqlplus) – konsola z wierszem poleceń Enterprise Manager (emctl) – graficzne narzędzie administracyjne Recovery Manager (rman) – tworzenie kopii i odtwarzanie LISTENER (lsnrctl) – bramka sieciowa do połączeń zdalnych
Elementy składowe bazy Oracle (1) Pliki Data files – pliki z danymi Control files – przechowuje fizyczną strukturę bazy (gdzie są inne pliki potrzebne do uruchomienia instancji) Redo log files – pliki przechowujące zmiany w danych Archive log files – archiwalne redo logi PFILE & SPFILE – pliki z parametrami inicjalizującymi instancję bazy
Elementy składowe bazy Oracle (2) Procesy SMON – System monitor – odtwarza bazę danych po awarii instancji PMON – Process monitor – sprząta po awari procesu użytkownika DBW – database writer – zapisuje zmienione bloki danych z pamięci w plikach na dysku (data files) LGWR – log writer – zapisuje zmiany w plikach redo logów CKPT – checkpoint – informuje o potrzebie zrzucenia wszystkich zmian z pamięci do plików na dyskach (data files, redo logs) ARC – archiver – kopiuje wypełnione redo logi do innej lokalizacji
Elementy składowe bazy Oracle (3) Pamięć SGA – System Global Area – wspólny obszar pamięci dla całej instancji bazy Shared Pool – bufor na polecenia SQL wpółdzielone między użytkownikami Database buffer cache – bufor bloków danych pobranych z plików Redo log buffer – bufor redo logów Java Pool – do uruchamiania kodu Java Large Pool PGA – Program Global Area – procesy serwera obsługujące sesje użytwkoników Large Pool używany opcjonalnie do: - Wykonywania kopii i odtwarzania - Gdy server pracuje w tybie Shared Server - Do wykonywania zapytań równoległych parraler queries
Elementy składowe bazy Oracle Instance SMON PMON RECO Others SGA Shared pool Database buffer cache Redo log buffer Library cache Data dictionary cache PGA Server process DBWn CKPT LGWR ARCn Database User process Archived log files Control files Redo log files Data files
Wykonanie operacji SELECT w bazie Shared pool Data dictionary cache Library cache Result Database buffer cache Server process Jest w Result cache Nie ma w Result cache, pobieram z dysku Data files Select salary From employees 5500 User process
Wykonanie transakcji w bazie Update/Insert Shared pool Redo log buffer New=7000 Undo=5500 Database buffer cache New=7000 Undo=5500 Server process DBWn LGWR Synchronicznie z operacją Commit Update employees Set salary=7000 Asynchronicznie Redo log files Data files Commit complete User process Commit
Zarządzanie pamięcią Manualne Automatyczne Samodzielnie określamy parametry poszczególnych buforów Należy ustawić SGA_MAX_SIZE = nM MEMORY_TARGET=0 Automatyczne Serwer bazy samodzielnie będzie zarządzał przydziałem pamięci dla poszczególnych buforów w SGA i PGA MEMORY_TARGET= nM MEMORY_MAX_TARGET = nM
Sprawdzanie parametrów pamięci Za pomocą sqlplus: Polecenie „show parameter” memory_target sga_max_size pool – pokaże wszystkie parametry zawierające w nazwie „pool” np: java_pool_size, shared_pool_size itp. Poleceniem SELECT z widoku V$SGA V$SGASTAT V$PGASTAT V$MEMORY_DYNAMIC_COMPONENTS
Uruchamianie instancji bazy Bazę uruchamia się w 3 etapach NOMOUNT, MOUNT, OPEN NOMOUNT Tworzy obszar SGA wraz z poszczególnymi buforami i procesami serwera Czytany jest plik inicjalizacyjny PFILE lub SPFILE MOUNT Czytany jest plik kontrolny CONTROL FILE Sprawdzana jest spójność plików bazy danych W tym trybie można odzyskiwać bazę po awarii OPEN Otwierane są wszystkie pozostałe pliki danych oraz redo logi Baza gotowa jest do użycia
Polecenia do uruchamiania bazy Normalne uruchomienie bazy danych startup Uruchomienie w trybie nomount (tylko przydzielenie pamięci wraz z procesami instancji) startup nomount Uruchomienie w trybie MOUNT startup mount Zmiana trybu pracy instancji bazy alter database mount[open]
Zamykanie bazy danych Bazę danych można zamknąć na 4 sposoby shutdown normal Czeka aż wszyscy użytkownicy rozłączą się shutdown transactional Czeka na zakończenie wszystkich transakcji shutdown immediate Kończy natychmiast wszystkie transakcje poprzez Rollback shutdown abort Natychmiast kończy pracę wszystkich procesów instancji Ponowne uruchomienie wymaga odtworzenia (operacja automatyczna)
Nasłuch sieciowy – Oracle Listener Listener to proces który zarządza połączeniami sieciowymi z instancją bazy Listener port 1521 Aplikacja Oracle Net RDBMS Oracle Net Sieć TCP/IP Klient Server Bazy danych
Zarządzanie Listener-em Do zarządzania Listener-em służy polecenie lsnrctl Uruchomienie lsnrctl start Zatrzymanie lsnrctl stop Sprawdzenie statusu lsnrctl status
Konfiguracja połączeń sieciowych (1) Po stronie SERWERA bazy danych konfiguruje się proces LISTENER-a w pliku $ORACLE_HOME/network/admin/listener.ora LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = oracle1.localdomain) (PORT = 1521))))
Konfiguracja połączeń sieciowych (2) Po stronie KLIENTA konfiguracja przechowywana jest w pliku $ORACLE_HOME/network/admin/tnsnames.ora ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = oracle1.localdomain) (PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) )
Podłączenie się do bazy danych Do celów administracyjnych używany będzie najczęściej SQL PLUS: Podłączenie lokalne na serwerze bazy danych (bez użycia LISTENER-a) sqlplus user1/pass1 Podłączenie zdalne przez sieć sqlplus user1/pass1@orcl Podłączenie jako administrator - SYS sqlplus sys as sysdba Podłączenie lokalne więc hasło nie jest wymagane sqlplus sys@orcl as sysdba Podłączenie sieciowe więc hasło jest wymagane
Połączenia sieciowe – jak to działa SQLPLUS ala/haslo@baza Rozwiązywanie nazyw baza = (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=myhost.oracle.com)(PORT=1521)) (CONNECT_DATA= (SERVICE_NAME=orcl))) LISTENER port 1521 orcl myhost.oracle.com
zapraszam na ćwiczenia Dziękuję za uwagę i zapraszam na ćwiczenia