<Insert Picture Here> 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 • 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 • 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 • 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 • [email protected] • 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 Elementy składowe bazy Oracle Instance SMON PMON Others RECO SGA Shared pool Database buffer cache Redo log buffer DBWn CKPT Library cache Data dictionary cache PGA Server process User process Data files Control files Database LGWR Redo log files ARCn Archived log files Wykonanie operacji SELECT w bazie Shared pool Library cache Result cache Database buffer cache Data dictionary cache Server process Jest w Result cache Nie ma w Result cache, pobieram z dysku Select salary From employees User process 5500 Data files Wykonanie transakcji w bazie Update/Insert Shared pool Update employees Server process Database buffer cache New=7000 New=7000 Undo=5500 Undo=5500 LGWR Synchronicznie z DBWn Asynchronicznie operacją Commit Set salary=7000 Commit Redo log buffer Commit complete User process Redo log files Data files Zarządzanie pamięcią • Manualne • 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 • Należy ustawić • 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 RDBMS Oracle Net Oracle Net Klient Sieć TCP/IP 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 Dziękuję za uwagę i zapraszam na ćwiczenia