Administrowanie systemami baz danych

Ćwiczenia laboratoryjne (1)

 

 

 

Podstawy uruchamiania serwera bazy danych

 

  1. Przy pomocy programu Putty, połącz się z serwerem miner.cs.put.poznan.pl. Dla wygody otwórz dwie sesje w dwóch różnych okienkach.

 

  1. W jednej z Twoich sesji (będziemy ją nazywać Sesją A) uruchom program SQL*Plus i zaloguj się jako „sys as sysdba”.

 

  1. Uruchom serwer bazy danych w trybie Open, korzystając z domyślnego pliku parametrów.

 

  1. Po pomyślnym uruchomieniu serwera, w drugiej sesji systemu operacyjnego (będziemy ją nazywać Sesją B) również uruchom program SQL*Plus i spróbuj zalogować się jako użytkownik „scott” z hasłem „tiger”.

 

Zatrzymywanie serwera bazy danych

 

  1. Nie wylogowując użytkownika „scott” (Sesja B), spróbuj zatrzymać serwer bazy danych w trybie Normal. Co się stało i dlaczego?

 

  1. Wyloguj użytkownika „scott” z bazy danych. Czy teraz doszło do zatrzymania serwera?

 

  1. Uruchom ponownie serwer bazy danych (Sesja A).

 

  1. W innej sesji (Sesja B) zaloguj się ponownie jako „scott”. Wstaw jeden rekord do tabeli Zespoly. Nie zatwierdzaj transakcji.

 

  1. Nie wylogowując użytkownika „scott” (Sesja B), spróbuj zatrzymać serwer bazy danych w trybie Transactional. Co się stało i dlaczego?

 

  1. Zatwierdź transakcję rozpoczętą przez użytkownika „scott”. Następnie spróbuj wykonać zapytanie do tabeli Zespoly. Co się stało i dlaczego?

 

  1. Uruchom ponownie serwer bazy danych (Sesja A).

 

  1. W innej sesji (Sesja B) zaloguj się ponownie jako „scott”.

 

  1. Nie wylogowując użytkownika „scott” (Sesja B), spróbuj zatrzymać serwer bazy danych w trybie Immediate. Co się stało i dlaczego?

 

 

Pozostałe tryby pracy serwera bazy danych

 

  1. Uruchom serwer bazy danych w trybie Nomount (Sesja A).

 

  1. W innej sesji (Sesja B) spróbuj zalogować się jako „scott”. Co się stało i dlaczego?

 

  1. Wprowadź serwer bazy danych w tryb Mount, a następnie Open.

 

  1. W innej sesji (Sesja B) spróbuj zalogować się jako „scott”.

 

  1. Jako administrator (Sesja A), przełącz serwer bazy danych w tryb Restricted Session.

 

  1. Sprawdź, czy nadal zalogowany użytkownik „scott” może wykonywać zapytania do bazy danych.

 

  1. Wyloguj użytkownika „scott” (Sesja B), a następnie spróbuj zalogować ponownie. Co się stało i dlaczego?

 

  1. Jako administrator (Sesja A), wyłącz tryb Restricted Session. Czy teraz użytkownik „scott” może się zalogować do bazy danych (Sesja B)? Pozostaw użytkownika „scottzalogowanego do bazy danych.

 

Zarządzanie sesjami użytkowników

 

  1. Jako administrator (Sesja A), korzystając z perspektywy V$SESSION wykonaj zapytanie wyświetlające listę aktualnych sesji użytkowników. Jaki jest identyfikator, numer seryjny i status sesji użytkownika „scott”?

 

  1. Jako administrator (Sesja A) przerwij sesję użytkownika „scott”. Jaki jest teraz status sesji użytkownika „scott”?

 

  1. Jako „scott” (Sesja B) spróbuj wykonać zapytanie do bazy danych. Co się stało i dlaczego?

 

Obserwacja struktury bazy danych

 

  1. Jako administrator (Sesja A), korzystając z perspektywy v$database wyświetl nazwę Twojej bazy danych.

 

  1. Jako administrator (Sesja A), korzystając z perspektywy v$controlfile wyświetl nazwy wszystkich plików kontrolnych Twojej bazy danych.

 

  1. Jako administrator (Sesja A), korzystając z perspektywy v$datafile wyświetl nazwy wszystkich plików danych Twojej bazy danych.

 

  1. Jako administrator (Sesja A), korzystając z perspektywy v$tempfile wyświetl nazwy wszystkich plików tymczasowych Twojej bazy danych.

 

  1. Jako administrator (Sesja A), korzystając z perspektywy v$logfile wyświetl nazwy wszystkich plików dziennika powtórzeń Twojej bazy danych.

 

Obsługa dziennika powtórzeń (wszystkie kroki jako administrator (Sesja A))

 

  1. Do każdej grupy dziennika powtórzeń dodaj po jednym dodatkowym pliku. Nowe pliki umieść w tym samym katalogu, w którym znajdowały się dotychczasowe pliki dziennika powtórzeń. Zweryfikuj wynik swojej pracy przy pomocy perspektywy v$logfile.

 

  1. Do dziennika powtórzeń dodaj nową grupę o dwóch elementach o rozmiarze 500K każdy. Zweryfikuj wynik swojej pracy przy pomocy perspektywy v$logfile.

 

  1. Która grupa dziennika powtórzeń jest w tej chwili aktywna (v$log)? Wymuś przełączenie dziennika powtórzeń. Która grupa dziennika powtórzeń jest w tej chwili aktywna?

 

  1. Usuń trzecią, dodaną przez Ciebie grupę dziennika powtórzeń. Pamiętaj też o ręcznym skasowaniu jej plików z dysku (serwer bazy danych nie usunie plików).

 

  1. Usuń po jednym, dodanym wcześniej, pliku z pozostałych grup dziennika powtórzeń tak, aby przywrócić stan sprzed ćwiczenia. Pamiętaj też o ręcznym skasowaniu tych plików z dysku.

 

