Administrowanie systemami baz
danych
Ćwiczenia laboratoryjne (1)
Podstawy uruchamiania serwera bazy danych
- 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.
- W jednej z Twoich sesji
(będziemy ją nazywać Sesją A) uruchom program SQL*Plus
i zaloguj się jako „sys
as sysdba”.
- Uruchom serwer bazy
danych w trybie Open, korzystając z domyślnego
pliku parametrów.
- 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
- Nie wylogowując
użytkownika „scott” (Sesja B), spróbuj zatrzymać
serwer bazy danych w trybie Normal. Co się stało
i dlaczego?
- Wyloguj użytkownika „scott” z bazy danych. Czy teraz doszło do zatrzymania
serwera?
- Uruchom ponownie serwer
bazy danych (Sesja A).
- W innej sesji (Sesja B)
zaloguj się ponownie jako „scott”.
Wstaw jeden rekord do tabeli Zespoly. Nie
zatwierdzaj transakcji.
- Nie wylogowując
użytkownika „scott” (Sesja B), spróbuj zatrzymać
serwer bazy danych w trybie Transactional. Co
się stało i dlaczego?
- Zatwierdź transakcję
rozpoczętą przez użytkownika „scott”. Następnie
spróbuj wykonać zapytanie do tabeli Zespoly. Co
się stało i dlaczego?
- Uruchom ponownie serwer
bazy danych (Sesja A).
- W innej sesji (Sesja B)
zaloguj się ponownie jako „scott”.
- 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
- Uruchom serwer bazy
danych w trybie Nomount (Sesja A).
- W innej sesji (Sesja B)
spróbuj zalogować się jako „scott”.
Co się stało i dlaczego?
- Wprowadź serwer bazy
danych w tryb Mount, a następnie Open.
- W innej sesji (Sesja B)
spróbuj zalogować się jako „scott”.
- Jako administrator
(Sesja A), przełącz serwer bazy danych w tryb Restricted
Session.
- Sprawdź, czy nadal zalogowany użytkownik „scott”
może wykonywać zapytania do bazy danych.
- Wyloguj użytkownika „scott” (Sesja B), a następnie spróbuj zalogować ponownie. Co się stało i dlaczego?
- 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 „scott” zalogowanego
do bazy danych.
Zarządzanie sesjami użytkowników
- 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”?
- Jako administrator
(Sesja A) przerwij sesję użytkownika „scott”.
Jaki jest teraz status sesji użytkownika „scott”?
- Jako „scott” (Sesja B) spróbuj wykonać zapytanie do bazy
danych. Co się stało i dlaczego?
Obserwacja struktury bazy danych
- Jako administrator
(Sesja A), korzystając z perspektywy v$database
wyświetl nazwę Twojej bazy danych.
- Jako administrator
(Sesja A), korzystając z perspektywy v$controlfile
wyświetl nazwy wszystkich plików kontrolnych Twojej bazy danych.
- Jako administrator
(Sesja A), korzystając z perspektywy v$datafile
wyświetl nazwy wszystkich plików danych Twojej bazy danych.
- Jako administrator
(Sesja A), korzystając z perspektywy v$tempfile
wyświetl nazwy wszystkich plików tymczasowych Twojej bazy danych.
- 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))
- 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.
- 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.
- 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?
- 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).
- 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))
- Zatrzymaj serwer bazy
danych.
- Na poziomie systemu
operacyjnego wykonaj kopię pliku kontrolnego. Ustaw uprawnienia „r” i „w” na pliku-duplikacie.
- Zmodyfikuj plik
parametrów inicjalizacyjnych, dopisując
informacje o drugim egzemplarzu pliku kontrolnego.
- Uruchom serwer bazy
danych w trybie Open.
- 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))
- Korzystając z
perspektywy dba_tablespaces wyświetl nazwy
wszystkich przestrzeni tabel w Twojej bazie danych.
- Z których plików danych
składa się przestrzeń tabel Users? Odpowiedzi
szukaj w perspektywie dba_data_files.
- 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.
- 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.
- Usuń z bazy danych
przestrzeń tabel Moja. Pamiętaj o skasowaniu jej plików z dysku.
Logiczne struktury danych
- 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:
- przestrzeń tabel: Users
- rozmiar pierwszego ekstentu: 40K
- rozmiar drugiego ekstentu: 64K
- procentowy wzrost
rozmiaru następnych ekstentów: 100%
- Jako administrator
(Sesja A), przy pomocy perspektywy dba_extents
odczytaj informacje o ekstentach zaalokowanych
dla tabeli Faktury. Ile ekstentów posiada ta
tabela?
- Jako „scott” (Sesja B) wstaw jeden przykładowy rekord do tabeli
Faktury.
- Jako „scott” (Sesja B), wielokrotnie korzystając z poleceń „insert select”, powiel
zawartość tabeli Faktury tak, aby uzyskać około 64000 rekordów.
- 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?
- Jako „scott” (Sesja B) usuń wszystkie rekordy tabeli Faktury
przy pomocy polecenia delete.
- 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?
- Jako „scott” (Sesja B), wymuś zwrot niewykorzystywanych ekstentów tabeli Faktury przy pomocy polecenia truncate table.
- 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?
- Jako „scott” (Sesja B), usuń tabelę Faktury z bazy danych.
Obsługa segmentów wycofania
- Jako administrator bazy
danych (Sesja A), wyświetl nazwy, status i nazwy przestrzeni tabel
wszystkich segmentów wycofania.
- Jako administrator
(Sesja A), wyłącz segmenty wycofania Rb1 i Rb2.
- Jako „scott” (Sesja B) spróbuj wstawić nowy rekord do tabeli
Zespoly. Co się stało i dlaczego?
- Jako administrator
(Sesja A), utwórz nowy segment wycofania o nazwie Rb3, umieszczony w
przestrzeni tabel Rbs. Włącz utworzony segment
wycofania.
- Jako „scott” (Sesja B) spróbuj ponownie wstawić rekord do
tabeli Zespoly. Zatwierdź transakcję.
- Jako administrator
(Sesja A), wyłącz, a następnie usuń segment wycofania Rb3.
- Jako administrator
(Sesja A), włącz segmenty wycofania Rb1 i Rb2.