Dublowanie pliku kontrolnego (wszystkie kroki jako administrator (Sesja A))

 

  1. Zatrzymaj serwer bazy danych.

 

  1. Na poziomie systemu operacyjnego wykonaj kopię pliku kontrolnego. Ustaw uprawnienia „r” i „w” na pliku-duplikacie.

 

  1. Zmodyfikuj plik parametrów inicjalizacyjnych, dopisując informacje o drugim egzemplarzu pliku kontrolnego.

 

  1. Uruchom serwer bazy danych w trybie Open.

 

  1. Korzystając z perspektywy v$controlfile wyświetl nazwy wszystkich plików kontrolnych Twojej bazy danych. Czy utworzony duplikat jest widoczny?

 

Obsługa przestrzeni tabel (wszystkie kroki jako administrator (Sesja A))

 

  1. Korzystając z perspektywy dba_tablespaces wyświetl nazwy wszystkich przestrzeni tabel w Twojej bazie danych.

 

  1. Z których plików danych składa się przestrzeń tabel Users? Odpowiedzi szukaj w perspektywie dba_data_files.

 

  1. Utwórz nową przestrzeń tabel Moja, składającą się z jednego pliku danych o nazwie Moja01.dbf i rozmiarze 5M. Przestrzeń Moja powinna być zarządzana przez słownik danych (extent management dictionary). Zweryfikuj wynik swojej pracy przy pomocy perspektyw dba_tablespaces i dba_data_files.

 

  1. W celu powiększenia rozmiaru przestrzeni tabel Moja, dodaj do niej drugi plik danych o nazwie Moja02.dbf i rozmiarze 5M. Zweryfikuj wynik swojej pracy przy pomocy perspektywy dba_data_files.

 

  1. Usuń z bazy danych przestrzeń tabel Moja. Pamiętaj o skasowaniu jej plików z dysku.

 

Logiczne struktury danych

 

  1. Jako użytkownik „scott” utwórz w bazie danych tabelę Faktury(numer number(8), kwota number (10,2), odbiorca varchar2(50)) o następujących parametrach składowania:

 

    1. przestrzeń tabel: Users
    2. rozmiar pierwszego ekstentu: 40K
    3. rozmiar drugiego ekstentu: 64K
    4. procentowy wzrost rozmiaru następnych ekstentów: 100%

 

  1. Jako administrator (Sesja A), przy pomocy perspektywy dba_extents odczytaj informacje o ekstentach zaalokowanych dla tabeli Faktury. Ile ekstentów posiada ta tabela?

 

  1. Jako „scott” (Sesja B) wstaw jeden przykładowy rekord do tabeli Faktury.

 

  1. Jako „scott” (Sesja B), wielokrotnie korzystając z poleceń „insert select”, powiel zawartość tabeli Faktury tak, aby uzyskać około 64000 rekordów.

 

  1. Jako administrator (Sesja A), przy pomocy perspektywy dba_extents ponownie odczytaj informacje o ekstentach zaalokowanych dla tabeli Faktury. Ile teraz ekstentów posiada ta tabela?

 

  1. Jako „scott” (Sesja B) usuń wszystkie rekordy tabeli Faktury przy pomocy polecenia delete.

 

  1. Jako administrator (Sesja A), przy pomocy perspektywy dba_extents ponownie odczytaj informacje o ekstentach zaalokowanych dla tabeli Faktury. Ile teraz ekstentów posiada ta tabela i dlaczego?

 

  1. Jako „scott” (Sesja B), wymuś zwrot niewykorzystywanych ekstentów tabeli Faktury przy pomocy polecenia truncate table.

 

  1. Jako administrator (Sesja A), przy pomocy perspektywy dba_extents ponownie odczytaj informacje o ekstentach zaalokowanych dla tabeli Faktury. Ile teraz ekstentów posiada ta tabela?

 

  1. Jako „scott” (Sesja B), usuń tabelę Faktury z bazy danych.

 

Obsługa segmentów wycofania

 

  1. Jako administrator bazy danych (Sesja A), wyświetl nazwy, status i nazwy przestrzeni tabel wszystkich segmentów wycofania.

 

  1. Jako administrator (Sesja A), wyłącz segmenty wycofania Rb1 i Rb2.

 

  1. Jako „scott” (Sesja B) spróbuj wstawić nowy rekord do tabeli Zespoly. Co się stało i dlaczego?

 

  1. Jako administrator (Sesja A), utwórz nowy segment wycofania o nazwie Rb3, umieszczony w przestrzeni tabel Rbs. Włącz utworzony segment wycofania.

 

  1. Jako „scott” (Sesja B) spróbuj ponownie wstawić rekord do tabeli Zespoly. Zatwierdź transakcję.

 

  1. Jako administrator (Sesja A), wyłącz, a następnie usuń segment wycofania Rb3.

 

  1. Jako administrator (Sesja A), włącz segmenty wycofania Rb1 i Rb2.